Arnold for C4D 29 【Toon Shader 03】Base to Advanced

本篇讲解Toon shader剩下的9+1组参数:
Base/ Specular/ Stylized highlight/ Rim lighting/ Transmission/ Emission/ Geometry/ AOVs/ Advanced/ Sheen

很多属性跟其他Shader是一样的,比如Specular Weight啊什么的,这些之前的教程已经讲过很多很多遍了,在此将一带而过,不明白的请翻看之前的教程。
特殊属性会重点讲解。

Base

这个Base跟其他Shader的Base是一样的Base,就是一个基础着色;

  • 【Weight】控制基础色权重,默认0.8;
使用默认Base color,也就是白色
  • 【Color】基础颜色;没什么好说的,需要注意的是,金属材质通常需要一个接近黑色的基色;

  • 【Tonemap】Tone还记得啥意思吧?不记得就回看【Toon综述】
    通常结合Ramp节点实现卡通效果;
    不同灯光下效果差异明显:

    Directional lighting

    Skydome light


    调整灯光曝光度,将对Tonemap产生明显影响

    还有一点需要注意,Tonemap正片叠底Color

    还还有一点,Tonemap是基于UVs,所以Ramp Type要选择U或V,否则连接Ramp node后不会有任何效果;
    至于选择U还是V,看具体需要;效果差异在调整UV属性的时候才会显现

连接不一样的节点到Base Color或Base Tonemap能够产生多种变化,最常用的节点就是Utility和Ramp这俩;Utility能够实现更多效果;


Specular

同上,这个Specular跟其他的Specular也是一样的,控制镜面反射,四舍五入等于高光;

注意:这里用到的图片案例不是默认效果,Tonemap均连接了Ramp:

  • 【Weight】镜面反射权重;

  • 【Color】镜面反射颜色;

    改变颜色就是改变高光颜色

  • 【Roughness】镜面反射粗糙度;如果要产生特殊效果的高光,需要连接贴图;


    注意:除非Roughness的值为0,否则反射面影子没有Edge:
    这里添加了一个光滑地板用于显示反射效果

  • 【Anisotropy】各向异性,之前讲过很多次了;值为0时,即为各向同性;

    调整其值又0到1,高光会在U方向产生变化

  • 【Rotation】旋转,控制高光在UV空间中的方向,值为1.0时即180°;
    如果是拉丝金属材质,将会控制拉丝方向;这很好理解,因为如果是拉丝金属,高光会沿着拉丝方向延伸;

  • 【Tonemap】控制镜面反射的Tone,具体作用看图吧 ↓


    调整Specular Roughness的时候,对Tonemap的影响还是很显著的:


Stylized highlight

  • 【Light】指定一个或多个灯光作为对象的高光光源,以产生更多特定高光;中文名称请务必重命名;
    Arnold中所有名称都不要用中文!不要用中文!不要用中文!
    可以将灯光直接拖拽到此处;
    使用多个灯光时,用分号隔开,例如:lightShape1;lightShape2 ,注意分号也是英文的分号;
    支持灯光类型:Distant/ Point/ Spot/ Photometric;
    目前不支持:Mesh和Skydome;
    也不支持Curves;

  • 【Color】这个Color跟其他的Color不太一样,它不仅控制颜色,还影响高光的形状;
    可以连接任意格式贴图对高光进行变化,或者任意RGB格式的节点;
    什么都不连接不产生任何效果;

使用纯色只会产生一个圆形高光:


如果想要一个窗户的投影,贴图一周也要有黑边才会显示为正确形状,没有那一圈黑边高光默认显示圆形,贴图使用示范:


左图为错误示范,右图为正确示范
  • 【Size】控制Stylized highlight尺寸:


Rim lighting

还记得Rim的意思吧?忘记的请复习。

  • 【Rim light】将指定灯光的名称填写在此处,或者直接拖拽过来;同上,务必不要使用中文名称!
    Rim lighting会受所用灯光产生的阴影影响;
    支持灯光类型:Distance/ Point/ Spot/ Photometric;
    目前不支持Mesh light和Skydome;
    不支持多个灯光混合;

  • 【Color】这个Color跟Stylized highlight的Color几乎是一样的意思;
    也需要连接其他节点来控制,通常使用Ramp;


    这个参数不太好解释,还是直接看图说话吧,效果明显:
    拖动ramp颜色条可以看到明显变化

    比如,伦勃朗光效,这个参数就很好用;
    嗯。伦勃朗光能显瘦(ง •_•)ง 。

  • 【Width】如果你只是想简单调整一下Rim light的宽度,就可以直接值用此参数,而不必连接贴图什么的;

还是那句话,自己多试试;


Transmission


