通过对上篇教程内容的学习,我们掌握了如何使用表达式来控制时钟刻度的变化,接下来我们将学习如何利用标本来控制颜色的变化。
上一篇教程回顾:3dmax魔幻时钟动画教程(三)刻度变化②
【第三部分:利用脚本控制颜色变化】
利用脚本不仅可以控制刻度的长短变化,还可以控制它们的材质和颜色变化,例如离指针越近的刻度颜色越亮,而离指针越远的地方刻度越暗。它们的制作思路实际上是相同的,具体制作方法如下。
➊指定材质
打开MAXScript侦听器,输入“Select $box*"并按下回车键,即可选择所有的立方体刻度对象;接着在侦听器中继续输入"for a in selection do a.materials= =standard()"并按下回车键确认,这样所有选中物体都被指定了标准材质,如图所示。
❷设置颜色动画
接着设置漫反射颜色中的红色根据小球到刻度对象之间的距离而发生变化。在MAXScript侦听器中继续输入以下脚本。
for a in selection do a.materialdiffuse= =color ((distance a $sphere01)*60) 00
这句代码表示将颜色的RGB值赋予选中物体的漫反射,R=(distance a $sphere01)*60,G=0, B=0。其中R是利用分针位置的小球(Sphere01) 与刻度a之间的距离进行计算的,由于它们之间的距离值较小,而颜色值要在0~255之间发生变化,因此将它乘以60,以提高该值。
按下回车键后发现刻度的颜色随着分针的移动发生了变化,但是与我们期待的结果相反,接近分针的颜色很暗,而远离分针的颜色很亮,如图所示。
❸调整动画脚本
按下Ctr|+Z键取消刚才的运算结果,我们将刚才的R值变为倒数,并增加较大的倍数,使其值保持在0~255之间,修改后的代码为"for a in selection do a.material.diffuse= color(1000/(distance a $sphere01))00”,按下回车键后,可以观察到运算结果正常了,接近分针的刻度更亮,而远离分针的刻度更暗,如图所示。
❹加入时针材质变化
此时就可以加入时针的影响效果并制作关键帧动画了。按下Ctrl+Z键取消刚才的运算结果,执行[MAXScript> 新建脚本]命令,打开MAXScript脚本编辑器, 在脚本编辑器中输入以下代码。
for a in selection do
for t=0 to 100 do
animate on
at time t
a.material.diffuse=color (3500/(distance a Ssphere01)+(distance a$sphere02))-200)0 0)
这段脚本基本与前面的脚本类似,只是将R值的计算公式改为了3500/((distancea$sphere01)+(distance a $sphere02))-200,如图3.020所示, 这是为了加入时针参考小球(Sphere02)的影响,并且增加了R值变化的幅度,保证它们在0~ 255之间发生变化。在脚本编辑器中执行[工具> 计算所有]菜单命令,这样时针和分针影响材质颜色变化的动画就制作好了,至此本例制作完毕。
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。