【问题标题】:Extending Wavefront OBJ for bones为骨骼扩展 Wavefront OBJ
【发布时间】:2019-01-17 15:06:44
【问题描述】:

我正在扩展 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 一起使用。

【问题讨论】:

    标签: 3d mesh direct3d wavefront


    【解决方案1】:
    1. 只要你的行标题不是标准的一部分,那么它会非常好,但请参阅 2)。

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-22
      • 2017-06-27
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 2012-10-17
      • 2014-09-23
      • 1970-01-01
      • 2019-03-12
      相关资源
      最近更新 更多