求教一个关于OGRE蒙皮骨骼动画的编程的实现问题(主要是关于动画的)。

求教一个关于OGRE蒙皮骨骼动画的编程的实现问题(主要是关于动画的)。,第1张

首先,说明两个文件的格式问题:

mesh文件格式

每个mesh由多个submesh组成,每个submesh由faces部分, geometry 部分,boneassignments部分组成。faces部分用 顶点索引描述了物体的每一个三角形面。geometry部分由两个vertexbuffer组成,第一个描述了每个顶点的坐标和法线,每二个描述了顶点的UV,boneassignments部分描述了每个顶点所附着的骨头组及权重亮握。

skeleton文件格式

整个skeleton文件分成了三部分bones,bonehierarchy,animations。

bones部分描述了每一块骨头的具体情况

bonehierarchy,即骨骼的继承关系,描述了骨骼是怎么样组成骨架的。

animations动画集部分。动画集,由多个动画组成。  每个动画由一系列的track组成,每个track由一系列的Keyframe组成。一个track描述了单块骨头在每个keyframe所描述的时间点的位移和旋转。

你提的问题要注意两点:

骨骼系统是树状结构,根节点就是髋骨。骨头的位置是相闹核对位置,也就是你所谓的从根骨一直叠加变换到子骨。

顶点是由动画变换之后的骨头决定的,也就是顶点所附着的骨头组及权重决定的。

最后,我在ogre中好像没见到过反向动力学,不过也不难,把骨头的继承关系和相对变换数据重敬弯庆新组织一下(3dmax支持反向动力),从下肢(或四肢)反向递推就可以了。顶点的权重可以不变。

骨骼蒙皮动画特指skinndmesh,也叫骨骼动画。无论是合金装备,波斯王子,还是魔兽世界,到处都是骨骼动画技术的运用。用它塑造了各种各样,栩栩如生的生物。其中,人类体格的骨骼动画运用最为广泛这里的骨骼蒙皮动画特指skinndmesh,也叫骨骼动画。无论是合金装备,波斯王子,还是魔兽世界,到处都是骨骼动画技术的运用。用它塑造了各种各样,栩栩如生的生物。其中,人类体格的骨骼动画运用最为广泛。

从本质上来讲,所有的3D角色动画系统都是基于一种逻辑,就是用一定的方法去改变

Mesh顶点的位置,只是具体改变的方法不同而已。骨骼动画也是一样的。

骨骼动画的基本原理就是首先控制各个骨骼和关节,再使符在上面的skinnedmesh与其匹配。在骨骼蒙皮动画中,一个角色由作为皮肤的单一网格模型和按照一定层次组织起来的骨骼组成。骨骼层次描述了角色的结构,就像关节动画中的不同部分一样,骨骼蒙皮动画中的骨骼按照角色的特点组成一个层次结构。相邻的骨骼通过关节相连,并且可以作相对的运动。通过改变相邻骨骼间的夹角,位移,组成角色的骨骼就可以做出不同的动作,实现不同的动画效果。皮肤则作为一个网格蒙在骨骼之上磨裤培,规定角色的外观。这里的皮肤不是固定不变的刚性网格,而是瞎唯可以在骨骼影响下变化的一个可变形网格。组成皮肤的每一个顶点都会纯仔受到一个或者多个骨骼的影响。在顶点受到多个骨骼影响的情况下,不同的骨骼按照与顶点的几何,物理关系确定对该顶点的影响权重,这一权重可以通过建模软件计算,也可以手工设置。通过计算影响该顶点的不同骨骼对它影响的加权和就可以得到该顶点在世界坐标系中的正确位置。动画文件中的关键帧一般保存着骨骼的位置,朝向等信息。通过在动画序列中相邻的两个关键帧间插值可以确定某一时刻各个骨骼的新位置和新朝向。然后按照皮肤网格各个顶点中保存的影响它的骨骼索引和相应的权重信息可以计算出该顶点的新位置。这样就实现了在骨骼驱动下的单一皮肤网格变形动画。或者简单地说骨骼蒙皮动画。骨骼蒙皮动画的效果比关节动画和单一网格动画更逼真,更生动。而且,随着3D硬件性能的提高,越来越多的相关计算可以通过硬件来完成,骨骼蒙皮动画已经成为各类实时动画应用中使用最广泛的动画技术。

FBX 文件格式是一种广泛使用的 3D 模型文件格式,FBX 文件可以包含模型的几何形状、材质、骨骼及动画等数据。FBX 文件中的骨骼和动画信息可以用于模型蒙皮,使得模型可以做动画变形。

以下是使用 FBX 文件创建骨骼并应用于模型的一般步骤:

1. 准备好需要绑定骨骼的模型。

2. 在 3D 建模软件中创建骨骼。通常情况下,骨骼是由多个关节、骨头组成的层级结构,您需要将这些关节和骨头按照正确的顺序连接起来。

3. 给每个骨骼命名,并确保每个骨骼的方向和旋转都正确,以便在蒙皮时能够正确地影响模型的几何形状。

4. 将骨骼绑定到模型上。具体做法因软件而异,一般情况下需要选择骨骼和模型,然后执行绑定 *** 作。

5. 对绑定关系进行调整。一般情拆辩况下,在绑迹御手定后会需要进行微调来达到更好的效果。这可能需要手动调整权重或使用自动权重调整工具。

6. 导出模型和骨骼信息到 FBX 文件中。在导出时,需要确保选中了模型、骨骼和动画信息,并将这些信息导出到一个合适的 FBX 文件中。

7. 使用该文件在其他软件中进行蒙皮 *** 作。通常情况下,您需要导姿嫌入 FBX 文件到另一个 3D 建模或动画软件中,然后使用该软件提供的工具来完成蒙皮 *** 作。

请注意,以上步骤仅供参考,具体 *** 作可能因为软件版本和个人技能水平而略有不同。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12390199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存