主要用于实现透明/半透明效果;
那么,问题来了你是什么垃圾,啊不对,跳戏了,重来;

记得取消勾选Opaque!!
之前讲过一万遍了,忘记的自觉跪下

  • 【Weight】权重,光线穿过表面的深度;


    如果没有致命错误,对象还是乌黑一片,就需要提高Ray Depth了,位于Render setting的那个Ray Depth;

  • 【Color】这个就是单纯的控制颜色了,对象显示的最终色彩,是透射折射后的光线与该参数设定颜色进行正片叠底后的效果;

  • 【Roughness】粗糙度;效果如下↓

  • 【Anisotropy】控制光线散射方向偏差或各向异性;
    默认值0,即各向同性,光线均匀向个方向散射;正值延光线方向向前延伸;负值反之,也就是会向光源点方向“往回缩”(一般不会用负值);
  • 【Rotation】旋转,1.0即180°;其他同Toon Specular Rotation;
  • 【IOR】折射率,注意材质菲涅尔影响;菲涅尔之前讲过,忘记的请回看;

注意:Edge也会受IOR影响:


Emission

这个Emission跟其他Emission差不多,产生白炽灯光效;
同样也会跟其他Emission一样,渲染时噪点多,更建议使用Mesh Light,而且Mesh Light能够产生更好的阴影效果;
Emission在黑暗环境中容易产生更多的噪点,消除噪点需要提高Diffuse samples的值;

  • 【Weight】权重,控制亮度;
  • 【Color】控制发光颜色;
    使用贴图能够营造更多发光效果,比如这个熔岩效果


Geometry

  • 【Normal】通常配合法线贴图(Normal mapping);
    工作原理是将Normal mapping信息转换成RGB信息,对应Surface normal的XYZ坐标;
    比Bump mapping渲染速度快;
    连接bump node时,bump会通过扰乱normal的方式产生肌理;

注意:为Edge添加bump的时候,Edge Detection务必选择Shading Normal;

  • 【Tanget】切线,与Shading mapping共同定义输入向量的切线坐标系统;
    使用雕刻工具的时候,要在此处连接Normal map所依赖的Targent map;
    值为0的时候,Arnold将尝试以下步骤进行自我坐标构建:
    Step1:查找名为tangent和bitangent和矢量用户数据(Vector user data);
    Step2:使用UV坐标系统;
    Step3:建立自己的本地坐标系统;

注意:Shader只能在Targent space中工作,如果在World space和Object space输出,需要使用space_transform进行转换;

  • 【Bump mapping mode】指定受bump影响的部分:diffuse/ specular/ both


AOVs

Toon shader可用通道:Stylized highlight AOVRim light AOV

  • 【Highlight】Stylized highlight AOV;
  • 【Rim light】Rim light AOV;



Edge分层渲染 注意事项:
如果要分离保存Beauty render(无Edge)及Edge,需要创建RGBA AOV(beauty用)和Custom AOV(Edge用);
RGBA AOV使用box_filter,Custom AOV使用contour_filter
这样即可同时渲染两个单独图像,节约渲染时间。


Advanced

  • 【Indirect diffuse】仅从间接光源接收到的漫反射光量;

默认值Indirection diffuse:0,能够创建更加二维的阴影效果:


  • 【Indirect specular】仅从间接光源接收到的镜面反射光量;

    1.0以外的值可能会产生错误,尽量不要修改

  • 【Energy conserving】Toon shader默认节能,取消勾选此选项,Toon shader就不管那么多了,将只显示Base/Specular/Transmission产生的效果,禁用需慎重,还会影响Toon shader的间接照明,;


Sheen

新版本没有该组参数,具体从哪一版开始没有的我也不造,等我发现的时候它就没了;
还是稍微一提吧↓

  • 【Sheen】一种节能光泽层,多用于纤维、布料(天鹅绒/缎面等);Sheen会分布到漫反射层,分布数量即由该参数决定;
    Sheen可以看作是纤维密度和长度的表现,会有一种毛茸茸的赶脚;

  • 【Color】控制Sheen的颜色;

  • 【Roughness】粗糙度;调节纤维偏离surface normal方向程度;

不知道泥萌是否拥有过金丝绒材质的衣服,当你撸一把金丝绒,表面绒毛就会有变化,四舍五入等于增加了Roughness的值。
嗯,这个比喻真是绝了,我可真是个小机灵鬼( ̄▽ ̄)"



所以,Toon Shader就全部讲完了。

下次更新时间内容随缘(・∀・(・∀・(・∀・*)

加粗敲黑板!自己多尝试!

熟能生巧!

以上,Over。


Reference:
1.Solidangle Support & Documentation
2.SGS


禁止私自转载,转载需征得老夫同意。
否则,必追究。


推荐阅读更多精彩内容