我正处于MS3D解析器的规划阶段,通过specs可以看到vertex结构有一个boneId变量。“骨头”是关节的同义词吗?那么,这个boneId变量是关节数组的索引吗?如果不是,那么什么是骨头,它在哪里起作用?我一直以为一根骨头连接着两个关节,但在这个规格上我找不到骨头的任何概念。它不完整吗?
谢谢!!
编辑:那么什么是骨头?该头文件中未定义骨骼结构。有人能给我展示一个更完整的MS3D格式规范,还是这只是我应该能够推断的东西?
与其说“什么是骨头”,不如说“骨头在哪里”?ms3d文件中是否也包含骨骼,规范是否错误?如何加载这些骨骼以查看哪些关节影响顶点?
再次编辑:我发现版本4有一个更新的spec,但它仍然没有定义骨骼。我错过了什么??
编辑4:
我开始看到两者之间的联系。显然关节形成骨头。由于关节有一个父关节,它们形成一棵树(出于某种原因,我认为它们只是随机连接的)因此,我可以形成一个骨骼树,我猜文件中第一个与已定义父关节的关节将形成骨骼0,然后下一个与父关节的关节与父关节形成骨骼1,依此类推?这是对的吗?我希望我找到的两个规范文件明确地说。。。

最佳答案

骨骼是顶点集合的参照系。它是概念性的…不是顶点也不是多边形。
当顶点集合具有公共骨骼id时,这意味着当该骨骼移动或旋转时,这些顶点将跟随它。
关节声明两个骨骼是连接的,并描述它们连接的方式和位置。
如果你描绘的是一个只能在底部移动手臂和腿的原始动作图形,你会看到一个有五块骨头(身体,手臂,手臂,腿,腿)和四个关节的图形,显示四肢是如何附着到身体上的。该图形的所有顶点都属于五个骨骼中的一个,并且该图形的所有运动都将发生在四个关节中的一个。

10-06 13:10