DSMAX脚本语言创建批量物体动画方法初探

时间:2022-08-15 12:37:52

DSMAX脚本语言创建批量物体动画方法初探

【摘 要】MAXScript脚本语言是3dsmax中提供的一种面向对象的编程语言,它可以实现3DSMAX面板操作难以实现或者不能实现的一些功能。本文介绍了使用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语句,就可以批量的创建大量物体、设置批量物体动画,这些功能是3DSMAX面板操作无法实现的。MAX Script甚至还能实现场景中物体的随机化分布,甚至可以使用脚本自己开发外挂程序提高工作效率。所以,3DS MAX Script 给3D爱好者提供了更多的拓展空间,如果有兴趣钻研,其实可以使用MAX Script实现对三维建摸、动画的精确控制,从而全面提升3DS MAX 专业水准。

参考文献

[1]亓鑫辉,张汉平.3DS MAX影视特效火星课堂—脚本应用篇[M].北京:人民邮电出版社,2011.

[2]陕晋军.Max script 在建筑虚拟场景设计中的应用[J].电脑编程技巧与维护,2010(22):114-115

[3]况扬,袁玖根.MAX Script在建造大型虚拟现实场景中的应用[J].江西科技师范学院学报,2006(6):110-112

上一篇:浅谈家长在婴幼儿早期阅读活动中的指导策略 下一篇:从钢琴教学看中国钢琴作品教学价值研究