这篇教程教脚本之家的朋友们用MAYA制作照片级食物材质,教程灰常灰常经典。转发下,希望脚本之家的朋友们喜欢这篇教程。先看看最终的效果图:
大家好,我叫Hau Ming (Jamie) Li,是制作这个《Cheese Platter tutorial》的女艺术家,这是我第二个用Maya,Photoshop以及Mental Ray制作食物的教程。我将在接下来的利用图片讲解怎样使用Final Gather照亮场景。
许多人问我为什么做关于食物的作品而不是其他的典型的环艺和角色的模型。我可以像其他CG艺术家一样去制作环艺和角色的模型,但是只有少数人能制作超写实的食物作品,而且我希望我的作品能具有个性从而使人记住我。另外,我想利用不同的材质和使用Final Gather照明而不使用SkinShader就能制作出超写实的作品来拓展我作为一个材质艺术家的视野。
下面就是吸引我来制作水果馅饼这个项目的实例参考图片。(图01)
图01
就像奶酪项目来说,我并不是100%的按照示例图片来做的。我在里面增添了素材,并且改变了照明以使它看起来好一点。同时,我没有对它进行模糊就像我以前的作品那样,我想有空间感在里面。
参考
就像我早先说的那样,如果你要制作一个超写实的场景的时候,在建模和贴图阶段拥有大量的参考图片是非常重要的。如果可能的话,你可以购买水果,将他们放在你的面前,在灯光下观察他们的,下面是我在制作过程中使用过的参考图片,我从网络上找到的。(图02)
图02
建模
水果馅饼的硬皮,我是使用旋转nurbs曲线获得的,在其中添加了很多的iso参考线,熟练操作曲线使之像一个水果馅饼的硬皮。接下来我将其转换成了多边形,翻转了法线并创建了uv。(图03)
图03
对于蛋奶糊来说,我使用一个nurbs平面,使之放置在水果馅饼上,并且检查了法线。(图04)
图04
对于盘子来说,我使用一个nurbs的cv曲线来旋转得到,将其转换为多边形,翻转了法线,细分一次,删除了盘子里面的一些边,以此来降低盘子的多边形面数但同时又能保持作为一个盘子所具有光滑的边。我本来想用nurbs曲面来制作这个几何体,但是我发现它的uv有曲解,于是我将其站换为了多边形。(图05)
图05
对于桌布来说,我使用了一个nurbs平面。(图06)
图06
山莓我是使用一个nurbs的球来制作,检查uv之后,我复制了很多个,将他们摆放好位置,使用晶格框来塑造他们的形体。
我使用nurbs来制作山莓没有像前面的物体将其转换为多边形的原因是,我需要一个光滑的有机体,如果是多边形的话,maya要占用多数的空间来计算聚在一起的平滑过后的物体,还有,nurbs具有自己的本身自带的uv,虽然有些小的曲解,这些曲解对于小水果来说就微不足道了。而且我将贴图的接缝部分放在山莓群的里面看不到的部位而不是朝外的部位。(图07)
图07
对于葡萄来说,我使用nurbs球体来制作,使用晶格框来调整形体。红色的葡萄在底部,比较红,比较光滑。绿色的葡萄比起红色葡萄来,形体上显得细长一点。(图08)
图08
黑色的浆果我使用的是nurbs球 体就像刚才制作的山莓,不过我现在将他们转换多边形,转换了法线,我将浆果里面的球体删除,最后将他们组合起来,这样减少了多边形的面数而且便于选择编辑。我使用晶格来编辑形体,将球体之间产生的空隙全部盖住,使他们像一个浆果。黑浆果的球茎要光滑一点,比起上面的山莓的球茎来。我没有给黑浆果创建uv,因为黑浆果的主体颜色是黑色的,只有一点
光滑的高光而且他们不像山莓那样是半透明的,所以黑浆果不需要uv贴图。(图09)
图09
对于蓝色浆果,我同样使用的nurbs球体,这次我将他们转换为了多边形物体,这样我可以更好的为他制作贴图。挤出边来制作叶子,最后翻转了法线。当我排放他们的位置的时候,我复制了很多个原始的蓝浆果,将他们杂乱的放置,缩放他们的形态大小,以起来是具有随机性的,充满生活气息而不是呆板的整齐摆放。(图10)
图10
对于石榴籽,我是复制缩放的果实部 分。我实际上不知道石榴籽是什么样的。过了一周的时间,我认为石榴是以至于在超市我没有找到新鲜的,(至少我的美国老师是这样告诉我的),直到我的巴西老 师说石榴在真实存在的,因为他的祖国就出口这种水果。确切的了解和明白你所要塑造和绘画的东西对工作是非常有用的。(图11)
图11
贴图
在我讲解关于我这个项目的贴图工作之间,让我来给你看看我的老版本的水果馅饼项目,我发到cgchannel上的第一个草图。
那段时间,我想创建另一个关于食物的场景,利用少量的皮肤shaders来快速渲染。所以你看这个场景并不是十分的超写实的,在这个场景里,我使用一个phong材质和fractal节点来制作果冻状的牛奶沙司,一个phong材质和fractal节点制作蓝色浆果,一个fractal节点和一个misss_fast_simple来制作山莓。剩下的石榴,甜瓜以及凤梨已经模糊的没有谁能看得出来了。
这个场景单帧渲染了有7分钟,只用了一点点的final gathing,而不像那个cheese platter却单帧渲染了有近一个小时。虽然这个作品渲染很快,但是模型和贴图的质量却是一般的,没有接近pixar的ratatouille的那种效果,所以我折回重新制作所有水果的模型,将甜瓜和凤梨替换成了红的绿的葡萄,除了黑浆果之外,剩余的模型我全部使用文件贴图而不是程序shaders,这样可以有更多的可控性来实现超写实效果。
我还使用一个misss_fast_skin shader代替subsurface phong来制作牛奶沙司,同时使用misss_fast_skin shader代替misss_fast_simple shader来制作山莓和葡萄。misss_fast_simple shader非产的基础,渲染比起skin shader来要快,但是他不会提供多的高光效果控制,如果你不再使用一个小的透明的球体的话,就不会出现水果湿润的效果来。(图12)
图12
这个教程对于那些已经知道怎么设置skin shader的人来说是多余的。(图13)
图13
如果你不会设置,那就看看tutorial from lamrug,这样对你阅读我的另一教程cheese platter tutorial也有帮助。
对于盘子,我使用一个blinn来替代mia-material,因为要缩短渲染时间。mia-material需要真实的物理光影想finalgathing 和ggobal illumation来使之看起来效果不错,但是blinn就不需要这个。依据距离摄相机的远近,使用mia-material的盘子渲染时间要比使用blinn的盘子长一些。下面是对盘子材质的高光属性的颜色以及反射属性的设置。(图14)
图14
对于桌布来说,我在会联网上找到的最大的图片是500像素的,没有alpha通道信息。我将它进行了放大,放大到2048,使用photoshop的魔棒工具将图案与黑色的背景分开。我使用亮度对比调节,将调节滑竿移动来适应丢失了的白色信息,使之看上去像新的一样,我将这个存为一个targa32位格式的transparency layer。对以bump and reflected color maps,我用噪点(noise)填充了一个空图层,对其进行动态模糊(motion blurred),然后在复制一个图层,旋转90°,然后使用photoshop的图层模式和透明度工具,对这两个图层进行调整,使之看起来像是纤维那样交叉的。
然后我合并了这两个图层,将合并的图层放我将bump map储存为一个targa24位格式的文件。我开始是使用一个lambert材质,但是不知道是什么原因,这种材质在馅饼酥皮的阴影之后总是会出现模糊,我更换了一个带有一点高光的anisotropic材质。下面就是透明贴图和凹凸贴图。(图15)
图15
对于蓝色浆果来说,我从互联网上找到了一个最大的蓝色浆果的参考图片,我把它全部放在了uvlayout上,接下来我使用克隆和复制工具来调节他的形状以适合uv,当我将参考图设置完成,我在photoshop中使用亮度对比工具,反复采样调节蓝色,利用得到的色彩建一个图层再利用图层模式来制作浆果带着白色果霜的效果。我使用一个带有一点点反射的phong材质和刚才制作的颜色文件贴图。(图16)
图16
对于馅饼的酥皮来说,我耗费了不少时间来寻找一个高分辨率的图片来制作贴图。我一度想用我的数码相机来拍摄一张图片,但是我的数码相机没有办法手动控制来获 得一张非常精细的具有详细细节的图片。
当我没有办法,只好寻找一些替代的图片来制作贴图的时候,我却发现了一张高分辨率的饼干图片,用它来为酥皮制作贴 图,使用photoshop将饼干图片裁切,缩放来使用酥皮的uv,用画笔将斑点一样的浅褐色的酥皮烤酥的地方在color map上画出来。
bump map只是一个简单的添加了噪点贴图,我将color map在photoshop中使用亮度对比调节,再加上一个黑色的背景层,就是specular map了。我也使用specular map贴到了酥皮的phong材质的反射率上,以给酥皮带来更多的细节,这个反射贴图是灰色的。下面就是馅饼酥皮的各种贴图。(图17)
图17
对于黑色浆果,我使用一个phong材质和一个程序fractal shader,并且反复的测试调节高光的值。(图18)
图18
石榴籽有两个图层,分别是里面浅白色的末端和外面淡红色的透明表皮,也许石榴籽是我曾经制作过的水果贴图中最难的了,从我在我居所附近的超市里找不到石榴,到我知 道的大多数的人们从来没有亲眼见到过真正的石榴是什么样子的,所以他们不知道那是什么东西在我的馅饼,也不知道参考图里面是什么。
对于里面浅白色的末端, 我使用一个surface shader 链接一个小的 glow,对于外面淡红色的透明表皮,我使用一个透明的phong材质。(图19)
图19
牛奶沙司是淡黄色的,带有明显的高光和一点反射,我从参考图中复制了一点牛奶沙司的颜色,将其填充满整个图层,再加上一点噪点,最后高斯模糊一下。对于高光贴图,我使用噪点滤镜,使用白色刷了几笔,最好在色彩平衡里面调节,使图片偏一点淡蓝色。我使用了一个skin shader,便于创建超写实效果。(图20)
图20
葡萄的材质和贴图是我找到一张葡萄的图片,将其缩放,使用亮度对比调节,色阶对比。我对树莓的贴图也是这样操作的,除了在图片的中间用白色画笔,下面就是我为红、绿葡萄还有树莓画的贴图。(图21)
图21
不用水滴就能表现新鲜水果的质感。
其实这个很简单,你只需要一个黑白色做成的噪点图像文件,然后色彩平衡中使之偏一点淡蓝色,将这个贴图添加给secondary specularity以及添加一点reflection,左边的图片是使用默认的secondaryspecularity,就是没有图片文件,中间的是secondaryspecularity使用了噪点贴图文件的葡萄的图片,右边是再中间图片的基础上给添加了reflection.的效果。(图22)
图22
灯光
图23
我使用了三个点光源,两个面光源,以及一个hdri。主光是一盏橘黄色背光,再现阳光从窗户射进来,照射水果的表面的情形。所以我添加一盏低能量的也是橘黄色的面光源,从树莓的一边照射过来,我将这盏面光源与树莓的球茎连接起来,还有馅饼的牛奶沙司,这样能塑造出一个超写实的效果。(图23)
图24
skin shader是一个很耗费机器运算的材质节点,如果你不是给一个角色贴图的话,劝你不要使用它。食物比起人类皮肤来有更大的半透明属性,所以设置skin shader的值比起人类皮肤来要普遍的高一点,像scale conversion,材质的半透明效果越多,就会出现越多的噪点,所以你不得不设置较高的scale conversion来平衡噪点,你也可以调节lightmap,如果你想scale conversion的值比较小一点。
回到灯光讲解里来,我在每个树莓的空腔里面添加了一盏带有树莓的淡红色颜色的点光源,以此来增进半透明的效果。我还添加了一个低数值为-2的吸光灯在树莓蛋挞的右前方和石榴蛋挞之间,用来增进阴影的效果。谨慎使用负值的灯光,也就是吸光灯,它占用的资源比正常的灯光要多,而且如果数值设置的较高的话,它会使靠近它的贴图产生不佳的效果,所以这种类型的灯光用的比较少。下图是使用数值为-10的吸光灯产生的效果。(图25)
图25
渲染
final gather是一个技巧性地反射灯光,虽然有点作弊,但是不管怎样,它产生的效果是很好的,如果你迷恋于直接用maya渲染出一切效果,而不是分层渲染的话,那么渲染时间是很可观的,即使你把final gather采样点冻结,仍是如此。
另外一个缺点是,当你在50%的分辨率的渲染视图渲染的时候,图像质量看起来非常美妙,但在100%分辨率的视图里就 不是这样了,那意味着你需要增加更多的final gather采样点,在开始的时候,我使用了300的final gather采样点,由于蛋挞的材质是phone类型,因此得到很多的斑块,我甚至在渲染设置中打开了 “jitter”选项,我不能达到我想要的效果,因此我决定放弃了。
最终我决定google搜索一下我遇到的问题,结果发现不少人在使用final gather的时候遇到了和我一样的问题,他的解决方法是设置一个疯狂的final gather采样点数,然后每个点的插值设置为12,我我试着使用500,000 的final gather采样点数渲染出2500 x 1406,72dpi的图像。
但在渲染到第三天的时候,它崩溃了,我希望在渲染全尺寸的时候得到50%分辨率大小时一样的质量,同时maya和我的处理器 还能够挺过去,因此我使用原来一半的fg采样点数来渲染,即使这样,它都花了整整3天时间来仅仅渲染出fg的采样点,而且,我还是对结果不满意。
这里是我的23,958kb的小的final gather的采样点。(图26)
图26
这是是我使用final gather 反弹次数为2的渲染设置(图27、28)
图27
图28
遮挡
唯一需要表现出阴影或稍许阴影的物体是场景里的托盘,蓝莓和黑莓,以及酥皮,我一共使用了6个采用不用设置的遮挡材质,如果在蛋奶糊上使用过多的遮挡效果,它看上去就像是塑料了。(图29)
图29
景深
我不得不承认,在景深这个部分,我寻求了帮助,恰好学校的导师注意到了我的作品缺少景深,并建议我直接在maya里面把景深渲染出来,但我知道,这会给每一帧增加额外的15分钟渲染时间,我还没有考虑优化我的场景,因此实际上它等于要被渲染两次那么长的时间,无论如何daniel schrepf,我的一位同事注意到我的麻烦并给我提供了帮助,他建议我使用一个surface shader单独渲染zdepth 通道,然后把一个ramp材质投射到场景里面,,然后在shake里面合成最终的遮挡材质,最好的部分是这么做渲染起来实在是非常快。(图30)
图30
最终效果
最后的效果图我发现图片的前面仍然是需要更多的阴影,所以我在树莓蛋挞的下面画了一条线,将线进行了高斯模糊,超写实的水果蛋挞图就完成了(图31)
图31
教程结束,以上就是MAYA制作超真实的照片级食物材质过程,希望对大家有所帮助!