2021SC@SDUSC
目录
分析概括
模块功能
该模块主要用于骨骼的运动控制,主要作用于Dust3D中的姿势模块,可以通过控制骨骼来控制几何体的姿势和动作
IK算法
骨络动画中有两种骨骼绑定模式:FK(正向运动学,Forward Kinematics)和IK(逆向运动学, Inverse Kinematics)两种。Dust3D中主要采用了IK控制骨骼运动,先确定子骨骼的方位,反向推导出其继承链上n级父骨骼方位。


IK的计算方法可分为两种:ccd方法和雅可比转置矩阵法。
1.循环坐标下降法(Dust3D所用的方法,详情见后文)
2.可以使用雅可比转置矩阵,它定义了末端效应器如何基于整个系统的瞬时变换而变化(末端效应器就是指整个骨骼链的末端),求得的矩阵示转置,就可以得到要求的矩阵。

关键代码分析
SkeletonIkMover.h分析
struct SkeletonIkNode
{//IK节点信息
QUuid id;
QVector3D position;
QVector3D newPosition;
};
class SkeletonIkMover : public QO

本文详细介绍了Dust3D软件中用于骨骼运动控制的模块,重点探讨了逆向运动学(IK)算法的应用,包括循环坐标下降法(CCD)的实现细节。通过对SkeletonIkMover类的源码分析,展示了如何通过CCD求解骨骼运动,以及在迭代过程中如何调整关节角度以达到目标位置。此外,还讨论了关节限制条件在IK计算中的处理方法。
最低0.47元/天 解锁文章
1081

被折叠的 条评论
为什么被折叠?



