MAX Reactor之布娃娃约束(Ragdoll)

1、什么是布娃娃约束?

其实不能叫布娃娃,而应该叫关节约束,一个约束只能用来模拟一个关节,如父对象是躯干,子对象就是上臂;如父对象是上臂,子对象就是前臂;如此类推。因此,要建立出一个类人的布娃娃至少需要6-7个布娃娃约束。组成布娃娃各部分的刚体必须都在一个刚体集合内,该布娃娃的所有约束都必须用一个解算器。

此约束空间定义如下:

•原点作为子实体和父实体之间约束的附着点。
•扭曲轴,即子实体相对于父实体围绕该轴进行扭曲。使用此轴可以指定扭曲限制和子实体允许的圆锥体运动。
•以附着点为中心的平面和平面法线;此平面用于定义子实体在圆柱体内的运动的进一步限制。

2、原理:

如图所示,一个关节是由三部分构成的:扭曲、扇形和平面。

Twist----扭曲 以上臂为例,扭曲代表了你的上臂可以作小规模的扭动。此插图显示三条重要的轴:扭曲轴平面轴扭曲 X 平面轴。扭曲轴可能是最容易形象化的,只需伸展手臂,旋转手臂使拇指从指向上方变为指向下方,便可形象化扭曲轴。您的运动只是沿肩膀和肘部的扭曲轴进行一系列旋转。通常情况下,扭曲轴应符合关节中子实体的长度。在 reactor 中可以指定向约束中间两侧扭曲的程度,而不必对称。

cone---圆锥体 扇形代表了你的上臂可以做环形运动产生出一个圆锥体。如果想象此约束表示肩膀,那么绿色体积就是上臂占用的允许位置范围。

Plane平面代表你的上臂可以前后摆动。

三者一起来进行限制就可以实现你上臂的约束。

1代表你身体,2代表你上臂。

A.扭曲轴

B.平面轴

C.扭曲 X 平面轴(向外)

2、参数设置

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...