返回列表 回复 发帖

Softimage 3D教程:使用表达式实现臂肌的自动凸出



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) 保存场景

Actor>Save Scene

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)
到此,所有的工作完成,臂肌将随手臂的移动而进行真实的凸起。
 


.看到这篇贴子...突然想到原来有个老师给我们示范用MOHO做的肌肉胳膊....那个表现的是太出色了....可惜啊..对那个软件还不太熟悉..
想要和得到之间有两个字:做到!            

^_^

这个有教程吗   
牛牛万岁
返回列表