【问题标题】:Bones in 3DS max or blender3DS max 或搅拌机中的骨骼
【发布时间】:2011-09-01 21:19:40
【问题描述】:

我在这里几乎抓住了稻草,因为我不知道我在问什么,但这是问题所在。

出于纯粹的兴趣,我一直在研究 3D 建模,并遇到了骨骼的概念。 现在,即使在 wiki 上查找骨骼后,我也不太确定骨骼是什么,但它们似乎是现实生活中骨骼等的抽象,所以在一个人类模型中,我只是将它们视为骨骼。

据我了解,骨骼是由 x、y 和 z 轴上的平移、旋转和缩放定义的。 (不就是一个点吗?)

我有兴趣在 blender 或 max 中获取模型并导出用于定义这些骨骼的信息(无论它们是什么)。我绝对可以看到这些程序中的骨骼,但我想把它变成一个文本文件有没有办法导出它?

【问题讨论】:

  • 你知道你在哪个网站...?
  • 似乎是到达某个地方的最简单方法。
  • 骨骼通常是用于动画的点/多边形/等的映射,通常用于移动人。它们通常会应用权重和约束,以实现更逼真的运动。
  • 骨骼是一种控制对象层次结构的方法,这意味着通过更改层次结构中的元素,您会影响其余部分,具体取决于该装备的构建方式(反向运动学 (IK) 或正向运动学 (FK ))。正如您所提到的,骨骼具有转换(平移、旋转、缩放),但是骨骼通常具有头部和尾部,用于连接其他骨骼并创建层次结构。您可以尝试编写脚本来导出骨骼数据,但最好了解更多有关骨骼的作用及其工作原理以及蒙皮的信息,并在此基础上选择您将使用哪种技术来实现自己。
  • 对于原始顶点数据,您可以从 Blender 或 3dsmax(使用插件)导出 MD2 模型。骨骼数据可以包含在 Collada(.dae) 和 FBX 格式中,但请检查您选择的 3d 包支持文件格式的哪些功能(您可能会发现 Collada 可能不保存骨骼数据或 Blender FBX 确实无法正确导出等)。简而言之,要么使用现有的导出器并在您的项目中编写解析器,要么使用 3d 包中的脚本语言以您需要的格式导出骨骼数据。就我个人而言,我发现 Blender 中的 Python 脚本比 3dsmax 中的 Maxscript 更容易。

标签: blender 3d-modelling 3ds


【解决方案1】:

我认为您需要将这些想法分开:

骨头——正如你所说的,它有一个位置和旋转。它们是您可以控制的对象,并且会影响模型的皮肤。它们通常处于层次结构中,因此如果您移动一根骨骼,那么它会影响与其相连的所有骨骼,就像人类骨骼一样。

皮肤 - 这是您通常可以看到的多边形网格。它由您在编辑器中指定一个基本位置,并且骨架在皮肤上进行操作以移动它。

动画 - 这是传递给骨骼的数据。通常是旋转,例如使手臂弯曲。

http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System 给出了很好的解释。

希望对您有所帮助:3

【讨论】:

    猜你喜欢
    • 2012-02-02
    • 2019-11-06
    • 2018-04-24
    • 2019-08-06
    • 2011-10-21
    • 2013-12-04
    • 2011-09-02
    • 2020-08-16
    • 2016-12-27
    相关资源
    最近更新 更多