Skip to content

Instantly share code, notes, and snippets.

@jandk
Created May 10, 2025 19:53
Show Gist options
  • Save jandk/0a3f28e1fb1baf02d797b79b11951cf0 to your computer and use it in GitHub Desktop.
Save jandk/0a3f28e1fb1baf02d797b79b11951cf0 to your computer and use it in GitHub Desktop.
[
{
"type": "ROOT",
"children": [
"MODEL",
"ANIMATION",
"INSTANCE",
"METADATA"
],
"properties": []
},
{
"type": "MODEL",
"children": [
"SKELETON",
"MESH",
"HAIR",
"BLEND_SHAPE",
"MATERIAL"
],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Position",
"key": "p",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Rotation",
"key": "r",
"types": [
"VECTOR4"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Scale",
"key": "s",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "MESH",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Vertex Position Buffer",
"key": "vp",
"types": [
"VECTOR3"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Vertex Normal Buffer",
"key": "vn",
"types": [
"VECTOR3"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Vertex Tangent Buffer",
"key": "vt",
"types": [
"VECTOR3"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Vertex Color Buffer",
"key": "c%d",
"types": [
"INT",
"VECTOR4"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Vertex UV Buffer",
"key": "u%d",
"types": [
"VECTOR2"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Vertex Weight Bone Buffer",
"key": "wb",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Vertex Weight Value Buffer",
"key": "wv",
"types": [
"FLOAT"
],
"values": [],
"isArray": true,
"required": false
},
{
"name": "Face Buffer",
"key": "f",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Color Layer Count",
"key": "cl",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "UV Layer Count",
"key": "ul",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Maximum Weight Influence",
"key": "mi",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Skinning Method",
"key": "sm",
"types": [
"STRING"
],
"values": [
"linear",
"quaternion"
],
"isArray": false,
"required": false
},
{
"name": "Material",
"key": "m",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "HAIR",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Segments Buffer",
"key": "se",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Particle Buffer",
"key": "pt",
"types": [
"VECTOR3"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Material",
"key": "m",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "BLEND_SHAPE",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Base Shape",
"key": "b",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Target Shape Vertex Indices",
"key": "vi",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Target Shape Vertex Positions",
"key": "vp",
"types": [
"VECTOR3"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Target Weight Scale",
"key": "ts",
"types": [
"FLOAT"
],
"values": [],
"isArray": true,
"required": false
}
]
},
{
"type": "SKELETON",
"children": [
"BONE",
"IK_HANDLE",
"CONSTRAINT"
],
"properties": []
},
{
"type": "BONE",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Parent Index",
"key": "p",
"types": [
"INT"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Segment Scale Compensate",
"key": "ssc",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Local Position",
"key": "lp",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Local Rotation",
"key": "lr",
"types": [
"VECTOR4"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "World Position",
"key": "wp",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "World Rotation",
"key": "wr",
"types": [
"VECTOR4"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Scale",
"key": "s",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "IK_HANDLE",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Start Bone Hash",
"key": "sb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "End Bone Hash",
"key": "eb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Target Bone Hash",
"key": "tb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Pole Vector Bone Hash",
"key": "pv",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Pole Bone Hash",
"key": "pb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Use Target Rotation",
"key": "tr",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
}
]
},
{
"type": "CONSTRAINT",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Constraint Type",
"key": "ct",
"types": [
"STRING"
],
"values": [
"sc",
"or",
"pt"
],
"isArray": false,
"required": true
},
{
"name": "Constraint Bone Hash",
"key": "cb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Target Bone Hash",
"key": "tb",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Maintain Offset",
"key": "mo",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Custom Offset",
"key": "co",
"types": [
"VECTOR3",
"VECTOR4"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Weight",
"key": "wt",
"types": [
"FLOAT"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Skip X",
"key": "sx",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Skip Y",
"key": "sy",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Skip Z",
"key": "sz",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
}
]
},
{
"type": "ANIMATION",
"children": [
"SKELETON",
"CURVE",
"CURVE_MODE_OVERRIDE",
"NOTIFICATION_TRACK"
],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Framerate",
"key": "fr",
"types": [
"FLOAT"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Looping",
"key": "lo",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
}
]
},
{
"type": "CURVE",
"children": [],
"properties": [
{
"name": "Node Name",
"key": "nn",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Key Property Name",
"key": "kp",
"types": [
"STRING"
],
"values": [
"bs",
"tx",
"ty",
"sx",
"tz",
"sy",
"sz",
"vb",
"rq"
],
"isArray": false,
"required": true
},
{
"name": "Key Frame Buffer",
"key": "kb",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Key Value Buffer",
"key": "kv",
"types": [
"BYTE",
"SHORT",
"INT",
"FLOAT",
"VECTOR4"
],
"values": [],
"isArray": true,
"required": true
},
{
"name": "Mode",
"key": "m",
"types": [
"STRING"
],
"values": [
"absolute",
"additive",
"relative"
],
"isArray": false,
"required": true
},
{
"name": "Additive Blend Weight",
"key": "ab",
"types": [
"FLOAT"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "CURVE_MODE_OVERRIDE",
"children": [],
"properties": [
{
"name": "Node Name",
"key": "nn",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Mode",
"key": "m",
"types": [
"STRING"
],
"values": [
"absolute",
"additive",
"relative"
],
"isArray": false,
"required": true
},
{
"name": "Override Translation Curves",
"key": "ot",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Override Rotation Curves",
"key": "or",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
},
{
"name": "Override Scale Curves",
"key": "os",
"types": [
"BYTE"
],
"values": [
"True",
"False"
],
"isArray": false,
"required": false
}
]
},
{
"type": "NOTIFICATION_TRACK",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Key Frame Buffer",
"key": "kb",
"types": [
"BYTE",
"SHORT",
"INT"
],
"values": [],
"isArray": true,
"required": true
}
]
},
{
"type": "MATERIAL",
"children": [
"FILE",
"COLOR"
],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Type",
"key": "t",
"types": [
"STRING"
],
"values": [
"pbr"
],
"isArray": false,
"required": true
},
{
"name": "Albedo Hash",
"key": "albedo",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Diffuse Hash",
"key": "diffuse",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Normal Hash",
"key": "normal",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Specular Hash",
"key": "specular",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Gloss Hash",
"key": "gloss",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Roughness Hash",
"key": "roughness",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Emissive Hash",
"key": "emissive",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Emissive Mask Hash",
"key": "emask",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Ambient Occlusion Hash",
"key": "ao",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Cavity Hash",
"key": "cavity",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Anisotropy Hash",
"key": "aniso",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Extra",
"key": "extra%d",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": false
}
]
},
{
"type": "FILE",
"children": [],
"properties": [
{
"name": "Path",
"key": "p",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": true
}
]
},
{
"type": "COLOR",
"children": [],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Color Space",
"key": "cs",
"types": [
"STRING"
],
"values": [
"linear",
"srgb"
],
"isArray": false,
"required": false
},
{
"name": "Rgba Color",
"key": "rgba",
"types": [
"VECTOR4"
],
"values": [],
"isArray": false,
"required": true
}
]
},
{
"type": "INSTANCE",
"children": [
"FILE"
],
"properties": [
{
"name": "Name",
"key": "n",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Reference File",
"key": "rf",
"types": [
"LONG"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Position",
"key": "p",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Rotation",
"key": "r",
"types": [
"VECTOR4"
],
"values": [],
"isArray": false,
"required": true
},
{
"name": "Scale",
"key": "s",
"types": [
"VECTOR3"
],
"values": [],
"isArray": false,
"required": true
}
]
},
{
"type": "METADATA",
"children": [],
"properties": [
{
"name": "Author",
"key": "a",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Software",
"key": "s",
"types": [
"STRING"
],
"values": [],
"isArray": false,
"required": false
},
{
"name": "Up Axis",
"key": "up",
"types": [
"STRING"
],
"values": [
"x",
"y",
"z"
],
"isArray": false,
"required": false
}
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment