以电影《神偷奶爸》为例,浅谈动画脚本语言在动画教学中的运用
摘 要:随着国内外制作动画水平的不断提升,艺术与技术的结合也越来越紧密,对动画人的技术水平要求也越来越高。在实际创作中,一些繁多复杂的动画任务全部用传统的手工调整已经不能满足动画制作的要求,而应用脚本编程辅助制作动画方便快捷,省时省力,是制作动画时不可缺少的有力帮手。本文以《神偷奶爸》中的脚本语言应用为例,浅谈动画脚本语言在动画教学中的运用。
关键词:MAXScript;优势;简单;易学
《神偷奶爸》是一部2013年上映的3D电脑动画电影,该影片由照明娱乐公司制作并由环球影片公司发行,它是环球公司成立102年以来最赚钱的电影之一,其中,迷你萌物“小黄人”是最大的功臣。当我们被《神偷奶爸》中一个个小黄人吸引的时候,有没有想过如此多的小黄人是如何制作的?这么多的小黄人如何能够既快又好地实现呢?
其实,我们看到的一些优秀创意或是精彩画面的呈现,大多是动画编程技术给予的技术支撑。《飞屋环游记》中成千上万的气球,《里约大冒险》中百万只动物大狂欢,《冰河世纪》中飞流直下的坚果等都有动画编程技术的帮忙,角色大场面、大效果的呈现都需要编程技术给予协助。在动画创作中,编程脚本语言不断发挥着自身优势,在产业化生产中,编程技术更是发挥着重要作用。以电影《神偷奶爸》中的小黄人为例,一个场景中需有上百个这样的角色,应用手动调整任务繁杂,重复性工作多,而应用脚本制作简单方便。例如,在场景不同位置中创建100个小黄人,如果要用传统的手动交互制作费时又费力,而用脚本语言制作就简单快捷。只要把已创建好的小黄人用脚本语句进行复制就可以,在3dMAX中应用MaxScript脚本语句输入以下语句就可以实现:for i=1 to 100 do copy $ pos:[(random -200 200),(random -200 200),(random -200 200)]一个循环语句,场景中100个随机摆放的小黄人就制作好了,若要创建1000个小黄人只要把语句中的100改成1000就可以了。若要创建更多的小黄人更改相应的数值就可以完成创建,由此推理,创建千军万马,万马奔腾的场景也并非难事。应用脚本语言制作可以把复杂的制作任务变简单,把重复性多的工作变轻松,改变传统的制作方式,当有大场面、多角色的创意出现的时候,我们不用担心技术难题而不敢尝试。
很多动画人对编程技术存在畏惧感,其实,相对于高深的编程来说,动画脚本编程的优势在于简单易学,它对于学动画的人来说并非高不可攀。动画脚本语言依托于动画制作软件,它没有严格的语法规则限制。学习起来不费劲,了解了基本语法之后就可应用,学习门槛低,编程零基础的学生亦可学习。许多动画制作软件中设有这种脚本语言。例如,3ds Max中的MAXScript,Maya中的Mel,Flash中的Actionscript,Director中的Lingo等等,编程脚本语言依托于动画软件来帮我们完成复杂的动画,在这里我主要介绍一下MAXScript。
MAXScript是为了扩展3ds Max而设计,它是3ds Max的内置脚本语言,是一种基于表达式的语言,它可以应用于Max建模、动画、材质、修改器、渲染等模块。MAXScript的强大在于用MAXScript不仅可以编写3ds Max的全部功能,还可扩展其他软件中的优势功能,也就是说,如果您MAXScript应用得好,在MAX中还可以实现Maya中的功能,MAXScript对于高手、新手都很适用。MAXScript是编程语言中最自由的一种开源环境,不受格式约束,语法规则没有严格要求,可以编写拓展插件,可以编写程序面板、卷展栏、浮动窗口、按钮等等,具体来说,它的特点及功能有:第一,MAXScript可以实现Max界面下的交互操作,覆盖了绝大部分功能。例如,建模、动画、材质、灯光、渲染处理等等,可以直接使用脚本语言进行软件操作,如果MAXScript使用得好,可以对Max功能进行扩展和完善,高级用户可以编写或改写插件,如果使用得好,它还可以实现maya等其他软件中的功能,它允许高级编程用户对软件功能进行拓展开发,适合不同级别的用户使用。第二,脚本语言可以把动画师从简单重复性的工作中解脱出来,让计算机帮助我们完成复杂重复性的工作,它可以将传统手动交互很难完成的任务简单实现。例如,应用脚本可以模拟上千个球体的星系,可以使物体按照某个特定的数学曲线运动,可以生产逼真的群鸟飞翔的动画,简单的群体动画、粒子动画都可以应用脚本实现,如果这些任务用手动完成是很麻烦的重复性工作,应用脚本却简单方便。它还可以建立批处理设置,可以应用脚本语言一次渲染多个场景文件等。第三,脚本开源,很多常用的MAXScript脚本被编成了实用的脚本插件,免费供大家使用,使用者下载后只要在脚本中打开它就可以实现,不受软件安装版本的影响,十分方便。
诸多动画软件中的编程脚本工具像MAXScript一样功能强大,容易掌握。在实际工作中,掌握脚本制作动画是制作复杂动画的新捷径。当遇到大场面、群组角色等复杂繁多的任务时,应用动画编程脚本语言制作事半功倍,以《神偷奶爸》中一大片七彩的气球为例。第一步:创建并设定好一个气球的模型与材质,然后打开种树插件,拾取刚创建的气球,在场景中任意位置拖动鼠标,都可以创建一大片气球。第二步:给气球添加七彩的颜色,这里设定颜色的随机需要首先把已经设计好的气球的材质等放在材质编辑器中,根据材质编辑器的顺序依次排列这7种材质,然后选中场景中的所有气球,输入随机命令。例如,for i in $ do i.material=meditmaterials[random 1 7]随机设定颜色就赋予了场景中的气球,不管场景中有多少物体,如有随机设定颜色就用上面的脚本代码就可以了,操作简单,易学易用,如果遇到问题可以查找帮助,或是脚本参考手册,网上的资源也很丰富,还可以通过网络查询得到答案。《神偷奶爸》中众多地方可以应用MAXScript脚本实现,一个递增的变量循环可以做出并列一排的小黄人或是多个小黄人排成不同的形状。一个随机命令可以创建多个不同位置或不同大小的小黄人。例如,动画影片中的小黄人虽然形象上一样,但也各有特点。有的小黄人稍胖点,有的高点,有的瘦点,要想让每个小黄人不同于彼此也不是难事。应用随机命令就可以了,给所有的小黄人不同的参数,随机生成,效果高,效率高。在制作中,随机、循环、判定等语句在脚本应用中经常碰到,需要制作者灵活运用。MAXScript脚本制作强大之处在于,很多成熟高效的插件免费供大家使用。例如,MAXScript中的建筑生长插件,脚本语言中已经写好旋转、缩放、位移、可见等多个参数内容,只要按要求选中物体,点选几个参数即可完成建筑从无到有的生长过程或是变形过程。时间长短自由设定,变形速度自由设定,所有制作内容都由计算机计算得到,完全不用手动一帧一帧设定关键帧,如果要制作变形金刚突然变形的效果也可利用此插件,制作起来十分便捷省力。又例如,当要制作城市中车流快速流动的效果时,应用时光流逝插件,只要设定好流动的车辆、车辆间的距离、速度等相关的参数,计算机就可以生成高峰时段车流快速滑动的效果,像时间的快播一样,仿真性强,准确性高,虚拟车流的运动效果也不错,快捷之处是整个计算都由程序设计完成,鼠标点选几个参数就可以实现很炫的动画效果,完全不用手动交互创建调节,十分方便。此外,常用的还有种树插件,类似种菜游戏一样复制物体,把物体点选到种植插件中,就可以随意在场景中复制新的物体,完全不费劲,MAXScript让一些重复性的枯燥工作像玩游戏一样,有趣实用。
诸多动画软件中的编程技术易学实用,动画人不懂编程技术的局面应该打破,在实际工作中,随时可能遇到需要脚本帮我们完成的任务,它是制作复杂动画的新捷径,应鼓励动画人学习并能应用动画脚本。在动画编程语言的教学中,首先应从心理上打破学生对编程语言的陌生感与距离感,以简单易学的实例让学生了解学习方法与制作方法,从心理上客服对编程语言的抵触情绪。以直观简单的精彩实例阐明脚本语言的制作优势,激发学生的学习兴趣。作者在实践教学中走来,从学生的反应来看,以实例为主讲解语法规则更能激发学生的学习兴趣,促使学生快速进入学习状态。例如,讲解一些快速生成动画的插件,分析国内外优秀特效的脚本制作方法,逐步让学生能够从认识脚本,读懂脚本,然后到灵活应用脚本,改编脚本,直至能够自己编写脚本。从入门到贯通,慢慢熟悉掌握脚本中的语法规则与应用规则,达到该课程的学习目标。有编程基础的学习者使用该脚本更为轻松,此脚本语法规则少,学习应用起来更灵活,可以运用脚本做出更为成熟的作品。影视、广告、室内设计、景观设计、建筑设计、工业设计、多媒体设计、游戏、辅助教学等高端用户都在使用脚本语言,这方面已经有很多很好的应用案例。
随着国内外制作动画水平的不断提升,艺术与技术的结合也越来越紧密,手工交互调整动画,已经不再满足动画制作的要求,应用脚本制作动画成为新宠。在动画创作中,应用脚本编程制作动画不仅方便快捷,省时省力,而且对于动画制作者来说,掌握一门与动画相关的脚本语言在未来的发展道路中是相当有益的。
参考文献:
[1] 亓鑫辉,张汉平.3ds Max影视特效火星课堂——脚本应用篇[M].北京:人民邮电出版社,2011.
[2] 邱建英.基于3ds Max的三维水墨动画设计及应用研究[Z].
[3] 王华.3ds MAXScript脚本语言完全学习手册[M].北京:北京科海电子出版社,2006:755-759.
作者简介:高晶(1984—),女,山东青岛人,北京大学硕士,青岛农业大学动漫与传媒学院讲师,主要研究方向:计算机动画。
唐俊(1984—),男,山东青岛人,硕士,青岛农业大学动漫与传媒学院讲师,主要研究方向:计算机动画。