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

发表于2015-09-01
评论0 2.6k浏览
1) 手臂的模型你可以自已创建. 
进入右视图,创造一个简单的手臂模型.如下图。 

 


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



3) Enveloping(封套)模型 
选择手臂模型,单击 Actorgt;Skingt;Global envelope 命令,再单击 IK 骨骼. 
单击 OK 应用默认值. 
在右视图中选择并随意移动骨骼受动器,模型应该随骨骼的移动而移动。但是臂肌的变形是不真实的,以下我们要使用NULL物体和表达式来改变这一点。 
 
4) 测试 IK, 放置 null物体,重新封套. 
移动骨骼受动器,使手臂模型平直伸展,如上图所示。 
创造一个null物体,命名为 quot;muscle1quot; 并放置它到上臂肌的中心位置。并沿Z轴旋转。如下图所示 
选择第一个关节(上臂),使用成为 quot;muscle1quot; 的父物体. 
使用 Actorgt;skingt;Envelope Assignmentgt;Reassign Automaticaly 命令.进行重新封套。 
移动受动器,你会发现臂肌并没有随相应运动而凸出,这将要使用表达式来完成。 


  
5) 保存场景 
Actorgt;Save Scene
 

6) 创造quot;muscle1quot;物体的运动表达式 
切换到 motion 模块. 
选择 quot;muscle1quot; 物体,并选择 Motiongt;expressiongt;edit 命令打开表达式编辑窗口。 
在 effected elements 文字框应该有 [Muscle1.] 这几个字。 
在其后面输入 etrny [Muscle1.etrny] (受控参数为 Y轴的移动) 
单击 quot;expressionquot; 文字框,单击 Scn elements 按扭,单击 quot;jnt1_2quot;(前臂关节) 
现在 expression 文字框所显示的应该为[jnt1_2.] 
在其反面输入 rotz ,文字框中的显示为 [jnt1_2.rotz]。(null物体的Y轴运动受前臂关节的Z轴旋转所控制) 

7) 调整表达式 

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

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引