我是LibGDX的新手,并试图了解具有节点,网格等的基本Model系统。花了数小时阅读Wiki或查看文档后,我想知道我是否正确。< / p>
一个模型(可以使用ModelInstance呈现)由许多Node组成。节点基本上是一个抽象概念,它是一组数据,包含位置,旋转和比例值。它还包含一个globalTransform变量(一个Matrix4实例),使用此矩阵通过使用ERROR_LOCK_VIOLATION (0x21)
来设置位置/旋转/比例将设置Node在当前世界中的位置。尽管直接在Node中使用位置矢量不会改变世界位置。
然后,每个节点可以有子级。这些子级可以是其他Matrix4#setToTranslation
,Node
(= MeshPart + Material)或NodePart
的子级。 MeshPart是来自网格的顶点的子集。要将MeshPart添加到节点,我们可以使用MeshPart
方法使用MeshBuilder
创建一个MeshPart。要添加NodePart,我们可以创建一个ModelBuilder并使用part
方法。
我们的模型完成后,我们可以通过将整个模型放入ModelInstance(part
)或指定要在ModelInstance中使用的模型的哪个节点来创建ModelInstance。然后,我们从ModelBatch调用render方法以显示我们的ModelInstance。
结论是,模型与节点之间的关系与Node与NodePart之间的关系“相同”,并且与Mesh与MeshPart之间的关系“相同”
我的假设正确吗?我不确定现在是否正确:“我们可以将MeshPart作为子级添加到Node”
非常感谢您的阅读!
阿斯基(Askigh)