骨骼动画原理

本文深入探讨了骨骼动画技术的起源和发展,从早期的顶点动画到骨骼动画的引入,详细解析了骨骼动画的原理,包括骨骼、蒙皮、权重和算法等核心概念,以及它们在3D模型动画制作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

骨骼动画技术后于帧动画技术出现
最开始,骨骼动画仅用于非实时渲染的建模领域,如3DMax这类建模软件之中,以方便美工的建模。后来,CPU从渲染中解放后,骨骼动画才用于实时渲染的游戏中。
顶点动画:早期的3D模型动画,就是把每帧的顶点数据输出到文件中,所以3D模型的一个动作就是一系列的模型,这样做的目的主要是硬件资源有限,没有多余的时间去计算顶点。

骨骼动画
随着动画越来越精细,将每帧的顶点数据输出到文件数据量太大。人们想出一种办法,将3D模型抽象为一些关键点的集合,整个模型的运动可以当做是这些关键点的运动,而模型的顶点只是受这些关键点的影响而已。这些关键点就称为骨骼


骨骼动画原理
骨骼动画的想法来源于人体骨骼。
例如说,人的上肢所有肌肉和皮肤都受上肢骨胳的影响,而人的踝关节则分别承受小腿骨胳和脚骨的影响。
根据这个我们可以将骨骼动画理解为两个概念:
骨骼:用以控制蒙皮的一种抽象的概念,如人体骨骼控制皮肤。
蒙皮:被骨骼控制、并显示在外的因素,如人体的皮肤被骨骼所影响。

骨骼动画原理:蒙皮(SKINMESH)

在最终的渲染结果中,蒙皮将完全显示出来,蒙皮实际上就是顶点、法线和纹理坐标等将被渲染的元素。
而其中,最关键的当然是顶点,顶点将直接被骨头牵扯运动,因而使得整个模型呈现骨骼所决定的样子。
 

骨骼动画原理:骨骼(SKELETON)
o骨骼是一种抽象的概念,在最终的渲染结果中,它不可见。
o类如人体骨骼、骨骼是若干骨头(Bone)成树状的集合体,而每块骨头又分别与若干数量的蒙皮顶点关联。
o当骨头运动的时候,与之关联的所有蒙皮顶点也会受骨骼的影响而运动。

骨骼动画原理:权重
骨头与蒙皮顶点的关联需要考虑到每块骨头对蒙皮顶点的影响。
尽管大部分情况下,一个顶点将仅仅被一个骨头的影响,但是关节处的顶点往往被多根骨头影响,例如踝关节,可能会分别受小腿骨50%和脚骨50%的影响,这种影响叫作权重(Weight)。
在这种情况下,我们称踝关节的这些顶点,受小腿骨影响的权重是50%,受脚骨影响的权重也是50%。

骨骼动画原理:算法
骨头究竟如何对顶点施加影响呢?
现实世界中,每一块骨头都可以位移、旋转,受这些骨头影响的表皮细胞也会跟随骨头同时按权重做位移旋转。
在3D中,这种影响对于蒙皮顶点而言也是一样的。

那么实际上,每根骨头最终将被换算成一个矩阵,这个矩阵记录了旋转,平移信息,我们用这个矩阵来对蒙皮顶点进行影响。
在骨头中,一般使用四元数来获得旋转时的精确性,这样,骨头一般记录表示旋转的四元数和表示位移的一个矢量,最后,将四元数和矢量换算成骨头的矩阵,并用顶点与这个矩阵乘法以进行影响。
 

参考文章https://wenku.baidu.com/view/66175c47c4da50e2524de518964bcf84b9d52dcb.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值