资源描述
3S介绍
所谓3S即Subsurface Scattering Shaders(次表面散射材质) ,Mentalray通过两种途径生成一种是利用光子产生次表面散射的物理模式,另外一种是用lightmap 进行模拟的非物理模式。采用物理模式能产生真实的光线散射,但由于基于光子进行计算,所以速度很慢。本文制作皮肤材质用的是基于lightmap的非物理模式,速度快效果也不错。
认识皮肤
由图可见皮肤分为两层:表皮层,真皮层。进入皮肤的光线就是通过这两层被散射的。进入皮肤的光线有自己的散射半径和散射强度
制作准备
1 首先打开我们的教学场景,是一个老人的头像,他在Maya中设置了材质
2 打开Maya的Plug-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)Specularity部分由也是由三部分来控制高光。
图6 是几种光线的合成流程图
4) 通过bump shader 可为材质添加凹凸贴图
5)lightmap相当于depthmap可为渲染引擎提供渲染点的深度坐标,取样值控制着取样质量
材质节点连接
1 整体颜色和整体高光直接将纹理连接即可如图
2下面我们为材质连接Bump Shader,产生一个Maya的bump2d 节点,将bump节点的输入值贴上我们预先做好的凹凸贴图
3我们生成一张lightmap设置如图
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,满意么?
上一页
展开阅读全文