1、3S介绍所谓3S即Subsurface Scattering Shaders(次表面散射材质) ,Mentalray通过两种途径生成一种是利用光子产生次表面散射的物理模式,另外一种是用lightmap 进行模拟的非物理模式。采用物理模式能产生真实的光线散射,但由于基于光子进行计算,所以速度很慢。本文制作皮肤材质用的是基于lightmap的非物理模式,速度快效果也不错。认识皮肤由图可见皮肤分为两层:表皮层,真皮层。进入皮肤的光线就是通过这两层被散射的。进入皮肤的光线有自己的散射半径和散射强度制作准备 1 首先打开我们的教学场景,是一个老人的头像,他在Maya中设置了材质 2 打开Maya的Plu
2、g-inManager导入Mayatomr插件 3 我们在Render Settings 里面进入mental ray渲染器,为了渲染更真实,打开FinalGather,并给Image Based Lighting贴一张HDR图片认识mentalray的皮肤散射材质 1 打开hypershade,产生miss_fast_skin_maya材质2 双击材质球,让我们来分析一下它的属性参数1)Diffuse层控制了相当于图1中所示的diffuse光线,它是皮肤的最外层颜色,其中OverallColor也影响着皮下的散射光线。2)subsurface Scattering Layer 是这个材质的核
3、心由它产生皮肤的散射,它由三层组成,也就是我们在图一中分析的表皮层真皮层和另外的背光层,它们有颜色、强度和作用范围三个属性控制。3)Specularity部分由也是由三部分来控制高光。图6 是几种光线的合成流程图4) 通过bump shader 可为材质添加凹凸贴图5)lightmap相当于depthmap可为渲染引擎提供渲染点的深度坐标,取样值控制着取样质量材质节点连接1 整体颜色和整体高光直接将纹理连接即可如图2下面我们为材质连接Bump Shader,产生一个Maya的bump2d 节点,将bump节点的输入值贴上我们预先做好的凹凸贴图3我们生成一张lightmap设置如图4打开皮肤散射
4、材质的ShadingEngine,我们在它的Custom Shader中赋予它一个lightmap Shader 由它生成的lightmap数据如图我们这里解释一下lightmap shader。lightmap shader 在皮肤散射材质中也是一个关键环节,它生成一张包含模型前后面的深度、灯光强度和半径以及其它数据的lightmap,再将这张lightmap交给渲染引擎去计算散射。Lighmap数据如图5 进入lightmap shader节点如图lightmap 中 include Indirect Lighting选项是说散射效果包不包括间接光如HDR和光子的光照;下面的light Linking Mode 先面灯光列表中的选择模式0为all,1为inclusive,2为exclusive;Lights 是要产生散射的灯光列表;lightmap write是我们刚才生成的lightmap 。最后完成的节点图参数的调整先让我们看看我们努力半天的成果,渲染一下是不是很失望呀,别灰心,让我们分析一下。首先模型皮肤像燃烧一样,这是皮肤散射过度的原因;第二有噪点,这是由于我们的lightmap取样不够的原因。我们调整参数如图再渲一次经过不断调整材质参数,以及灯光最终效果如图16,满意么?上一页