为骨骼扩展波前 OBJ



我正在扩展Wavefront OBJ以使用它的骨骼。这是我的例子:

bn my_bone 0.0 0.0 0.0
wgh 1 1.0
wgh 2 1.0
wgh 3 1.0
wgh 4 1.0
wgh 5 1.0
bn my_bone2 1.0 0.0 0.0
prt my_bone
wgh 11 0.1
wgh 12 0.2
wgh 13 0.3

以下是描述:

骨骼:

bn [bone name] [x] [y] [z]

父母:

prt [parent name]

权重:

wgh [vertex index] [weight]

我想问的是:

  1. 我的新命令会导致与标准冲突吗?
  2. 我已经在Visual Studio的图形编辑器,混合现实查看器和Blender中测试了我的新OBJ文件,他们只是忽略了我的命令。我想知道在读取我的新 OBJ 文件时是否有任何程序抛出错误。我希望我的新OBJ文件在其他程序中作为普通的OBJ文件运行。
  3. 实现骨骼时,我必须考虑哪些附加功能?
  4. 它将用于使用CUDA或Direct3D的游戏。我将通过使用矩阵来实现这一点。有没有更有效的方法,特别是在GPU或Direct3D中?

我知道其他格式,如 FBX,我只想将骨骼与 OBJ 一起使用。

  1. 只要你的行头不是标准的一部分,那么它就可以了,但见 2(。

  2. 大多数现有的 OBJ 读取器设计为仅解析标准标头(因为解析器需要知道行格式以及如何处理结果数据(,因此您可能需要推出自己的(不太困难,周围有很多教程(。

  3. 您需要多个点来指定骨骼。至少您还需要它的端点。如果您计划进行正向或反向运动学,您还需要指定其局部轴和旋转限制。还有一组用于蒙皮的权重(如果您不打算在运行时生成这些权重(。

  4. 矩阵表示是一种广泛使用的技术,因为它涉及简单的线性代数,可以很容易地进行矢量化和优化;然而,某些应用可能需要更先进的技术,例如双四元数以获得视觉上更具吸引力的皮肤效果。

相关内容

  • 没有找到相关文章

最新更新