|
|
-
- 使用表达式实现臂肌的自动凸出
- (学习如何使用表达式为简单的骨骼增加真实运动)
-
-
-
1) 手臂的模型你可以自已创建.
Fig.01

2) 画
IK 骨骼.
- 切换到 Actor 模块, 在右视图中使用Actor>Skeleton>draw 2D chain命令画一条有二个关节的骨骼系统。
- 第一单击点在肩部的位置,第二单击点在肘部,第三单击点在腕部。
*结果应该如下图

3) Enveloping(封套)模型
- 选择手臂模型,单击 Actor>Skin>Global envelope 命令,再单击 IK 骨骼.
- 单击 OK 应用默认值.
- 在右视图中选择并随意移动骨骼受动器,模型应该随骨骼的移动而移动。但是臂肌的变形是不真实的,以下我们要使用NULL物体和表达式来改变这一点。
4) 测试 IK, 放置 null物体,重新封套.
- 移动骨骼受动器,使手臂模型平直伸展,如上图所示。
- 创造一个null物体,命名为 "muscle1" 并放置它到上臂肌的中心位置。并沿Z轴旋转。如下图所示
- 选择第一个关节(上臂),使用成为 "muscle1" 的父物体.
- 使用 Actor>skin>Envelope Assignment>Reassign Automaticaly
命令.进行重新封套。
- 移动受动器,你会发现臂肌并没有随相应运动而凸出,这将要使用表达式来完成。
-
5) 保存场景
6) 创造"muscle1"物体的运动表达式
- 切换到 motion 模块.
- 选择 "muscle1" 物体,并选择 Motion>expression>edit 命令打开表达式编辑窗口。
- 在 effected elements 文字框应该有 [Muscle1.] 这几个字。
- 在其后面输入 etrny [Muscle1.etrny] (受控参数为 Y轴的移动)
- 单击 "expression" 文字框,单击 Scn elements 按扭,单击 "jnt1_2"(前臂关节)
- 现在 expression 文字框所显示的应该为[jnt1_2.]
- 在其反面输入 rotz ,文字框中的显示为 [jnt1_2.rotz]。(null物体的Y轴运动受前臂关节的Z轴旋转所控制)

7) 调整表达式
- 啊啊!!, 发生了什么事?!
- 它需要调整,它的移动太夸张了。
- 选择 "muscle1" 并进行表达式编辑.
- 将 expression 文字框改为 [jnt1_2.rotz / 130] (移动的距离为旋转的1/130)
- 到此,所有的工作完成,臂肌将随手臂的移动而进行真实的凸起。

-
|