基于MAXScript的三维水墨效果仿真研究及实现

时间:2022-02-01 01:41:28

基于MAXScript的三维水墨效果仿真研究及实现

摘要:论文提出了一种基于MAXScript的水墨效果仿真方法。算法将材质分为勾线效果、晕染效果、合成效果及彩墨效果进行仿真,再进行合成。本方法利用MAXScript编程实现基于3ds Max的水墨材质插件,实现墨水晕开和外部轮廓勾线的效果及两者的合成效果、彩墨效果。并对几种效果进行封装,实现三维水墨效果仿真。

关键词:MAXSript;勾线效果;晕染效果;合成效果;彩墨效果

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-03

近几年是中国不平凡的几年,“中国热”现象持续升温,中国特色动画形式——水墨动画经历辉煌、沉寂之后,以三维技术的形式再次吸引了大家的眼球。

传统水墨动画曾因难度大、耗时耗力而难以为继,三维水墨技术将水墨动画的难度一再降低,但水墨动画并没有普及,而水墨效果的模拟已经成为制约水墨三维动画发展的拦路虎。

水墨风格效果仿真的处理方式主要为两类:一类是基于物理原理的模拟,另一类是基于图像特征提取的模拟,以及再现。第1类方法的特点是绘制,以原画绘制为主体,水墨效果以位图为材质基本元素,效果好,但缺点是非常耗时。第2类方法的特点是更加快速,但绘制效果不如前者逼真,且开发技术难度大。

从制作动画的角度考虑:使用第1类方法需要大量原画人员,且只能进行离线渲染;使用第2类方法渲染速度快,适合应用于网络游戏及动画领域。

如何更好的拥有渲染速度快及技术难度低一点的水墨效果设计方法,是一个值得研究的问题。

1 MAXScript脚本开发技术

3ds Max作为国内用户最多的三维动画设计软件,大受用户欢迎,然而其三维脚本插件技术却鲜为人知。近几年各高校动漫专业遍地开花,动漫学习者人数每年逐次增加,而知道或者听说过MAXScript的却寥寥无几。对于熟悉3ds Max的人来说,脚本绝对可以带给大家全新的理念。

1.1 艺术设计群体脚本开发技术分析

一部动画片是否“好”,不在于其所使用的是什么技术,技术故事画面和情节能否打动人才最关键。真正好的动画片,靠的是故事本身的感染力和情感诉求与观众产生共鸣。作为其表达情感的一种方式,如何更好地利用现有技术来为展现画面感染力服务,是设计者最关注的。动画艺术设计者可以没有很好的“高深”技术编程能力,但一定需要具备发现美、展现美的能力。因此,艺术设计者往往会将更多的精力用于后者的培养,应用编程技术来开发作品的能力则一般较低。

而三维动画或为了达到更真实更具美感的效果,或为了更快速而有效的完成某一特效,需要更多功能强大的应用软件或插件来实现。

然而CG设计行业的现状是,插件设计者与一线的艺术作品设计者交集较少。尤其国内,插件开发者一般从事图形学和三维重建等的研究,而作品设计者一般是艺术设计专业人才[1]。如何将艺术创作和需求的插件设计结合起来,使基于插件开发的群体更好地把握所需特效的精髓,是需要解决的一大问题。

1.2 MAXScript脚本特征分析

MAXScript脚本语言最大的优势——易学易用。MAXScript非常适合没有编程基础的大众用户特别是艺术设计类用户学习。因为它的语法格式和规则非常少。MAXScript脚本语言除了能把脚本做成工具栏的按钮以外,还可以通过命令行窗口将用户在3ds max用户界面中的操作转化为MAXScript脚本。

脚本语言必须具备的特点——功能强大。MAXScript语言具备一般程序语言的普遍特点,而且几乎可以实现所有3ds max界面下的交互操作。MAXScript完全基于OpenGL以及VC核心制作,功能强大。如果能好好利用MAXScript,完全可以在3ds max里实现许多MAYA等工具的优势功能。

与国内应用最广的三维动画软件3ds max——融合最好。MAXScript是3ds max内置脚本语言,是3ds max软件最好的表达式和插件编写工具。MAXscript很好地融入到了3ds max用户界面中,可以将脚本集成为程序面板、卷展栏、浮动窗口或者工具栏中的一个按钮,也可以用来扩展或替代对象、修改器、材质、贴图、渲染效果和大气效果的默认设置界面。

1.3 MAXScript脚本开发技术应用

3ds max中的插件又称作外挂滤镜(Plug_in),3ds max允许用户对软件功能进行重新卡发,对软件功能进行扩展和完善。因此,3ds max中已有的外挂滤镜,大部分可以重新被扩展,或重新定义——在MAXScript脚本语言中这种能力被称为“规划移植”[2]。

MAXScript并不能对所有的插件进行新对象的扩展,部分插件类型限制只能对已有的插件进行功能性扩展,如本插件中需要用到的贴图插件。还有个别插件类型暂时还被限制扩展。在编写MAXScript插件时必须指定对应的插件类型,才能调用该插件类型的相关属性。

MAXScript脚本文件大致可分为3种类型:程序型脚本(.ms)、插件型脚本(.ms或.dlx)和宏脚本(.mcr)。

根据类型的不同,文件名和所使用的方式也有所不同。3ds max软件本身提供了很多脚本范例,都可以直接使用,有些非常优秀。另外,国外的一些脚本网站也提供了大量的免费或收费脚本。

3ds max脚本扩展名为*.ms,可以使用记事本来编辑脚本另保存为*.ms,3ds max内置有一脚本编辑器,通常使用这种方式来编写脚本。

MAXScript脚本语言因其语法格式和规则非常少,操作相对简单,适合没有编辑基础的用户。国外有不少免费学习网站,同时还有不少优秀的免费插件开源,对于学习MAXScript脚本语言有较大的帮助。

2 基于MAXScript的水墨效果仿真

水墨笔触的特点遵循了中国特色艺术特点,所谓“大音希声,大象无形”,描述的是一种和自然融为一体的境界[3]。水墨笔触就是一种墨水与宣纸融为一体,墨的浓淡、宣纸不同位置对墨水的吸收自然呈现,仿佛自然存在于宣纸上,没有刻画痕迹的特殊笔触,对水墨笔触的模拟难度是可想而知的。

ChineseMaterials水墨材质插件是对水墨晕染[4]与勾线效果[3]的仿真设计。通过MAXScript脚本语言对3ds Max的标准材质插件进行扩展,得到本插件。插件功能模块如图1。插件功能结构表如表2。

由于两部分功能是独立存在的,所以,对造型的笔触描述可以根据实际场景进行部分效果的模拟,如有些造型不需要勾线效果,只注重内部墨水的自然晕开,就可以只应用“晕染效果”功能直接设计对应材质。

3 仿真效果算法设计

ChinesePainter插件主要实现了对水墨笔触的模拟,通过材质实现模块的“勾线效果”、“晕染效果”、“合成效果”、“彩墨效果”四个子模块,实现了对水墨效果和彩墨效果的模拟。

3.1 “晕染效果”效果仿真

水墨材质插件ChinesePainter 的“晕染效果”模块是本插件的核心部分。主要用来调制水墨材质的内部墨水晕开的效果。具体设计算法如下:

Step1 设置材质的不透明度贴图为衰减贴图。通过设置衰减贴图的颜色、类型、衰减方向并调整混合曲线,得到衰减效果。

Step2 设置衰减贴图1为渐变坡度贴图。通过指定渐变坡度贴图参数的标志1、2、3及渐变类型、噪波相关参数,得到渐变效果。

3.2 “勾线效果”效果仿真

“勾线效果”模块主要用来模拟外部轮廓线。水墨动画中也有不描绘外部轮廓的造型,所以“勾线效果”模块为可选项。

本程序段的编写具体对材质进行的设置与“晕染效果”类似,不同之处在于参数值的变化。

3.3 “合成效果”效果仿真

“合成效果”部分主要实现“勾线效果”和“晕染效果”两种效果的混合效果,用户需要先设置“勾线效果”和“晕染效果”两种材质,通过“合成效果”按钮指定合成材质的基础材质为“勾线效果”材质,再指定材质1为“晕染效果”材质,即可实现两者的合成效果。

当然,在不同的用户需求下,合成效果的使用情况会有所不同,对于不同动画造型,可能出现部分使用合成效果,部分只取勾线效果或晕染效果一种效果的情况。因此,合成功能当根据实际情况使用。

3.4 “彩墨效果”仿真

“彩墨效果”部分主要实现用户对彩色对象的设置需求,如水墨荷花中的荷花等,自然界的许多动植物都可以调制彩墨效果。

Step1设置材质的不透明度贴图为衰减贴图。设置衰减贴图的color1、color2和curve曲线,并指定衰减贴图的map1为渐变坡度贴图,实现衰减效果。

Step2 设置渐变坡度的渐变参数,如:flag1、2、3的位置和颜色,并设置渐变类型和对应噪波参数,实现渐变效果。

4 实验结果

本文使用上述方法,利用MAXScript设计了Chinese painter水墨材质插件,对多个静态造型进行测试,均达到较真实仿真水墨效果。为了验证将其应用于动画、游戏及其他数字娱乐产业的可行性,而进行了实时动画的制作。本文使用3ds max设计了一个简单茶壶模型,对茶壶模型分别进行了三种水墨效果的渲染。并制作了一部水墨效果动画短片,对其中的花朵应用彩墨效果进行了渲染,渲染窗口大小为800*600(pixel),模型水墨效果仿真如图4,其中图4(a)为晕染效果仿真,图4(b)为勾线效果仿真、图4(c)为合成效果仿真,图4(d)为彩墨效果仿真。

5 结束语

水墨动画作为极具中国特色的动画形式,在经过三维技术重构以后,以全新的形式再次吸引世界的眼球,然而三维水墨技术的开发难度大,本文提出一种基于MAXScript脚本的水墨材质设计方法,操作简单易学,并开发对应的设计插件,可以快速自动生成默认的水墨效果,同时提供自定义模块,供广大艺术设计工作者参考使用。

参考文献:

[1]何芳.基于GPU的3D水墨动画技术研究[D].天津大学硕士学位论文.2008.

[2]王华.3ds MAXScript脚本语言完全学习手册[M].北京:北京科海电子出版社.2006:755-759.

[3] 鲍海燕.从3DS MAX软件到三位动画产业[J].硅谷.2008,(24):194-195.

[4] Bousseau A, kaplanM,Thollot J,et al.Interactive watercolor rendering with temporal coherence and abstraction[C]//Proceedings of the 4th International Symposium on Non-photprealistic Animation and Rendering.New York:ACM Press,2006:141-149.

[5] Luft T,Kobs F,Zinser W,et al.Watercolor illustrations of CAD data [C]//International Symposium on Computational Aesthetics in Graphics,Visualization and Imaging.Lisbon:Eurographics Association,2008:57-63

[作者简介]邱建英(1982-),女(汉族),湖南益阳市人,硕士研究生,阳江职业技术学院讲师,主要研究方向:计算机动画、交互式媒体技术。

【基金项目】阳江职业技术学院重点教改课题《基于3ds Max的三维水墨动画设计及应用研究》(项目编号:2011jgzd03)。

上一篇:瞳 第3期 下一篇:基于手持移动设备的的中职数控机床学习系统的...