《大力神》项目制作材质的制作
水晶石数字教育学院maya1班学员 《大力神》项目材质组长_朱柯名
在我们的毕业作品《大力神》中,我主要负责材质灯光部分,下面我把对这部作品材质灯光部分一些粗浅的理解和在制作过程中遇到的问题以及学到的一些东西写出来与各位CG爱好者们分享。
说到用三维技术还原一部采用二维手绘的动画大片,可能很多人会首先想到如何渲染出二维的效果,其实渲染本身还是挺容易的,MAYA默认的渲染器就足够搞定了,速度还是相当快的。对于这种风格的东西来说,我认为色彩的调配是非常重要的,不过好在我们有这么强的动画大片作参考^_^,但即使这样还是花费了大量的时间在校色上,渲染本身所用的时间远比校色要少。我们定位此类动画的色彩风格应该是明快,鲜艳的。
刚开始入手制作时的问题是如何定角色风格,我们一起商议过,如果完全按照原片里的风格,那么在绝大部分时间里角色身上的颜色是单色的,这是当时设计的草图
图1
但是感觉色彩过于单一,于是又尝试过这种立体感比较强的风格
图2
最终在保持原片风格的基础之上为了让色彩看起来相对丰富些,我们采用了主流的两种色彩过渡的风格。
要实现以上的效果,首先要用TOON材质的shader调出身体和衣服的色彩,然后需要用TOON outline调出卡通的边线。
我们可以用TOON材质球控制贴图的color gain,再输出到一个surfaceshader节点上,就完成了一个二维材质,嘿嘿,简单吧?打开Toon->Assign Fill Shader->Light Angle Two Tone,按图所示连接
卡通边线可以使用toon outline,选择角色,点击TOON菜单下的Assign Outline->add new toon outline会生成一个pfxToonShape节点,如图
在这种模式下生成的线感觉略显生硬和粗糙,这可能是渲染属性的设置导致的,打开渲染属性设置窗口,果然发现了Paint Effect Rendering Options的选项,但是分支下面还有些属性不太清楚,于是我们打开MAYA HELP,通过简单的查询发现oversample可以大大提高Paint Effect的抗锯齿性能,Oversample Post Filter的作用是对采样进行光滑的,于是毫不犹豫地勾上,渲染,果然效果好了很多!如图
这样渲出来的线果然很平滑,但是经过调整之后依然感觉人物身上的线条有些生硬,并不是很象二维动画里的手绘风格,于是又尝试了把Profile Lines改为Offset mesh的模式,这个模式是通过添加Mesh来实现边线的,简单调整了线的粗细Line Width属性参数之后果然发现线又圆滑了很多,明显的更加接近了我们希望的二维动画的风格,如图
下面是这些模式的对比
Paint Effects未打开抗锯齿
Paint Effects开抗锯齿
Offset Mesh模式
显然Offset Mesh在角色身上对于二维动画风格的体现更加自然一些,而且使用这种模式在硬件显示上速度明显比Paint Effects快不少。但是Paint Effects也有它自己的优势,例如在给头发加线的时候很容易出现比较恰当的轮廓线,而且随镜头变化起来也比较自然。所以最终我们决定对于角色身体使用Offset Mesh,头发、道具等使用Paint Effects.
在给角色打灯光的过程中发现TOON材质对灯光的反应不象三维材质那样明显,而且改变灯光所造成的影响在每个角色每个道具甚至同一角色的身体和服装程度都不一样,要想通过这种方式达到和原片里完全一样的色彩效果几乎是不可能的,例如需要一个夜晚的场景,通常我们都会把灯的颜色和亮度做修改,但是这样调整后发现角色各部分对灯光的反映程度都不相同,效果很不好,如图
于是我们保持原有灯光的色彩和强度不变,通过调整TOON材质的颜色来达到所需要的效果,结果还是比较满意的,如图
于是尝试采用了一般做三维动画都极少用的方式:灯光不变,每个镜头修改TOON的颜色和亮度,这样做果然可以达到比较理想的效果,但是效率不如只改变灯光那么高了,好在这样做每个镜头的色彩都是完全按照原片里去调,也很大程度上提升了我们对色彩的感觉,做多了之后似乎多少也能体会到一些迪斯尼大师们的用意了。这样做同时也使我们的角色只需要这样的4个平行光源就可以实现绝大多数效果。如图
在做一些特殊镜头的时候我们也遇到了一些不太容易处理的问题,例如有个镜头的背景有一片慢慢飘动的烟雾,开始我想到了一个最直接也是最难实现的办法,做模型出来,然后画上材质,最后给模型做动画,但很快就否定了这个想法--时间不允许,而且效果未必理想。材质动画是否可以解决呢?仔细观看原片发现原来老外也是这么做的,烟雾的形状根本没有变化,只是烟雾的纹理在不断变化,上升,这样造成视觉上的错觉就会认为烟雾的形状不断变换,上浮,于是建了一个烟雾的模型再加上材质贴图的运动和形变就实现了烟雾飘动的效果,在这里我用了一个3D程序纹理solidFractal,用它来影响lambert 材质球的透明属性,同时在不同的帧数上修改ripples的值并set key,如图
这样纹理就会随着时间的改变发生形态的变化,但这只是在原地变化,我们还需要上浮的效果,于是给这个 solidFractal的place3dTexture向上的位移并加一些旋转缩放,并给translate,rotate和scale属性set key,这样就可以实现上升的效果了。如图
总结:一部动画作品都是一个团队集体努力的结果,我们的毕业作品虽然很短,但是也离不开人与人之间的密切合作,材质灯光渲染部分前接模型、动画,后续后期合成,同时还要跟修复穿帮的工作交互,出一点差错都有可能带来巨大的损失,所以这与制作个人作品完全是两个概念,每天纪录工作日志和后续工作的安排都是非常有必要的,感谢老师给我们提供了一套非常合理的流程,这才使得我们能够在如此紧张的时间之内基本完成班级毕业作品。不论结果如何,我们都在制作过程中学到了很多东西,并且积累了一些日后工作所必须的经验,这才是我们毕业项目的意义所在。
此日志的引用地址
GB2312 http://blog.tyou.com.cn/trackback.php?id=76&encode=gb2312
UTF-8 http://blog.tyou.com.cn/trackback.php?id=76&encode=utf-8
























1 条评论
1.titi | June 12, 2007, 11:59 am
这是个系列报道啊?我看了很受用!哈哈
发表评论