最近研究shave,但是用mr渲染遇到了很多问题,百度上面找不到,谷歌上面也很少,而且有些网站需要翻墙。下面是本人翻墙去找到的一篇文章,关于shave的分层渲染的,我做了下翻译,有些地方可能有问题,慎读!
下面是正文。。
不管是fur还是shave,工作流程中的规则都是差不多的。
规则如下:
1. 不要对fur使用光线追踪。
任何规则你都可以违反,前提是你对它足够了解。不排除你需要渲染10000根头发的fur球体,完全没问题。
打开FG, 软追踪阴影, 使用occlusion(环境闭塞),没什么可怕的。 但是当你处理fur的角色,草坪,或者其他任何fur的场景,retrace(光线追踪)可能让你及其头痛,所以一定记住,不要对fur用光线追踪!
2.渲染fur作为hair primitives。首先测试,你可能觉得volume fur看起来更好而且渲染的更快。当你从测试转到工程项目中volume fur可能会给你带来很多无法预知的结果。
3.resteriars渲染。
4.用puppet shaders pack渲染。
下载安装之后,我不会解释如何获得如愿的毛发外观,只是渲染,先创建两个球在场景中球A用的shave and haircut的grass预设,球B用的maya fur grass预设,我会解释如何工作的,选择你想要的:
好现在设置你的毛发渲染类型为hair primitives,have-shave globals里面,fur-fur render setting里设置。
在primary renderer选择resterizer(默认是scanline),把secondary effect的retracing关闭。
由于我们会使用p_MegaTK_pass来分通道渲染毛发,所以需要设置filter(过滤器)类型为guass,然后渲染。
现在毛发的着色被shave定义。 用p_HairTK我们可以代替着色参数,将它和自带材质结合比起fur着色会更方便的控制而且效果也会更好,创建p_HairTK材质。
对于maya fur:
创建p_shader_replacer几何体材质中。
打开P_HairTK的shading group,把fur feedback的transform节点改名为p开头的(p_FurFeedback,这一步看起来很奇怪,但非常重要)进入那个transform节点的Object栏下的Object[0]区域。
创建一个poly cube,检查其transform节点下的mental ray栏中的 enable geometry shader并确保打开状态。
拖一个p_shader_replacer到geometry shader位置上,ps:outlinear中FurFeedback group必须位于这个polycube顶端(?)
对于shave and haircut:
选择shavedisplay节点,赋予一个p_HairTK。关闭shaveHairShape中材质属性中的override geo shader。随便调节p_HairTK(我先设置为蓝色),渲染。
现在可以设置灯光了,由于我们没有设置光线追踪和其阴影,灯光需要设置为spot light和detail shadows来捏造gi和fg(依环境而不同)。
有了这些设置很容易达到完美的效果,渲染起来也很快。记住:puppet shaders pack需要puppet lights和maya聚光灯。
创建spot light和p_SpotTK(mentalray灯光材质),p_HairTK_shadow(阴影材质),拖p_SpotTK到light shader位置,p_HairTK_shadow到p_HairTK SG中的shadow shader位置,P_HairTK_shadow对阴影会有更好的控制。对主光源使用如下设置resolution:1024或更高,softness:0.001-0.002. sample为16或更高,detail sample为4或者更高,acuracy -0.001,不要碰bias,补光灯使用更小的resolution和更大的softness。
只有一个主光源的情况:
加入补光之后:
最后一步是将图片分成多个通道……
创建两个polyCube和p_MegaTK_pass(几何体材质中)。
检查polyCube的transform节点中mentalray栏下的enable geometry shader打开。把p_MegaTK_pass节点拖到geometry shader位置,设置p_MegaTK_pass参数,渲染。
如果你想得到occlusion ,打开渲染设置中的raytracing,然后创建mib_amb_occlusion并拖到p_HairTK材质中的custom occlusion位置。
我创建了另一个p_HairTK材质和自带的mask通道,设为红色并拖到相应的occlusion位置,顺便说一下,渲染时间在我使用occlusion之后从20s增加到了15min,这就是为什么之前一直不对fur使用retrace的原因!!渲染ao只能这样设置,没办法。