感谢看过创建篇的朋友,相信你Fur的基础应该是没问题了,可是要做出逼真和自然的毛发,光考上一节的基础是远远不够的。
今天我们来集中讨论一下Fur的渲染问题。
学习内容:
1 设置Fur与灯光的连接
2 Fur的渲染基础
3 灯光Fur Shading/Shadowing属性
4 烘焙属性
5 用software渲染的Fur投影
6 Advanced Fur Rendering(外部渲染器)
7 MentalRay中的Fur渲染及优化
开始……
1 设置Fur与灯光的连接
Fur是Maya后期的特效之一,所以在渲染时,默认是不参与灯光阴影组的计算的,要渲染有光影效果的Fur必须将Fur与灯光连接。
操作如下:选择灯光(如果有多个灯光,操作一样),加选Fur执行Fur->Fur Shadowing Attributes->Add to Selected Light。
2 Fur的渲染基础
Fur是Maya后期的特效之一,很像PaintEffect,区别是Fur不能在Maya下转换为geometry(几何物体),但是在渲染时Fur同样是转换为geometry(几何物体)而被渲染器所接受计算的。
从渲染报告窗口的这段话不难看出,Fur在渲染是同样也是被转换为geometry(几何物体)的,所以Fur的Density(密度)是影响Fur渲染速度的原因之一。同理,fur的Density(密度)越大,转换的时间就越长。
高精度的显示会加重系统对显示的工作量,对于渲染影响并不大,可是对于整个系统的负担是分配给内存和现存的,由于大量的内存和现存被用于Fur的显示,在配置较低的系统上,同样也会因为高精度的显示而拖慢渲染速度。
影响Fur的渲染效果因素很多,其中被连接灯光下的Fur Shading/Shadowing属性最为重要。
3 灯光Fur Shading/Shadowing属性
灯光的类型不同,Fur Shading/Shadowing属性的参数也不相同。
当转换灯光类型后,需要重新指定Fur->Fur Shadowing Attributes->Add to Selected Light。
------Fur Shading/Shadowing理论部分------
以spot灯光类型为例:
不同的Fur Shanding type用默认值,渲染对比
Self Shade(自身阴影)参数: 仅对Auto-Shanding有效,用来设置阴影距Fur根部的距离。原理如图:
Self Shade Darkness(自身阴影暗度)参数: 仅对Auto-Shanding有效,用来设置阴影区的暗度。原理如图:
Back Shade Factor(背面阴影衰减)参数: 仅对Auto-Shanding有效,用来设置Fur在照亮和没有照亮之间的衰减度。原理如图:
Back Shade Darkness(背面阴影暗度)参数: 仅对Auto-Shanding有效,用来设置Fur的背面(逆光面)阴影暗度。原理如图:
[page]
Threshold(极限值)参数:仅对Shading Map有效,在把Fur深度信息储存到阴影贴图之前,设置有多少Pixel被阴影覆盖,以此防治极小的Fur显示在阴影贴图中。
数值为0时,为Fur覆盖到的每个Pixel保存一个深度值;数值为1时,只为被Fur覆盖50%或更多面积的Pixel储存深度信息。
Intensity Multiplier(亮度倍增器):设置Fur上灯光强度系数,数值为1时,与其他物体一样被同等强度的灯光照射。
------Fur Shading/Shadowing测试部分------
了解了理论,让我们来点实际的吧。
Self Shade(自身阴影),如图,默认的0.5稍显黑,建议0.3
Self Shade Darkness(自身阴影),如图,默认的1稍显黑,建议0.75
Back Shade Factor(背面阴影衰减),现在让我们将镜头转向逆光方向,来观察Fur的背面变化。如图,由于这个参数仅控制黑色衰减,变化较小,但是仍能感受其色彩不同。保持Self Shade为0.3和Self Shade Darkness为0.75。
Back Shade Darkness(背面阴影暗度),继续保持镜头逆光方向,观察Fur的背面变化。如图,
Threshold(极限值),这是个很有用的数值,现在让我们将Fur Shanding type切换到Shading Map模式,观看Threshold的变换和渲染效果。
综述,由以上的例子不难看出,Fur Shading/Shadowing的参数变化对Fur的渲染是影响很大的。
下面让我们来点有刺激和挑战的吧!Fur的逆光练习。
首先创建场景,如下,一个NURBS的球,和两盏灯光(分别为spot和ambient),spot灯光平行照射球,ambient等在球的略上方。
选择球进入渲染命令面板,执行Fur->Attach Fur Description->New,进入FurDescription,调整参数如图
spot灯光和ambient灯光参数如图
选择摄影机逆光角度渲染。当然你的机器够快,还可以给spot加点灯光雾效,增添气氛。Ok啦!欣赏吧!……
我做不出来看看你的场景吧
4 烘焙属性
这是一个使用广泛,而且重要的功能。
如动物皮毛的花色,头发的长短,秃密等,用Fur来完成他们,需要制作一张贴图来控制其属性,除了颜色属性,其他属性均是有贴图的alpha来控制。
如用2D节点程序来控制Fur的属性,烘焙后一样要转换为*.iff图来控制。
当Fur的颜色,长度,秃度……等属性上运用了贴图后,需要执行Bake(烘焙)才能将贴图的控制转换为Fur所接受。
颜色实例烘焙
长度烘焙
秃度烘焙
弯曲烘焙
扭曲烘焙
当然你也可以自己制作一张特定的灰度图,来控制要改变的属性。
大多数的属性烘焙雷同,这里就不多举例了。现在我们看如何去掉烘焙的属性。
5 用software渲染的Fur投影
作为新版本的功能,这真是让人兴奋!!
现在我们来看看Maya自带的software渲染器对Fur投影的渲染吧。
调整Fur Shanding type为Shading Map(阴影贴图),因为只有Shading Map(此项仅对spot灯光类型有效)才支持Fur的投影贴图。
控制Fur的投影关键是Threshold(极限值),我们同时调整Threshold从0~1,观察Fur的投影变化。
不难看出,当值为0时,阴影最多,值越高递减。
如图……
同样的方向再布盏灯,将灯光的Dmap Filter size调到6(调整Threshold为0)的效果。加强投影效果。
6 Advanced Fur Rendering
现在我们来说说影响Fur渲染的另一个重要部分—FurGlobals 。
FurGlobals的详解
A 打开此项,Fur和模型渲染后会合成到一个图像中;关闭时,则毛发和模型会单独渲染,并不合成一起。
B 在渲染过程中保留Fur创建的毛发图像。
C 打开,在渲染过程中保留临时毛发图像文件;关闭,则渲染结束即删除。
D 打开,可以将阴影同时投射到物体和毛发上;关闭,则阴影仅投射到几何物体上,毛发上没有阴影贴图。
接下来,我们来认识另一个Fur的重要部分—Advance Fur Rendering
这里告诉我们Fur的平衡器文件和路径,
有关平衡器的详细内容请参见控制篇。
7 MentalRay中的Fur渲染及优化
MentalRay是很优秀的渲染器,可是对于Fur的渲染又如何呢?
放心吧,决不会令你失望的。
我们先准备个场景来测试吧。
渲染,选择MentalRay(如果你对MentalRay一点也不了解,请先参阅论坛其他相关教程)
于software渲染做个对比先
MentalRay的算法是基于光线追踪的,所以渲染fur非常慢,要知道计算每个毛发之间的光影关系那可是一个庞大的计算过程。我们今天的研究主要针对与MentalRay的优化入手。
与software渲染不同,MentalRay是将Fur作为模型来计算的,首先我们要了解,在Fur转换成模型的时候那些因素是重要的。
渲染因素Fur:
第一,当然是Fur的密度,尽可能的减少Fur的密度。
第二,Fur的段数,也非常重要,过多的段数只能是加重渲染的负担,渲染时间成倍增加。建议在默认值10以内,速度还可以忍受。
第三,Fur的透明度,这个问题可能少有人注意,其实Fur的透明度是在同等条件下最拖累cup的选项之一,建议没有必要时,要将(Base Opacity/Tip Opacity)的值设为1。
第四,最后,Fur的选项影响渲染的是它的宽度,恰好与software渲染相反,Fur的宽度小,渲染时间越长。
渲染因素Light:
第一,如果选择MentalRay为渲染器,Fur Shading/Shadowing的所有步骤可以省去。
第二,在选择MentalRay为渲染器时,尽量用Directional Light为光源,因为它最快。经过比较,同等条件比Sopt Light要快一倍。当然效果有细微的差异。
第三,Light Angle为0时渲染速度最快。 当数大于0时,基本上无太大差别。
只是个经过优化的场景,在不损失效果的前提下将640×480的渲染时间从28分钟优化到4分钟。