13

如果我有一个人体 3d 模型,我想为行走设置动画,那么实现这一目标的最佳方法是什么?以下是我认为正在实施的可能方式:

  • 创建几个腿在不同位置的模型,然后在这些模型之间进行插值。
  • 将模型加载到 openGL 中,并以某种方式确定哪些顶点对应于腿并执行适当的转换。
  • 实现骨架或骨架(类似于:blender animation wiki)。
4

2 回答 2

14

您在第一个选项中描述的技术称为变形目标动画,通常用于一些动画细节,如面部动画或手的开合。

第二种选择是程序或物理动画,它的工作原理类似于机器人技术,您可以给角色的身体一些速度以向前移动并计算腿部需要做什么才能避免跌倒。但是你不会直接在顶点上做,而是在骨架上做。看下一张。

第三个选项是骨骼动画,它为骨骼设置动画,并且顶点遵循一组规则。将顶点附加到骨架上称为蒙皮。

我建议,在掌握了 opengl 的东西(在空间、相机等中查看和定位模型)之后,您可以从骨骼动画开始。

您需要为您选择的 3d 应用程序配备一个装配好的动画模型。然后,您可以将导出器写入您的自定义格式,或选择您想从您的应用中读取的格式。该文件格式应包含模型、骨架、蒙皮和关键帧的描述。比您从代码中读取和使用该数据来构建网格、骨架和动画关键帧。

于 2010-11-20T12:38:31.560 回答
2

如果我是你,我会从http://www.blender.org下载 Blender并学习一些动画教程。例如,这个:

http://wiki.blender.org/index.php/Doc:Tutorials/Animation/BSoD/Character_Animation

完成后,您可以使用例如 Ogre 导出器导出模型和动画。我认为这是最新版本,但请检查以确保:

http://www.ogre3d.org/tikiwiki/Blender+Exporter&structure=Tools

从那里,您只需要编写 C++ 代码来加载所有内容、在关键帧之间进行插值等。如果您有兴趣,我可以向您展示我的代码。

于 2010-11-20T12:45:50.770 回答