-
Notifications
You must be signed in to change notification settings - Fork 0
RiggedSimple glTF conversion
RiggedSimple at https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/RiggedSimple includes skeletal animation in a simple manner. The example was originally created in Blender, then exported as Collada and converted to glTF with collada2gltf.
To make manual porting easier, the glTF was cleaned from redundant and no-op animation content: https://github.com/andreasplesch/glTF-Sample-Models/tree/simpleRiggedSimple/2.0/RiggedSimple/glTF
{
"asset": {
"generator": "COLLADA2GLTF, manual cleaning",
"version": "2.0"
},
"scene": 0,
"scenes": [
{
"nodes": [
0
]
}
],
"nodes": [
{
"children": [
2,
1
],
"matrix": [
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-1.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0
]
},
{
"mesh": 0,
"skin": 0
},
{
"children": [
3
],
"translation": [
0.0,
-3.156060017772689e-7,
-4.1803297996521
],
"rotation": [
-0.7047404050827026,
-0.0,
-0.0,
-0.7094652056694031
]
},
{
"translation": [
0.0,
4.18717098236084,
0.0
]
},
{
"_children": [
2
]
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"JOINTS_0": 1,
"NORMAL": 2,
"POSITION": 3,
"WEIGHTS_0": 4
},
"indices": 0,
"mode": 4,
"material": 0
}
],
"name": "Cylinder"
}
],
"materials": [
{
"pbrMetallicRoughness": {
"baseColorFactor": [
0.27963539958000185,
0.6399999856948853,
0.21094389259815217,
1.0
],
"metallicFactor": 0.0
},
"emissiveFactor": [
0.0,
0.0,
0.0
],
"name": "Material_001-effect"
}
],
"animations": [
{
"channels": [
{
"sampler": 0,
"target": {
"node": 3,
"path": "rotation"
}
}
],
"samplers": [
{
"input": 5,
"interpolation": "LINEAR",
"output": 6
}
]
}
],
"skins": [
{
"inverseBindMatrices": 7,
"skeleton": 2,
"joints": [
2,
3
],
"name": "Armature"
}
],
"accessors": [
{
"bufferView": 0,
"byteOffset": 0,
"componentType": 5123,
"count": 564,
"max": [
95
],
"min": [
0
],
"type": "SCALAR"
},
{
"bufferView": 1,
"byteOffset": 0,
"componentType": 5123,
"count": 96,
"max": [
1,
1,
0,
0
],
"min": [
0,
0,
0,
0
],
"type": "VEC4"
},
{
"bufferView": 2,
"byteOffset": 0,
"componentType": 5126,
"count": 96,
"max": [
0.998198390007019,
0.998198390007019,
0.6888381242752075
],
"min": [
-0.998198390007019,
-0.998198390007019,
-0.6444730758666992
],
"type": "VEC3"
},
{
"bufferView": 2,
"byteOffset": 1152,
"componentType": 5126,
"count": 96,
"max": [
1.0,
1.0,
4.575077056884766
],
"min": [
-1.0,
-0.9999995827674866,
-4.575077056884766
],
"type": "VEC3"
},
{
"bufferView": 3,
"byteOffset": 0,
"componentType": 5126,
"count": 96,
"max": [
1.0,
0.26139819622039797,
0.0,
0.0
],
"min": [
0.738601803779602,
0.0,
0.0,
0.0
],
"type": "VEC4"
},
{
"bufferView": 4,
"byteOffset": 12,
"componentType": 5126,
"count": 3,
"max": [
2.083333015441895
],
"min": [
0.04166661947965622
],
"type": "SCALAR"
},
{
"bufferView": 5,
"byteOffset": 48,
"componentType": 5126,
"count": 3,
"max": [
0.2933785021305084,
-9.947898149675895e-8,
-0.0002783441450446844,
-0.9559963345527648
],
"min": [
-0.0020521103870123626,
-0.00008614854596089572,
-0.00029137087403796613,
-0.999997854232788
],
"type": "VEC4"
},
{
"bufferView": 6,
"byteOffset": 0,
"componentType": 5126,
"count": 2,
"max": [
1.0,
0.0,
0.0000013948100558991428,
0.0,
0.000002896920022976701,
0.006681859027594328,
-0.9999778270721436,
0.0,
0.0005827349959872663,
0.9999966025352478,
0.006681739818304777,
0.0,
0.0,
4.18023681640625,
0.02795993909239769,
1.0
],
"min": [
0.9999998807907105,
-0.0005827400018461049,
0.0,
0.0,
0.0,
0.002577662002295256,
-0.9999967217445374,
0.0,
0.0,
0.999977707862854,
0.002577601931989193,
0.0,
-0.000004012620138382772,
-0.006818830035626888,
0.027931740507483484,
1.0
],
"type": "MAT4"
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 5000,
"byteLength": 1128,
"target": 34963
},
{
"buffer": 0,
"byteOffset": 4208,
"byteLength": 768,
"byteStride": 8,
"target": 34962
},
{
"buffer": 0,
"byteOffset": 1904,
"byteLength": 2304,
"byteStride": 12,
"target": 34962
},
{
"buffer": 0,
"byteOffset": 224,
"byteLength": 1536,
"byteStride": 16,
"target": 34962
},
{
"buffer": 0,
"byteOffset": 4976,
"byteLength": 24
},
{
"buffer": 0,
"byteOffset": 128,
"byteLength": 96
},
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 128
}
],
"buffers": [
{
"byteLength": 6128,
"uri": "data:application/octet-stream;base64,AACAPwAAAAAAAAAAAAAAAAAAAAB/89o7jP5/vwAAAAAAAAAAiv5/P3/y2jsAAAAAAAAAAIDEhUAb0eQ8AACAP/7/fz8Fwxi6TzW7NQAAAAC1aEI2/u0oO8n/f78AAAAAr8IYOsf/fz/87Cg7AAAAACWkhrZ+cN+7PgzlPAAAgD/eaTS/AAAAgAAAAICDnzW/3mk0vwAAAIAAAACAg581v95pNL8AAACAAAAAgIOfNb+zfAa7JqHVsyPDmLnc/3+/tTWWPqaqtLi47pG5Lbx0v7N8BrsmodWzI8OYudz/f78AAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAABBU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAEFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAABBU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAQVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAACFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAEFT0//NWFPgAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAIVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAhU9P/zVhT4AAAAAAAAAAAQVPT/81YU+AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAABBU9P/zVhT4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAAAAj3CptEPFhcAAAAAAj3CptEPFhcAAAAAAj3CptEPFhcAAAIA/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AgACAAEABAAEAAMABgAGAAUACAAIAAcACgAKAAkADAAMAAsADgAOAA0AEAAQAA8AEgASABEAFAAUABMAFgAWABUAGAAYABcAGgAaABkAHAAcABsAHgAeAB0AIAAgAB8AIgAiACEAJAAkACMAJgAmACUAKAAoACcAKgAqACkALAAsACsALgAuAC0AMAAyADAAMQA0ADIAMwBGADQANQBGADUANwA3ADYAOQA5ADgAOwADAAEAAAAAADwAAwA6ADgANgA2ADUAMwAzADEALwAvAC0AMwArACkAJwAnACUAIwAjACEAHwAfAB0AGwAbABkAFwAXABUAEwATABEADwAPAA0AEwALAAkABwAHAAUAAwADADwAOgA6ADYAMwAzAC0AKwArACcAIwAjAB8AEwAbABcAEwATAA0ACwALAAcAAwADADoAMwAzACsAIwAfABsAEwATAAsAAwADADMAEwA+ADwAPQA7ADoAPgBCAEMAXwBfAF4AXQBdAFwAWwBbAFoAQQBBAFkAWABYAFcAQQBWAFUAPwBUAFMAPwA/AFIATwBRAFAATwBPAE4ATQBNAEwAQABAAEsASgBKAEkAQABIAEcARQBFAEQAQgBCAF8AQQBdAFsAQQBBAFcAVgBVAFQAPwBSAFEATwBPAE0AQABAAEkASABIAEUAQABfAF0AQQBBAFYAPwA/AE8AQABAAEUAQgBCAEEAQABEADsAQgBCAD4AQwBFADkARABHADcARQBIAEYARwBJADQASABKADIASQBLADAASgBAAC4ASwBMACwAQABNACoATABOACgATQBPACYATgBQACQATwBRACIAUABSACAAUQA/AB4AUgBTABwAPwBUABoAUwBVABgAVABWABYAVQBXABQAVgBYABIAVwBZABAAWABBAA4AWQBaAAwAQQBbAAoAWgBcAAgAWwBdAAYAXABeAAQAXQBfAAIAXgBDAD0AXwA="
}
]
}
The scene consists of one node which has two children. The first child is a transform hierarchy without a mesh. It needs to be included in the scene graph this way although it also referenced as the root joint by the referenced skin. It needs to be in the scene graph to have a defined world transform. The second child is skinned mesh. The skin skeleton has two joints. The second joint is a child of the first joint.
{
"bufferView": 0,
"byteOffset": 0,
"componentType": 5123,
"count": 564,
"max": [
95
],
"min": [
0
],
"type": "SCALAR"
},
0 1 2 1 3 4 3 5 6 5 7 8 7 9 10 9 11 12 11 13 14 13 15 16 15 17 18 17 19 20 19 21 22 21 23 24 23 25 26 25 27 28 27 29 30 29 31 32 31 33 34 33 35 36 35 37 38 37 39 40 39 41 42 41 43 44 43 45 46 45 47 48 48 47 49 50 49 51 52 51 53 53 54 55 54 56 57 56 58 59 35 19 51 60 0 61 58 60 62 63 64 65 59 62 66 62 61 67 57 59 68 55 57 69 70 55 71 52 70 72 50 52 73 48 50 74 46 48 75 44 46 64 42 44 76 40 42 77 38 40 78 36 38 79 34 36 80 32 34 81 30 32 82 28 30 63 26 28 83 24 26 84 22 24 85 20 22 86 18 20 87 16 18 88 14 16 89 12 14 65 10 12 90 8 10 91 6 8 92 4 6 93 2 4 94 61 2 95 61 0 2 2 1 4 4 3 6 6 5 8 8 7 10 10 9 12 12 11 14 14 13 16 16 15 18 18 17 20 20 19 22 22 21 24 24 23 26 26 25 28 28 27 30 30 29 32 32 31 34 34 33 36 36 35 38 38 37 40 40 39 42 42 41 44 44 43 46 46 45 48 50 48 49 52 50 51 70 52 53 70 53 55 55 54 57 57 56 59 3 1 0 0 60 3 58 56 54 54 53 51 51 49 47 47 45 51 43 41 39 39 37 35 35 33 31 31 29 27 27 25 23 23 21 19 19 17 15 15 13 19 11 9 7 7 5 3 3 60 58 58 54 51 51 45 43 43 39 35 35 31 19 27 23 19 19 13 11 11 7 3 3 58 51 51 43 35 31 27 19 19 11 3 3 51 19 62 60 61 59 58 62 66 67 95 95 94 93 93 92 91 91 90 65 65 89 88 88 87 65 86 85 63 84 83 63 63 82 79 81 80 79 79 78 77 77 76 64 64 75 74 74 73 64 72 71 69 69 68 66 66 95 65 93 91 65 65 87 86 85 84 63 82 81 79 79 77 64 64 73 72 72 69 64 95 93 65 65 86 63 63 79 64 64 69 66 66 65 64 68 59 66 66 62 67 69 57 68 71 55 69 72 70 71 73 52 72 74 50 73 75 48 74 64 46 75 76 44 64 77 42 76 78 40 77 79 38 78 80 36 79 81 34 80 82 32 81 63 30 82 83 28 63 84 26 83 85 24 84 86 22 85 87 20 86 88 18 87 89 16 88 65 14 89 90 12 65 91 10 90 92 8 91 93 6 92 94 4 93 95 2 94 67 61 95
"bufferView": 1,
"byteOffset": 0,
"componentType": 5123,
"count": 96,
"max": [
1,
1,
0,
0
],
"min": [
0,
0,
0,
0
],
"type": "VEC4"
vertex index added
0 0 0 0 0
1 0 0 0 0
2 0 1 0 0
3 0 0 0 0
4 0 1 0 0
5 0 0 0 0
6 0 1 0 0
7 0 0 0 0
8 0 1 0 0
9 0 0 0 0
10 0 1 0 0
11 0 0 0 0
12 0 1 0 0
13 0 0 0 0
14 0 1 0 0
15 0 0 0 0
16 0 1 0 0
17 0 0 0 0
18 0 1 0 0
19 0 0 0 0
20 0 1 0 0
21 0 0 0 0
22 0 1 0 0
23 0 0 0 0
24 0 1 0 0
25 0 0 0 0
26 0 1 0 0
27 0 0 0 0
28 0 1 0 0
29 0 0 0 0
30 0 1 0 0
31 0 0 0 0
32 0 1 0 0
33 0 0 0 0
34 0 1 0 0
35 0 0 0 0
36 0 1 0 0
37 0 0 0 0
38 0 1 0 0
39 0 0 0 0
40 0 1 0 0
41 0 0 0 0
42 0 1 0 0
43 0 0 0 0
44 0 1 0 0
45 0 0 0 0
46 0 1 0 0
47 0 0 0 0
48 0 1 0 0
49 0 0 0 0
50 0 1 0 0
51 0 0 0 0
52 0 1 0 0
53 0 0 0 0
54 0 0 0 0
55 0 1 0 0
56 0 0 0 0
57 0 1 0 0
58 0 0 0 0
59 0 1 0 0
60 0 0 0 0
61 0 1 0 0
62 0 1 0 0
63 1 0 0 0
64 1 0 0 0
65 1 0 0 0
66 1 0 0 0
67 1 0 0 0
68 1 0 0 0
69 1 0 0 0
70 0 1 0 0
71 1 0 0 0
72 1 0 0 0
73 1 0 0 0
74 1 0 0 0
75 1 0 0 0
76 1 0 0 0
77 1 0 0 0
78 1 0 0 0
79 1 0 0 0
80 1 0 0 0
81 1 0 0 0
82 1 0 0 0
83 1 0 0 0
84 1 0 0 0
85 1 0 0 0
86 1 0 0 0
87 1 0 0 0
88 1 0 0 0
89 1 0 0 0
90 1 0 0 0
91 1 0 0 0
92 1 0 0 0
93 1 0 0 0
94 1 0 0 0
95 1 0 0 0
"bufferView": 2,
"byteOffset": 0,
"componentType": 5126,
"count": 96,
"max": [
0.998198390007019,
0.998198390007019,
0.6888381242752075
],
"min": [
-0.998198390007019,
-0.998198390007019,
-0.6444730758666992
],
"type": "VEC3"
0.00000 -0.76464 -0.64446
0.14915 -0.74996 -0.64445
0.19471 -0.97902 0.06000
0.29262 -0.70644 -0.64445
0.38198 -0.92222 0.06000
0.42480 -0.63579 -0.64445
0.55457 -0.82997 0.06000
0.54069 -0.54069 -0.64445
0.70583 -0.70583 0.06000
0.63579 -0.42480 -0.64445
0.82997 -0.55457 0.06000
0.70644 -0.29262 -0.64445
0.92222 -0.38198 0.06000
0.74994 -0.14918 -0.64447
0.97902 -0.19474 0.06000
0.76465 0.00000 -0.64444
0.99820 0.00000 0.06000
0.74996 0.14915 -0.64445
0.97902 0.19474 0.06000
0.70644 0.29262 -0.64445
0.92222 0.38198 0.06000
0.63579 0.42480 -0.64445
0.82997 0.55457 0.06000
0.54069 0.54069 -0.64445
0.70583 0.70583 0.06000
0.42480 0.63579 -0.64445
0.55457 0.82997 0.06000
0.29262 0.70644 -0.64445
0.38198 0.92222 0.06000
0.14915 0.74996 -0.64445
0.19471 0.97902 0.06000
0.00000 0.76464 -0.64446
0.00000 0.99820 0.06000
-0.14918 0.74995 -0.64445
-0.19474 0.97902 0.06000
-0.29262 0.70644 -0.64445
-0.38198 0.92222 0.06000
-0.42479 0.63577 -0.64447
-0.55457 0.82997 0.06000
-0.54069 0.54069 -0.64445
-0.70585 0.70582 0.06000
-0.63579 0.42480 -0.64445
-0.82997 0.55457 0.06000
-0.70644 0.29262 -0.64445
-0.92222 0.38198 0.06000
-0.74996 0.14915 -0.64445
-0.97902 0.19471 0.06000
-0.76463 0.00000 -0.64447
-0.99820 0.00000 0.06000
-0.74995 -0.14918 -0.64445
-0.97902 -0.19474 0.06000
-0.70644 -0.29262 -0.64445
-0.92222 -0.38198 0.06000
-0.63577 -0.42479 -0.64447
-0.54069 -0.54069 -0.64445
-0.70582 -0.70585 0.06000
-0.42480 -0.63579 -0.64445
-0.55457 -0.82997 0.06000
-0.29262 -0.70644 -0.64445
-0.38198 -0.92222 0.06000
-0.14915 -0.74996 -0.64445
0.00000 -0.99820 0.06000
-0.19471 -0.97902 0.06000
0.14143 0.71101 0.68882
-0.71101 0.14143 0.68882
0.71101 -0.14143 0.68882
-0.14143 -0.71101 0.68882
0.00000 -0.72494 0.68881
-0.27742 -0.66976 0.68881
-0.40276 -0.60275 0.68882
-0.82997 -0.55457 0.06000
-0.51260 -0.51260 0.68882
-0.60275 -0.40276 0.68882
-0.66975 -0.27742 0.68882
-0.71101 -0.14143 0.68882
-0.72494 0.00000 0.68881
-0.66973 0.27742 0.68884
-0.60275 0.40276 0.68882
-0.51260 0.51260 0.68882
-0.40276 0.60275 0.68882
-0.27742 0.66975 0.68882
-0.14143 0.71101 0.68882
0.00000 0.72494 0.68881
0.27742 0.66976 0.68881
0.40276 0.60275 0.68882
0.51260 0.51260 0.68882
0.60275 0.40276 0.68882
0.66975 0.27742 0.68882
0.71101 0.14143 0.68882
0.72496 0.00000 0.68879
0.66973 -0.27742 0.68884
0.60275 -0.40276 0.68882
0.51260 -0.51260 0.68882
0.40276 -0.60275 0.68882
0.27742 -0.66976 0.68881
0.14143 -0.71101 0.68882
"bufferView": 2,
"byteOffset": 1152,
"componentType": 5126,
"count": 96,
"max": [
1.0,
1.0,
4.575077056884766
],
"min": [
-1.0,
-0.9999995827674866,
-4.575077056884766
],
"type": "VEC3"
0.00000 -1.00000 -4.57508
0.19509 -0.98078 -4.57508
0.09547 -0.47998 0.00000
0.38268 -0.92388 -4.57508
0.18728 -0.45213 0.00000
0.55557 -0.83147 -4.57508
0.27189 -0.40691 0.00000
0.70711 -0.70711 -4.57508
0.34605 -0.34605 0.00000
0.83147 -0.55557 -4.57508
0.40691 -0.27189 0.00000
0.92388 -0.38268 -4.57508
0.45213 -0.18728 0.00000
0.98079 -0.19509 -4.57508
0.47998 -0.09547 0.00000
1.00000 0.00000 -4.57508
0.48939 -0.00000 0.00000
0.98079 0.19509 -4.57508
0.47998 0.09547 0.00000
0.92388 0.38268 -4.57508
0.45213 0.18728 0.00000
0.83147 0.55557 -4.57508
0.40691 0.27189 0.00000
0.70711 0.70711 -4.57508
0.34605 0.34605 0.00000
0.55557 0.83147 -4.57508
0.27189 0.40691 0.00000
0.38268 0.92388 -4.57508
0.18728 0.45213 0.00000
0.19509 0.98079 -4.57508
0.09547 0.47998 0.00000
-0.00000 1.00000 -4.57508
0.00000 0.48938 0.00000
-0.19509 0.98079 -4.57508
-0.09547 0.47998 0.00000
-0.38268 0.92388 -4.57508
-0.18728 0.45213 0.00000
-0.55557 0.83147 -4.57508
-0.27189 0.40691 0.00000
-0.70711 0.70711 -4.57508
-0.34605 0.34605 0.00000
-0.83147 0.55557 -4.57508
-0.40691 0.27189 0.00000
-0.92388 0.38268 -4.57508
-0.45213 0.18728 0.00000
-0.98079 0.19509 -4.57508
-0.47998 0.09547 0.00000
-1.00000 -0.00000 -4.57508
-0.48939 -0.00000 0.00000
-0.98079 -0.19509 -4.57508
-0.47998 -0.09547 0.00000
-0.92388 -0.38268 -4.57508
-0.45213 -0.18728 0.00000
-0.83147 -0.55557 -4.57508
-0.70711 -0.70711 -4.57508
-0.34605 -0.34605 0.00000
-0.55557 -0.83147 -4.57508
-0.27189 -0.40691 0.00000
-0.38268 -0.92388 -4.57508
-0.18728 -0.45213 0.00000
-0.19509 -0.98079 -4.57508
0.00000 -0.48939 0.00000
-0.09547 -0.47998 0.00000
0.08781 0.44143 4.57508
-0.44143 0.08781 4.57508
0.44143 -0.08781 4.57508
-0.08781 -0.44143 4.57508
0.00000 -0.45008 4.57508
-0.17224 -0.41582 4.57508
-0.25005 -0.37423 4.57508
-0.40691 -0.27189 0.00000
-0.31825 -0.31826 4.57508
-0.37423 -0.25005 4.57508
-0.41582 -0.17224 4.57508
-0.44143 -0.08781 4.57508
-0.45008 -0.00000 4.57508
-0.41582 0.17224 4.57508
-0.37423 0.25005 4.57508
-0.31825 0.31825 4.57508
-0.25005 0.37423 4.57508
-0.17224 0.41582 4.57508
-0.08781 0.44143 4.57508
0.00000 0.45008 4.57508
0.17224 0.41582 4.57508
0.25005 0.37423 4.57508
0.31825 0.31825 4.57508
0.37423 0.25005 4.57508
0.41582 0.17224 4.57508
0.44143 0.08781 4.57508
0.45008 -0.00000 4.57508
0.41582 -0.17224 4.57508
0.37423 -0.25005 4.57508
0.31825 -0.31825 4.57508
0.25005 -0.37423 4.57508
0.17224 -0.41582 4.57508
0.08781 -0.44143 4.57508
"bufferView": 3,
"byteOffset": 0,
"componentType": 5126,
"count": 96,
"max": [
1.0,
0.26139819622039797,
0.0,
0.0
],
"min": [
0.738601803779602,
0.0,
0.0,
0.0
],
"type": "VEC4"
vertex index added
0 1.00000 0.00000 0.00000 0.00000
1 1.00000 0.00000 0.00000 0.00000
2 0.73860 0.26140 0.00000 0.00000
3 1.00000 0.00000 0.00000 0.00000
4 0.73860 0.26140 0.00000 0.00000
5 1.00000 0.00000 0.00000 0.00000
6 0.73860 0.26140 0.00000 0.00000
7 1.00000 0.00000 0.00000 0.00000
8 0.73860 0.26140 0.00000 0.00000
9 1.00000 0.00000 0.00000 0.00000
10 0.73860 0.26140 0.00000 0.00000
11 1.00000 0.00000 0.00000 0.00000
12 0.73860 0.26140 0.00000 0.00000
13 1.00000 0.00000 0.00000 0.00000
14 0.73860 0.26140 0.00000 0.00000
15 1.00000 0.00000 0.00000 0.00000
16 0.73860 0.26140 0.00000 0.00000
17 1.00000 0.00000 0.00000 0.00000
18 0.73860 0.26140 0.00000 0.00000
19 1.00000 0.00000 0.00000 0.00000
20 0.73860 0.26140 0.00000 0.00000
21 1.00000 0.00000 0.00000 0.00000
22 0.73860 0.26140 0.00000 0.00000
23 1.00000 0.00000 0.00000 0.00000
24 0.73860 0.26140 0.00000 0.00000
25 1.00000 0.00000 0.00000 0.00000
26 0.73860 0.26140 0.00000 0.00000
27 1.00000 0.00000 0.00000 0.00000
28 0.73860 0.26140 0.00000 0.00000
29 1.00000 0.00000 0.00000 0.00000
30 0.73860 0.26140 0.00000 0.00000
31 1.00000 0.00000 0.00000 0.00000
32 0.73860 0.26140 0.00000 0.00000
33 1.00000 0.00000 0.00000 0.00000
34 0.73860 0.26140 0.00000 0.00000
35 1.00000 0.00000 0.00000 0.00000
36 0.73860 0.26140 0.00000 0.00000
37 1.00000 0.00000 0.00000 0.00000
38 0.73860 0.26140 0.00000 0.00000
39 1.00000 0.00000 0.00000 0.00000
40 0.73860 0.26140 0.00000 0.00000
41 1.00000 0.00000 0.00000 0.00000
42 0.73860 0.26140 0.00000 0.00000
43 1.00000 0.00000 0.00000 0.00000
44 0.73860 0.26140 0.00000 0.00000
45 1.00000 0.00000 0.00000 0.00000
46 0.73860 0.26140 0.00000 0.00000
47 1.00000 0.00000 0.00000 0.00000
48 0.73860 0.26140 0.00000 0.00000
49 1.00000 0.00000 0.00000 0.00000
50 0.73860 0.26140 0.00000 0.00000
51 1.00000 0.00000 0.00000 0.00000
52 0.73860 0.26140 0.00000 0.00000
53 1.00000 0.00000 0.00000 0.00000
54 1.00000 0.00000 0.00000 0.00000
55 0.73860 0.26140 0.00000 0.00000
56 1.00000 0.00000 0.00000 0.00000
57 0.73860 0.26140 0.00000 0.00000
58 1.00000 0.00000 0.00000 0.00000
59 0.73860 0.26140 0.00000 0.00000
60 1.00000 0.00000 0.00000 0.00000
61 0.73860 0.26140 0.00000 0.00000
62 0.73860 0.26140 0.00000 0.00000
63 1.00000 0.00000 0.00000 0.00000
64 1.00000 0.00000 0.00000 0.00000
65 1.00000 0.00000 0.00000 0.00000
66 1.00000 0.00000 0.00000 0.00000
67 1.00000 0.00000 0.00000 0.00000
68 1.00000 0.00000 0.00000 0.00000
69 1.00000 0.00000 0.00000 0.00000
70 0.73860 0.26140 0.00000 0.00000
71 1.00000 0.00000 0.00000 0.00000
72 1.00000 0.00000 0.00000 0.00000
73 1.00000 0.00000 0.00000 0.00000
74 1.00000 0.00000 0.00000 0.00000
75 1.00000 0.00000 0.00000 0.00000
76 1.00000 0.00000 0.00000 0.00000
77 1.00000 0.00000 0.00000 0.00000
78 1.00000 0.00000 0.00000 0.00000
79 1.00000 0.00000 0.00000 0.00000
80 1.00000 0.00000 0.00000 0.00000
81 1.00000 0.00000 0.00000 0.00000
82 1.00000 0.00000 0.00000 0.00000
83 1.00000 0.00000 0.00000 0.00000
84 1.00000 0.00000 0.00000 0.00000
85 1.00000 0.00000 0.00000 0.00000
86 1.00000 0.00000 0.00000 0.00000
87 1.00000 0.00000 0.00000 0.00000
88 1.00000 0.00000 0.00000 0.00000
89 1.00000 0.00000 0.00000 0.00000
90 1.00000 0.00000 0.00000 0.00000
91 1.00000 0.00000 0.00000 0.00000
92 1.00000 0.00000 0.00000 0.00000
93 1.00000 0.00000 0.00000 0.00000
94 1.00000 0.00000 0.00000 0.00000
95 1.00000 0.00000 0.00000 0.00000
"bufferView": 4,
"byteOffset": 12,
"componentType": 5126,
"count": 3,
"max": [
2.083333015441895
],
"min": [
0.04166661947965622
],
"type": "SCALAR"
0.04167
1.04167
2.08333
"bufferView": 5,
"byteOffset": 48,
"componentType": 5126,
"count": 3,
"max": [
0.2933785021305084,
-9.947898149675895e-8,
-0.0002783441450446844,
-0.9559963345527648
],
"min": [
-0.0020521103870123626,
-0.00008614854596089572,
-0.00029137087403796613,
-0.999997854232788
],
"type": "VEC4"
-0.00205 -0.00000 -0.00029 -1.00000
0.29338 -0.00009 -0.00028 -0.95600
-0.00205 -0.00000 -0.00029 -1.00000
"bufferView": 6,
"byteOffset": 0,
"componentType": 5126,
"count": 2,
"max": [
1.0,
0.0,
0.0000013948100558991428,
0.0,
0.000002896920022976701,
0.006681859027594328,
-0.9999778270721436,
0.0,
0.0005827349959872663,
0.9999966025352478,
0.006681739818304777,
0.0,
0.0,
4.18023681640625,
0.02795993909239769,
1.0
],
"min": [
0.9999998807907105,
-0.0005827400018461049,
0.0,
0.0,
0.0,
0.002577662002295256,
-0.9999967217445374,
0.0,
0.0,
0.999977707862854,
0.002577601931989193,
0.0,
-0.000004012620138382772,
-0.006818830035626888,
0.027931740507483484,
1.0
],
"type": "MAT4"
1.00000 0.00000 0.00000 0.00000
0.00000 0.00668 -0.99998 0.00000
0.00000 0.99998 0.00668 0.00000
0.00000 4.18024 0.02793 1.00000
1.00000 -0.00058 0.00000 0.00000
0.00000 0.00258 -1.00000 0.00000
0.00058 1.00000 0.00258 0.00000
-0.00000 -0.00682 0.02796 1.00000
<Scene>
<Transform DEF='node_0' rotation='1 0 0 1.57'>
<HAnimHumanoid DEF='gltf_import' info='"authorName=Adam Smith" "authorEmail=aa" "copyright=(C) 2019 Adam Smith - aa" "humanoidVersion=2.0"' name='nonHumanoid' version='2.0'>
<Coordinate DEF='SKINCOORD' containerField='skinCoord' point='
0.00000 -1.00000 -4.57508
0.19509 -0.98078 -4.57508
0.09547 -0.47998 0.00000
0.38268 -0.92388 -4.57508
0.18728 -0.45213 0.00000
0.55557 -0.83147 -4.57508
0.27189 -0.40691 0.00000
0.70711 -0.70711 -4.57508
0.34605 -0.34605 0.00000
0.83147 -0.55557 -4.57508
0.40691 -0.27189 0.00000
0.92388 -0.38268 -4.57508
0.45213 -0.18728 0.00000
0.98079 -0.19509 -4.57508
0.47998 -0.09547 0.00000
1.00000 0.00000 -4.57508
0.48939 -0.00000 0.00000
0.98079 0.19509 -4.57508
0.47998 0.09547 0.00000
0.92388 0.38268 -4.57508
0.45213 0.18728 0.00000
0.83147 0.55557 -4.57508
0.40691 0.27189 0.00000
0.70711 0.70711 -4.57508
0.34605 0.34605 0.00000
0.55557 0.83147 -4.57508
0.27189 0.40691 0.00000
0.38268 0.92388 -4.57508
0.18728 0.45213 0.00000
0.19509 0.98079 -4.57508
0.09547 0.47998 0.00000
-0.00000 1.00000 -4.57508
0.00000 0.48938 0.00000
-0.19509 0.98079 -4.57508
-0.09547 0.47998 0.00000
-0.38268 0.92388 -4.57508
-0.18728 0.45213 0.00000
-0.55557 0.83147 -4.57508
-0.27189 0.40691 0.00000
-0.70711 0.70711 -4.57508
-0.34605 0.34605 0.00000
-0.83147 0.55557 -4.57508
-0.40691 0.27189 0.00000
-0.92388 0.38268 -4.57508
-0.45213 0.18728 0.00000
-0.98079 0.19509 -4.57508
-0.47998 0.09547 0.00000
-1.00000 -0.00000 -4.57508
-0.48939 -0.00000 0.00000
-0.98079 -0.19509 -4.57508
-0.47998 -0.09547 0.00000
-0.92388 -0.38268 -4.57508
-0.45213 -0.18728 0.00000
-0.83147 -0.55557 -4.57508
-0.70711 -0.70711 -4.57508
-0.34605 -0.34605 0.00000
-0.55557 -0.83147 -4.57508
-0.27189 -0.40691 0.00000
-0.38268 -0.92388 -4.57508
-0.18728 -0.45213 0.00000
-0.19509 -0.98079 -4.57508
0.00000 -0.48939 0.00000
-0.09547 -0.47998 0.00000
0.08781 0.44143 4.57508
-0.44143 0.08781 4.57508
0.44143 -0.08781 4.57508
-0.08781 -0.44143 4.57508
0.00000 -0.45008 4.57508
-0.17224 -0.41582 4.57508
-0.25005 -0.37423 4.57508
-0.40691 -0.27189 0.00000
-0.31825 -0.31826 4.57508
-0.37423 -0.25005 4.57508
-0.41582 -0.17224 4.57508
-0.44143 -0.08781 4.57508
-0.45008 -0.00000 4.57508
-0.41582 0.17224 4.57508
-0.37423 0.25005 4.57508
-0.31825 0.31825 4.57508
-0.25005 0.37423 4.57508
-0.17224 0.41582 4.57508
-0.08781 0.44143 4.57508
0.00000 0.45008 4.57508
0.17224 0.41582 4.57508
0.25005 0.37423 4.57508
0.31825 0.31825 4.57508
0.37423 0.25005 4.57508
0.41582 0.17224 4.57508
0.44143 0.08781 4.57508
0.45008 -0.00000 4.57508
0.41582 -0.17224 4.57508
0.37423 -0.25005 4.57508
0.31825 -0.31825 4.57508
0.25005 -0.37423 4.57508
0.17224 -0.41582 4.57508
0.08781 -0.44143 4.57508
'/>
<HAnimJoint DEF='glTFrootnode' containerField='skeleton' name='HumanoidRoot' skinCoordIndex='' skinCoordWeight=''>
<HAnimJoint DEF='node_2' name='firstglTFjoint' skinCoordIndex='' skinCoordWeight=''
translation='0.0
-3.156060017772689e-7
-4.1803297996521'
rotation='-1 0 0 4.712389'
rotquat=' -0.7047404050827026,
-0.0,
-0.0,
-0.7094652056694031'>
<HAnimJoint DEF='node_2_IBM' name='IBMfirstglTFjoint'
translation='0.00000 4.18024 0.02793'
rotation=' 1 0 0 1.5707963'
matrix='
1.00000 0.00000 0.00000 0.00000
0.00000 0.00668 -0.99998 0.00000
0.00000 0.99998 0.00668 0.00000
0.00000 4.18024 0.02793 1.00000 '
skinCoordIndex=' 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,70'
skinCoordWeight=' 1.00000,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,1.00000,0.73860,0.73860,0.73860' />
<HAnimJoint DEF='node_3' name='secondglTFjoint' skinCoordIndex='' skinCoordWeight=''
translation='
0.0
4.18717098236084
0.0' >
<HAnimJoint DEF='node_3_IBM' name='IBMsecondglTFjoint'
translation='-0.00000 -0.00682 0.02796'
rotation='1 0 0 1.5707963'
matrix='
1.00000 -0.00058 0.00000 0.00000
0.00000 0.00258 -1.00000 0.00000
0.00058 1.00000 0.00258 0.00000
-0.00000 -0.00682 0.02796 1.00000 '
skinCoordIndex=' 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,55,57,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95'
skinCoordWeight=' 0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,0.26140,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,0.26140,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000'/>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
<Group containerField='skin'>
<Shape DEF='skinMesh'>
<Appearance>
<Material diffuseColor='
0.27963539958000185
0.6399999856948853
0.21094389259815217' transparency='0.0'/>
</Appearance>
<IndexedTriangleSet solid='true' ccw='false' index='
0 1 2 1 3 4 3 5 6 5 7 8 7 9 10 9 11 12 11 13 14 13 15 16 15 17 18 17 19 20 19 21 22 21 23 24 23 25 26 25 27 28 27 29 30 29 31 32 31 33 34 33 35 36 35 37 38 37 39 40 39 41 42 41 43 44 43 45 46 45 47 48 48 47 49 50 49 51 52 51 53 53 54 55 54 56 57 56 58 59 35 19 51 60 0 61 58 60 62 63 64 65 59 62 66 62 61 67 57 59 68 55 57 69 70 55 71 52 70 72 50 52 73 48 50 74 46 48 75 44 46 64 42 44 76 40 42 77 38 40 78 36 38 79 34 36 80 32 34 81 30 32 82 28 30 63 26 28 83 24 26 84 22 24 85 20 22 86 18 20 87 16 18 88 14 16 89 12 14 65 10 12 90 8 10 91 6 8 92 4 6 93 2 4 94 61 2 95 61 0 2 2 1 4 4 3 6 6 5 8 8 7 10 10 9 12 12 11 14 14 13 16 16 15 18 18 17 20 20 19 22 22 21 24 24 23 26 26 25 28 28 27 30 30 29 32 32 31 34 34 33 36 36 35 38 38 37 40 40 39 42 42 41 44 44 43 46 46 45 48 50 48 49 52 50 51 70 52 53 70 53 55 55 54 57 57 56 59 3 1 0 0 60 3 58 56 54 54 53 51 51 49 47 47 45 51 43 41 39 39 37 35 35 33 31 31 29 27 27 25 23 23 21 19 19 17 15 15 13 19 11 9 7 7 5 3 3 60 58 58 54 51 51 45 43 43 39 35 35 31 19 27 23 19 19 13 11 11 7 3 3 58 51 51 43 35 31 27 19 19 11 3 3 51 19 62 60 61 59 58 62 66 67 95 95 94 93 93 92 91 91 90 65 65 89 88 88 87 65 86 85 63 84 83 63 63 82 79 81 80 79 79 78 77 77 76 64 64 75 74 74 73 64 72 71 69 69 68 66 66 95 65 93 91 65 65 87 86 85 84 63 82 81 79 79 77 64 64 73 72 72 69 64 95 93 65 65 86 63 63 79 64 64 69 66 66 65 64 68 59 66 66 62 67 69 57 68 71 55 69 72 70 71 73 52 72 74 50 73 75 48 74 64 46 75 76 44 64 77 42 76 78 40 77 79 38 78 80 36 79 81 34 80 82 32 81 63 30 82 83 28 63 84 26 83 85 24 84 86 22 85 87 20 86 88 18 87 89 16 88 65 14 89 90 12 65 91 10 90 92 8 91 93 6 92 94 4 93 95 2 94 67 61 95
'>
<Coordinate USE='SKINCOORD'/>
<Normal vector='
0.00000 -0.76464 -0.64446
0.14915 -0.74996 -0.64445
0.19471 -0.97902 0.06000
0.29262 -0.70644 -0.64445
0.38198 -0.92222 0.06000
0.42480 -0.63579 -0.64445
0.55457 -0.82997 0.06000
0.54069 -0.54069 -0.64445
0.70583 -0.70583 0.06000
0.63579 -0.42480 -0.64445
0.82997 -0.55457 0.06000
0.70644 -0.29262 -0.64445
0.92222 -0.38198 0.06000
0.74994 -0.14918 -0.64447
0.97902 -0.19474 0.06000
0.76465 0.00000 -0.64444
0.99820 0.00000 0.06000
0.74996 0.14915 -0.64445
0.97902 0.19474 0.06000
0.70644 0.29262 -0.64445
0.92222 0.38198 0.06000
0.63579 0.42480 -0.64445
0.82997 0.55457 0.06000
0.54069 0.54069 -0.64445
0.70583 0.70583 0.06000
0.42480 0.63579 -0.64445
0.55457 0.82997 0.06000
0.29262 0.70644 -0.64445
0.38198 0.92222 0.06000
0.14915 0.74996 -0.64445
0.19471 0.97902 0.06000
0.00000 0.76464 -0.64446
0.00000 0.99820 0.06000
-0.14918 0.74995 -0.64445
-0.19474 0.97902 0.06000
-0.29262 0.70644 -0.64445
-0.38198 0.92222 0.06000
-0.42479 0.63577 -0.64447
-0.55457 0.82997 0.06000
-0.54069 0.54069 -0.64445
-0.70585 0.70582 0.06000
-0.63579 0.42480 -0.64445
-0.82997 0.55457 0.06000
-0.70644 0.29262 -0.64445
-0.92222 0.38198 0.06000
-0.74996 0.14915 -0.64445
-0.97902 0.19471 0.06000
-0.76463 0.00000 -0.64447
-0.99820 0.00000 0.06000
-0.74995 -0.14918 -0.64445
-0.97902 -0.19474 0.06000
-0.70644 -0.29262 -0.64445
-0.92222 -0.38198 0.06000
-0.63577 -0.42479 -0.64447
-0.54069 -0.54069 -0.64445
-0.70582 -0.70585 0.06000
-0.42480 -0.63579 -0.64445
-0.55457 -0.82997 0.06000
-0.29262 -0.70644 -0.64445
-0.38198 -0.92222 0.06000
-0.14915 -0.74996 -0.64445
0.00000 -0.99820 0.06000
-0.19471 -0.97902 0.06000
0.14143 0.71101 0.68882
-0.71101 0.14143 0.68882
0.71101 -0.14143 0.68882
-0.14143 -0.71101 0.68882
0.00000 -0.72494 0.68881
-0.27742 -0.66976 0.68881
-0.40276 -0.60275 0.68882
-0.82997 -0.55457 0.06000
-0.51260 -0.51260 0.68882
-0.60275 -0.40276 0.68882
-0.66975 -0.27742 0.68882
-0.71101 -0.14143 0.68882
-0.72494 0.00000 0.68881
-0.66973 0.27742 0.68884
-0.60275 0.40276 0.68882
-0.51260 0.51260 0.68882
-0.40276 0.60275 0.68882
-0.27742 0.66975 0.68882
-0.14143 0.71101 0.68882
0.00000 0.72494 0.68881
0.27742 0.66976 0.68881
0.40276 0.60275 0.68882
0.51260 0.51260 0.68882
0.60275 0.40276 0.68882
0.66975 0.27742 0.68882
0.71101 0.14143 0.68882
0.72496 0.00000 0.68879
0.66973 -0.27742 0.68884
0.60275 -0.40276 0.68882
0.51260 -0.51260 0.68882
0.40276 -0.60275 0.68882
0.27742 -0.66976 0.68881
0.14143 -0.71101 0.68882 '/>
</IndexedTriangleSet>
</Shape>
</Group>
<!-- top-level joint references -->
<HAnimJoint USE='glTFrootnode' containerField='joints'/>
<HAnimJoint USE='node_2' containerField='joints'/>
<HAnimJoint USE='node_2_IBM' containerField='joints'/>
<HAnimJoint USE='node_3' containerField='joints'/>
<HAnimJoint USE='node_3_IBM' containerField='joints'/>
</HAnimHumanoid>
</Transform>
<TimeSensor DEF='ani0clock' cycleInterval='2' loop='true'/>
<OrientationInterpolator DEF='ani0rotator' key='0 0.5 1'
keyValue='
-0.9901418, 0, -0.1400688, 6.2790445
0.9999995, -0.0003068, -0.0009544, 5.6876664
-0.9901418, 0, -0.1400688, 6.2790445'/>
<ROUTE fromNode='ani0clock' fromField='fraction_changed' toNode='ani0rotator' toField='set_fraction'/>
<ROUTE fromNode='ani0rotator' fromField='value_changed' toNode='node_3' toField='set_rotation'/>
</Scene>
see http://andreasplesch.github.io/Library/Models/HAnim/glTF/RiggedSimple.html
In glTF, each vertex index is affected by all joints. Many joints may have a 0 weight for a vertex. So all indices need to be listed in skinCoordIndex for a joint. It is possible to optimize by omitting those indices which have a 0 weight.
- combine joint ids, weights and vertex indices into triplets and all into a single list
- filter out triplets which use joint 0 and which have a non zero weight
- split filtered triplet into index list and weight list
In glTF, the weights are listed per vertex in the same order as the joints are listed. So if a vertex has a '1 0 0 0' Joint_0 value and a '0.25 0.75 0 0' Weight_0 value, joint 0 has a weight of 0.75 and joint 1 has weight of 0.25. Therefore it is necessary to look up each weight for the skinCoordWeight field.
W0=`1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
0.73860 0.26140 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000
1.00000 0.00000 0.00000 0.00000 `;
WFlat=W0.trim().split(/\s+/);
J0 = ` 0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 1 0 0
0 1 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
0 1 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0 `;
JFlat=J0.trim().split(/\s+/);
JWIFlat = JFlat.map((v,i) => ( {'joint': v, 'weight': WFlat[i], 'index': (i-i%4)/4} ));
JWI = [];
JWI[0] = JWIFlat.filter( v => v.joint == 0 && v.weight != 0 );
JWI[1] = JWIFlat.filter( v => v.joint == 1 && v.weight != 0 );
skinCoordIndex = [];
skinCoordIndex[0] = JWI[0].map(v => v.index);
skinCoordIndex[1] = JWI[1].map(v => v.index);
skinWeights = [];
skinWeights[0] = JWI[0].map(v => v.weight);
skinWeights[1] = JWI[1].map(v => v.weight);