通过对上篇教程内容的学习,我们完成了前期的准备工作,其中包括有模型以及旋转动画的制作,接下来我们要学习的是利用脚本来制作动画。
上一篇教程回顾:如何用3dmax制作同心圆翻转动画(一)模型制作
[第二部分:利用脚本制作动画]
➊调整长方体长度
此时长方体的长度过长,复制完成后的长方体重叠部分较多,因此可以使用MAXScript脚本命令精确调整它们的长度。选择场景中的所有组对象,执行[组>炸开]菜单命令,将组对象炸开,在主工具栏中将坐标系改为[局部]坐标。
执行[MAXScript> MAXScript侦听器]菜单命令,打开脚本侦听器窗口,我们可以根据球体和长方体之间的距离决定长方体的长度,使距离球体近的长方体长度值小,而距离球体远的长方体长度值大。因此在脚本侦听器窗口中输入以下命令。
for a in selection do a.length=(distance a $sphere01)/12
在上述语句中,将所有选中的对象依次赋予变量a,然后根据变量a与球体“Sphere01"之间的距离值(distance a $sphere01)确定a中存储的长方体长度(length) 值,由于这个距离值过大,因此我们让它除以一个常量12,以缩小它们之间的比例差距。
在执行该命令前,首先选择所有的长方体,然后按下键盘上的Enter[回车]键,这样原来长方体中重叠的部分就得到了纠正,如图所示。
❷调整长方体宽度
接着调整长方体的宽度,它们的宽度均相同,只要使它们之间的接缝尽量小一些即可,因此我们将它们的宽度统一设置为27, 在脚本侦听器中输入以下语句。
for a in selection do a.width=27
仍然保持所有长方体处于选中状态,执行该语句后,在场景中可以观察到长方体宽度的变化,如图所示。
❸调整长方体高度
将长方体的高度统-设置为3个单位,在脚本侦听器中输入以下语句。
for a in selection do a.height= =3
执行该命令后,选择任意长方体,可以在它的[修改]面板中观察到[高度]值为3,如图所示。
❹制作偏移动画
播放动画,我们发现所有长方体同时进行翻转运动。现在需要使它们从里到外依次翻转,距离球体越近的长方体先翻转,而距离球体越远的长方体后翻转,这就需要再次通过长方体和球体之间的距离进行计算,设置不同位置的长方体关键帧偏移程度。
在MAXScript脚本侦听器中输入以下语句。
for a in selection do movekeys a ((distance a $sphere01)/10)
在.上述语句中,利用了球体和长方体之间的距离来确定长方体关键帧的偏移位置,由于这个距离较大,所以将距离值除以一个常量10,以缩小关键点之间的偏移距离。选择所有长方体,执行该语句后播放动画,可以观察到长方体按照距离球体的远近顺序进行翻转,如图所示。
❺制作随机效果
此时每一圈上的长方体翻转时间相同,使动画显得过于规则呆板,因此我们可以使用脚本进行一些随机化处理。选择所有的长方体,在脚本侦听器中输入以下命令。
for a in selection do movekeys a (random 03)
上述语句的意思是将长方体的翻转关键帧在原有基础上再次偏移0~3帧,这样在播放动画时,长方体的翻转运动就有了一些随机效果,如图所示。
❻预览动画
为透视图调节一个合适的观察角度,把球体“Sphere01" 隐藏起来。执行[动画>生成预览]菜单命令,在弹出的[生成预览]窗口中设置[预览范围]为[活动时间段],[输出百分比]为100, 其余参数保持默认,单击[创建]按钮输出动画预览文件,输出完成后会自动弹出播放器播放动画,如图所示。
※注释信息
如果没有弹出播放器预览动画,可以执行[渲染>RAM播放器]菜单命令,在弹出的内存播放器中打开生成的预览文件“scene.avi" ,它的默认路径为“我 的文档\3dsMax\previews"。RAM内存播放器如图所示。
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。