【发布时间】: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