反向动力学研究

您所在的位置:网站首页 反向运动学 反向动力学研究

反向动力学研究

2023-10-20 16:16| 来源: 网络整理| 查看: 265

1、我们来看一种比较普遍的情况。以下这张图是我们创建的人类骨骼的腿部部分,我们想实现使用腰部控制器来控制人物下蹲的方法。这里面有一个关键点就是,人物的下蹲需要面临地面的反作用力,因此当人物腰部下移的过程中,实际上是我们的大腿和小腿之间的膝盖部分向前倾,大腿和小腿之间的角度从接近180度变为不断的缩小这个角度。但是要保持人物的脚部仍然在地面上被地面支撑。就需要我们在这个过程中,不仅仅要调整腰部控制器,实际上大腿、小腿和脚部位置的骨骼都需要进行调整。这对于我们要实现的目标来说是非常麻烦的。

因此,使用反向运动学的目的就是来处理一类我们某一些骨骼的位置由于重力或者反作用力等要求保持位置不变,而其他骨骼需要随着这个骨骼联动的一种反驱动方法。下面将介绍这种方法。

2、在编辑模式从后脚跟的部分伸出一根骨骼我们起名字叫做IK反向控制。这根骨骼我们按Alt+P去掉父级。

3、我们进入姿态模式将IK反向控制骨和小腿设定反向控制约束,具体做法是,首先点击反向控制骨,然后按住Shift 再按小腿骨,然后按住Ctrl+Shift+C 选择逆向运动学(Inverse Kinematics)

我们发现被控制的小腿骨变成了黄色,这是加入反向控制约束的标志。另外我们点击小腿骨在点击右侧的约束条件,我们发现有两个属性,一个叫做链长,一个叫做极向目标。极向目标我们一会儿再讲。我们先说明一下这个链长,这个链长现在的值为0,代表被控制的这个小腿骨以及其以上的所有父类骨骼都会收到反向控制器的影响。

我们现在移动IK反向控制骨,我们发现所有的骨骼都会受到这个控制影响。要解决这种状态,我们需要修改链长的值,目前我们只想让IK控制器控制小腿和大腿,因此这个值我们修改为2。

4、修改之后我们发现腰部控制器已经不受这个IK反向控制器的控制了。但是我们发现脚部和IK反向控制骨之间并不平行,要处理这个问题,我们只需要将脚部的父级改为IK反向控制骨即可。

更改之后的效果如下:

此时我们移动腰部控制器进行下蹲动作,我们会发现脚部位置不动,大腿和小腿实现了自动弯折。

5、下面我们讨论一种异常情况,有时候我们在三维场景中尝试移动IK反向控制骨骼,我们发现有时候任务膝盖的指向并不合理。

为了让动作显得更加的合理,我们在大腿和小腿之间伸出一根骨骼改名为极向目标,并去掉父级,然后将其移动到膝盖的正前方。

在大腿骨的约束页面上点击极向目标的那个挤压墨水的按钮,然后点击极向目标骨骼。

然后我们挪动一下IK控制反向控制骨骼。我们发现我们调整极向角度为负90度是比较合理的配置,从而膝盖的指向方向也更加的趋于合理。

以上简述了极向目标和极向角度的作用,在反向控制的过程中使用极向角度和极向目标主要是为了给链长上涉及的多段骨骼调整成较为合理的运动方向。这个需要大家在实践中不断的去尝试。

本小节到此结束,希望大家继续支持。期待下一期吧。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3