没有看到需要的3D模型吗?搜索试试: 
3DMAX表达式介绍教程
发表评论 来源: 编辑:cj 日期:2012-10-12
更多

本例讲解如何利用表达式功能实现上图的动画。

我小时侯玩过一种玩具枪,一扣扳机就有一只拳头飞出来,它的联动机构就和上图动画很相似。或更常见的那种老式拉门的运动机构也如上图动画所示:随着球的横向运动,逐渐拉开各个连杆。此动画看似简单,可能有朋友会上来就用关键帧来做,但以后要修改那些连杆长度什么的可就很麻烦了。所以,用表达式来做是最方便快捷和灵活的(图1)

同数值滑竿一样,基本上只要是可以输入数值的参数栏、修改器值和旋转角度、位移量、放缩比什么的都可以用表达式来控制。
 
先来看看本例,有四个连杆,随着杆1的倾斜,推动杆2,杆2再推动杆3……,依次类推,最终推动小球向右运动(拳头击出)。

这些运动是非常规律的,杆1、杆3的倾斜角度、方向相同,杆2、杆4的倾斜角度与1、3相同,但方向相反。杆2、3、4在倾斜的同时还横向位移一定距离,象是被杆1推开的一样。
 
表达式在这里替我们做两件事:一,设定杆2、3、4的倾斜角度跟随杆1变化;二,计算各杆横向移动的距离。
 
现在开始做,首先建立个圆柱体,再复制三个,这样产生四个连杆。(本例尺寸为直径1cm,高20cm)

接着设置杆2、3、4的角度跟随杆1倾斜。选择杆2,进入运动面板,给它的Y轴向指定一个表达式控制器。

接着弹出表达式窗口,各项注解如图。
在name栏输入一个变量名点击create可以创建一个变量,下面两项是变量的类型。
简单来说,标量就是单一的一个数值,而矢量则是一个数组,如(66,88,99),表示某物体的长,宽,高。所以,在建立变量时要确定好它的类型。
任何在表达式窗里输入的表达式都会由电脑计算出一个结果,而这个结果数值就反馈到你指定的物体上。
此处,表达式产生的结果将反馈给刚指定的杆2的Y轴的运动,比如表达式算出的值是30,则杆2的Y轴旋转30度。(有点罗嗦,见谅)

OK,说了这么多,只是要杆2的旋转角度和杆1一样,所以,要先建立个变量取出杆1旋转的值,再把此值赋于杆2。 如图建立变量“jiaodu”,再指定到杆1的Y轴旋转,这样,杆1的Y轴的旋转值将实时传递给“jiaodu”这个变量。(图形6)

本例讲解如何利用表达式功能实现上图的动画。

我小时侯玩过一种玩具枪,一扣扳机就有一只拳头飞出来,它的联动机构就和上图动画很相似。或更常见的那种老式拉门的运动机构也如上图动画所示:随着球的横向运动,逐渐拉开各个连杆。此动画看似简单,可能有朋友会上来就用关键帧来做,但以后要修改那些连杆长度什么的可就很麻烦了。所以,用表达式来做是最方便快捷和灵活的(图1)

同数值滑竿一样,基本上只要是可以输入数值的参数栏、修改器值和旋转角度、位移量、放缩比什么的都可以用表达式来控制。
 
先来看看本例,有四个连杆,随着杆1的倾斜,推动杆2,杆2再推动杆3……,依次类推,最终推动小球向右运动(拳头击出)。

这些运动是非常规律的,杆1、杆3的倾斜角度、方向相同,杆2、杆4的倾斜角度与1、3相同,但方向相反。杆2、3、4在倾斜的同时还横向位移一定距离,象是被杆1推开的一样。
 
表达式在这里替我们做两件事:一,设定杆2、3、4的倾斜角度跟随杆1变化;二,计算各杆横向移动的距离。
 
现在开始做,首先建立个圆柱体,再复制三个,这样产生四个连杆。(本例尺寸为直径1cm,高20cm)

因为杆2的旋转角度和杆1是一样的,只是方向相反,所以,表达式窗内只要输入“-jiaodu”就行了。如果杆1旋转了30度,变量“jiaodu”会立刻得到此值,而这里的“-jiaodu”就是-30度,明白?之后按下Evaluate赋值并关闭窗口。

更多
返回到顶部你应该还会关注的
无相关信息
  • 成都3D培训与成都3Ds Max培训火热进行中
  • 成都3Ds max培训咨询电话:13882015277 Q Q:咨询受理158080408
  • 成都道扬实训互助QQ群:超级群一:14255978(满员) 超级群二:97431412(满员) 超级群三:208015680
  • 版权所有 2007-2010 道扬素材网(at3d.com) 蜀ICP备08106739号