图片:
事实上,这个脚本只是我们前面的移动桌椅练习的延伸(又嵌入了for循环和随机数功能),不同的只是(增加了z轴运动)拓展到了三维空间与时间的变化。刚才的脚本用通假代码可以这样理解:
for 所有名称中包含"table"的物体
(
at time 大约30,60,90帧 设置关键帧:Z轴位置为5到30的随机值
at time 大约30,60,90帧 设置关键帧:X,Y轴旋转2度以内,Z轴旋转30度以内
)
for 所有名称中包含"chaire"的物体
(
at time 大约30,60,90帧 设置关键帧:在局部坐标XY轴上移动最多2单位,Z轴运动最多6单位
at time 大约30,60,90帧 设置关键帧:在局部坐标XY轴上旋转最多2度,Z轴旋转最多5度
显然,对于具体数值的选择可以依个人审美观点而不同。上面的只是脚本程序结构的演示,可以非常灵活地修改。
还要记住的是,与粒子动画和修改器驱动动画所不同的是,这种动画方式可以作为手动动画的基础操作——如果我们对上面四个桌子运动中的三个满意而不喜欢最后一个的动作,可以直接进行手动修改。尽管如此,我们如果没有这一脚本的话需要耗费的手工操作要多得多,因此即使脚本操作的结果不十分完美,我们仍然节省了许多手工操作。
仅仅使用MAXScript中的几个词,我们已经可以批量处理大量物体、设置场景随机化、甚至生成动画!即使我们不再深入研究更多脚本知识,现有的几手已经等于掌握许多灵活而强大的工具了。