【摘 要】MAXScript脚本语言是3DAX中提供的一种面向对象的编程语言,它可以实现3DAX面板操作难以实现或者不能实现的一些功能.本文介绍了使用MAXScript脚本语言实现两种批量物体动画的方法,以及在实现批量物体动画中的优势.
【关 键 词 】MAX Script;脚本语言;生长动画;叠加动画
MAXScript脚本语言是为了扩展3DS MAX功能而专门设计的一种语言,是面向对象编程语言中的一种.它功能强大,可以实现3DS MAX面板操作难以实现或者不能实现的一些功能,是影视和广告设计中强大有力的工具.但同时它没有很严格的格式要求,容易掌握,非常适合于没有语言基础的三维动画爱好者.
下面将以生长动画和叠加动画为例来探讨批量物体动画的脚本语言实现方法,并通过这两个实例展示脚本语言在批量物体动画中的优势.为了制作简单,实例中均以简单的长方体作为运动对象.
生长动画程序关键代码如下:
with animate on
for i等于1 to 100 do
(b等于 box pos:(random [0,0,0] [100,100,0]) length:20 width:20 height:10
slidertime等于(i-1)+20
at time slidertime b.height等于b.height+50)
这段代码首先创建100个长方体,然后为每个长方体分别设置关键帧动画,而且每个长方体的关键帧位置各不相同.如果使用面板操作将需要花费大量的时间和工作量,而用代码实现就容易多了.这类动画方法在建筑生长动画中经常使用.这段动画的特点是依次生长,动画过程截图如下:
图1 第10帧截图
叠加动画的程序关键代码如下:
b等于box height:60 width:20 length:20
for i等于1 to 100 do
(box_copy等于copy b
box_copy.pos等于(random[0,0,0] [100,100,0]))
select objects
animate on
(at time 0 $.visibility等于off
at time 3 $.visibility等于on)
animate off
animationRange 等于 interval 0 300
x等于0
for a in selection do movekeys a(x+等于3)
这段代码也是先创建100个长方体,再为每个长方体分别设置两个关键帧动画,然后需要顺序移动各物体的关键帧.如果使用面板完成是很困难的.这类动画在表现物体的叠加时经常使用.动画过程截图如下:
图2第71帧截图
通过以上两个实例可以看到,几句简单的MAXScript语句,就可以批量的创建大量物体、设置批量物体动画,这些功能是3DAX面板操作无法实现的.MAX Script甚至还能实现场景中物体的随机化分布,甚至可以使用脚本自己开发外挂程序提高工作效率.所以,3DS MAX Script 给3D爱好者提供了更多的拓展空间,如果有兴趣钻研,其实可以使用MAX Script实现对三维建摸、动画的精确控制,从而全面提升3DS MAX 专业水准.