glTF 2.0 中节点和子项之间的关系
Posted
技术标签:
【中文标题】glTF 2.0 中节点和子项之间的关系【英文标题】:Relation between entries in node and children in glTF 2.0 【发布时间】:2021-11-29 03:45:39 【问题描述】:我正在为 R 中的 glTF/GLB 文件编写阅读器。阅读 https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html 的规范后,我不清楚节点与其子节点之间的关系。
节点可能具有定义变换的属性(matrix
、rotation
、scale
、translation
)。它的孩子会继承这个变换吗?如果他们指定了自己的变换,它是替换父变换,还是由它组成?
它也可能有一个camera
规范。如果孩子也有一个,它会取代父级,还是以某种方式组合在一起?
【问题讨论】:
【参考方案1】:子节点的变换总是与父节点组成。例如,如果父级具有 +5 X 平移,而子级具有 90 度 Y 旋转,则生成的子网格将定位在 +5 X 处并具有旋转方向。
请注意,matrix
与其他三个(translation
、rotation
、scale
)互斥,因此给定节点不得将matrix
与任何其他形式的转换混合。但是,父级可以将 matrix
与使用其他 3 个转换的子级一起使用,反之亦然。
camera
通常出现在叶节点上,尽管这不是必需的。如果父母和孩子都拥有camera
对象,则它们被视为两个独立的相机,尽管重新定位父母时孩子的相机会移动。
如果您让 glTF 在 R 中工作,请让我们知道https://github.com/KhronosGroup/glTF-Project-Explorer 的问题或 PR,谢谢!
【讨论】:
请注意github.com/KhronosGroup/glTF/issues/1058:他们现在要求采用不同的方法来宣布项目,如github.com/KhronosGroup/glTF-Project-Explorer 中所述。 更新了链接,谢谢!以上是关于glTF 2.0 中节点和子项之间的关系的主要内容,如果未能解决你的问题,请参考以下文章