gltf 你如何处理 latex 引用?
gltf how do you deal with latice references?
我正在使用装配图 gltf:
不是post整个gltf,我会post相关节点:
{
"children": [
21,
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
],
"name": "Z_UP"
},
{
"mesh": 0,
"skin": 0,
"name": "Proxy"
},
...
{
"translation": [
0.0,
0.06650590896606446,
0.0
],
"rotation": [
4.2157907720330458e-10,
0.9999844431877136,
-0.005583992227911949,
-7.549667913053783e-8
],
"scale": [
1.0,
1.0000001192092896,
1.0
],
"name": "neck_joint_2"
},
{
"children": [
2
],
"name": "Armature"
}
因此节点 0 是节点 1 和节点 21 的父节点。但是节点 1 中的皮肤的关节从节点 2 开始。即节点 1 中的皮肤是由节点定义的骨架的“父节点”从 2 到 21.
那么问题来了,节点 0 中的变换是否应该应用到皮肤中的节点两次?
从glTF Specifications — Skins...
Client implementations should apply only the transform of the skeleton root node to the skinned mesh while ignoring the transform of the skinned mesh node.
因此在此示例中,节点 1 的继承世界变换未应用于皮肤的 joints/bones。换句话说,节点-皮肤关系不会对皮肤的关节应用任何变换。
我正在使用装配图 gltf:
不是post整个gltf,我会post相关节点:
{
"children": [
21,
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
],
"name": "Z_UP"
},
{
"mesh": 0,
"skin": 0,
"name": "Proxy"
},
...
{
"translation": [
0.0,
0.06650590896606446,
0.0
],
"rotation": [
4.2157907720330458e-10,
0.9999844431877136,
-0.005583992227911949,
-7.549667913053783e-8
],
"scale": [
1.0,
1.0000001192092896,
1.0
],
"name": "neck_joint_2"
},
{
"children": [
2
],
"name": "Armature"
}
因此节点 0 是节点 1 和节点 21 的父节点。但是节点 1 中的皮肤的关节从节点 2 开始。即节点 1 中的皮肤是由节点定义的骨架的“父节点”从 2 到 21.
那么问题来了,节点 0 中的变换是否应该应用到皮肤中的节点两次?
从glTF Specifications — Skins...
Client implementations should apply only the transform of the skeleton root node to the skinned mesh while ignoring the transform of the skinned mesh node.
因此在此示例中,节点 1 的继承世界变换未应用于皮肤的 joints/bones。换句话说,节点-皮肤关系不会对皮肤的关节应用任何变换。