header_v1.7.40

保利博纳电影发行公司片头--石头与琉璃质感的表现

9年前发布

原创文章 / 三维 / 教程
carmack 原创,如需商业用途或转载请与carmack联系,谢谢配合。

本文最初是N年前写给CG杂志的一篇稿子,后来由于我将其贴到了我当时的个人网站上,被很多CG爱好者转载。可惜因为无暇打理自己的网站,空间域名也到期,就关掉了。

本文最初是N年前写给CG杂志的一篇稿子,后来由于我将其贴到了我当时的个人网站上,被很多CG爱好者转载。可惜因为无暇打理自己的网站,空间域名也到期,就关掉了。现在正好有这么一个空间可以发些东西。就再把它贴上来了。由于已经是多年前的文章,难免会有部分内容显得有些陈旧,也由于文章太久远我懒得再做修改,大家权且作为参考即可

                                                                                                                Daysview Digital Image
                                                                                                                                       -
carmack


原文:

 

石头材质


    与以往项目不同的是,这个片头不是在电视,而是在影院播放的,所以要求片子渲染精度达到2K。
原始模型是用Polygon方式建立的。如图(01)。

   大家知道,通常多边形模型在赋材质前都要进行分UV的操作,UV分得不仔细就会造成贴图的拉伸。不过,像上图这样的模型恐怕没有人会愿意去给它分UV。而且,此次不止渲染尺寸大,镜头距模型也非常近。在这样的情况下,任何一点点的拉伸都会严重影响渲染的真实感。在这种情况下,似乎只有一种方案:使用3D程序纹理。3D程序纹理的特性是不依赖分UV就可以在模型上产生没有任何拉伸的纹理。同时,它的缺点也很明显:在某种意义上不够真实。那么,怎样才能使它看起来更真实一些呢。一个办法是建立多个不同的3D程序纹理,然后用layeredTexture将它们叠加在一起混合。在这个石头的材质中,我用了两个3D程序纹理:
solidFractal和cloud。另外,为了使整体的渲染效果多一些变化,我还对材质做了一些局部的做旧.关于做旧这个话题,我在2004年2月的《CG杂志》上有过一篇文章专门讨论过。方法略有不同,但思路一样。见图(02)

    首先我先在正视图渲染了一张场景的GI图片。这里说GI不太准确,其实是ambient occlusion,或简称AO。具体如何生成这张图,很多方法,比如用MAYA自带的Mental Ray;用新推出的MAYA外挂渲染器turtle。甚至大家常用的GI_Joe等等都可以。具体我这里用的是turtle(只是生成这张图时用的turtle,最后渲染依然是MAYA默认的渲染器)。生成此图时,我的参数开得不够高,一方面是考虑到速度会快一点。另一方面,参数开得不够高会导致算出来的图会有一些斑点污迹(见图02下半部分)。而这种污迹在这里其实正是求之不得的。如果太平滑了,反而会使效果缺乏真实感了。一举两得。那么,生成的这张图有什么具体用处呢? 用来做遮罩!
    下面用一个简单的场景来说明它的用法。
    图(03)所示,就是这个简单场景的默认渲染。

首先,按照前面所述,在正视图渲染一张AO图。如图(04)

建立一个layeredTexture(层贴图),并连接到材质的Color属性.点击建立两个空层,分别改变它们的颜色为红色和绿色。如图(05)。

将刚才渲染的AO,贴在绿色层的Alpha属性上。注意,贴图的方式要选则投影方式,并且在方向上要与模型对整齐。渲染。效果如图(06)

    现在,你已经看到效果了。我所做的其实就是用这张纹理做为红色层与绿色层的一个遮罩。那么,按照这个思路,只要分别把绿色与红色贴上相应的纹理,那么我们所要的效果也就出来了。图07是石头材质的节点网。

图08为完成的渲染图,图09为原始的1:1尺寸时的局部截图。大家可以清楚看到其中的细节。

 

 

琉璃材质

    通过观察及查找一些图片资料,基本上可以通过两层材质来制作琉璃,低层的瓦,和表层的釉。这看起来有些类似于通常制作车漆的方法。 我用了layeredShader(层材质),注意它与前面所用到的layeredTexture(层贴图)是不同的。底层的瓦用了lambert材质来表现。表层的釉使用了Blinn材质,由于这一层是透明的,所以将材质的Transparency值打得很高,几乎完全透明。只取它的高光和反射。用图更容易看得明白。如图10

值得注意的是,无论是上面的石头材质还是琉璃材质,在它们的节点网中都出现了一个小组合,我想有必要对其简单介绍一下,以使大家能更清晰的了解这两个材质节点网。
如果将这个小组合抽离出来,并简化成最简单的状态,则如图11所示。

samplerInfo:是MAYA材质系统中最常用的节点了,几乎每一个材质都会用到它。
surfaceLuminance:可能不如samplerInfo用得多,但也非常有用。
multiplyDivide:在这里的作用是将samplerInfo与surfaceLuminance的效果结合到一起。
ramp:再常用不过的程序纹理!

用文字描述可能很麻烦,所以我做了下面这张图。如图12

    第一种效果在很多MAYA的教材中都有介绍,它利用samplerInfo节点的特性来制作类似X光的效果。
    第二种效果有点儿不一样,surfaceLuminance节点的作用是依照灯光方向的不同而产生变化。
    第三种是通过一个multiplyDivide节点来结合两种效果。上边的石头材质和琉璃材质都用到了这个组合。当然,这里列出的是最简化的连接方法,比如你还可以在中间加入clamp节点来限制输出值的范围。这样,当场景中灯光的亮度值超过1时,也不会出现不正常的现象。

琉璃最终效果!

成片效果大家恐怕都在电影院里见过。这里就不贴视频链接了。

===============================end============================

补充

    有朋友留言说还是把视频放上比较好,所以我就搜了一个这个片头的地址转过来。画面质量有点差。
另外大家或许会觉得片子中石头的颜色与上面的图有些不太一样。原因是这样的,当时片子的合成师是另外一位同事,所以在颜色调整方面自然会带有他的个人喜好。同时他也负责制作了片子后半部分云的效果。云使用MAYA流体结合matte painting

24
- 0位推荐设计师推荐 -
    没有新消息