Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第1张图片

该说的废话上一篇已经说过了,这里就直接上干货。
前部分讲解参数,后部分演示实例。

Edge

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第2张图片

敲黑板!要显示Edge,务必启用contour_filter。属性栏也提示了,务必注意这种关键小细节。

默认处于启用状态,关闭时当然就是不显示Edge。


Edge

  • 【Edge】控制是否启用Edge;

  • 【Color】控制Edge颜色,允许连接贴图(比如使用渐变贴图制造断断续续的描边赶脚);

  • 【Tonemap】使Edge颜色根据对象的着色变化而变化,比如:暗部Edge颜色深,亮部颜色浅;通常配合Ramp节点使用:

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第3张图片
    右图默认效果,左图tonemap连接ramp节点

  • 【Opacity】控制Edge透明度;

  • 【Width scale】控制Edge粗细;
    渲染设置中countor_filter的Width控制的是全局Edge粗细,这里的Width Scale控制使用该材质的Edge,这俩参数相乘,最终得出具体Edge粗细;
    允许连接贴图控制;
    增加数值会增加渲染时间,慎用;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第4张图片

    此参数还可以避免Edge过于混乱,尤其是结构复杂的对象,可以通过连接facing_ratio节点实现:
    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第5张图片
    左图为使用facing_ratio调节后效果

    Width Scale还可以基于摄像机镜头距离控制Edge粗细;

P.S.做动画时,Width Scale数值小于1,可能会出现“闪烁”,启用Sampling render setting(位于Samping render setting属性中)可解决此问题。



Edge detection

  • 【ID difference】默认启用,启用时,Edge检测使用临近像素ID差;
    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第6张图片
    右图启用,左图禁用;其他数值为默认值;启用时,手和球被认为是两个shape,因此拥有两个ID
Curve, Point, Shape IDs

ID difference 是根据curves(线),point(点),shape(面)来绘制描边的。每条线,每个面都有不同ID,每个点也会拥有不一样的ID。以下示例除用到的属性外,其他参数均为默认值。


Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第7张图片
使用Utility着色

下图示例中,大球只有一条Edge,大球上的小球有各自的Edge,这是因为小球使用粒子效果生成,每个粒子都可以视作一个Point,有不一样的ID,所以每个小球都有Edge,而中心的大球使用C4D原生模型球体,所有的原生基础模型(多边形)以及异形,只要是“整体的一个对象”,都只能算是一个shape(可以想象成一个模型外面包裹着的是一整个面),中间的点线面都属于这同一个shape,也就是说只有一个ID,因此大球只有最外面一条Edge:


Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第8张图片
使用Utility着色


  • 【Shader difference】Edge检测使用临近着色器差异;例如,当多个着色器分配给单个多边形时,这非常有用:
    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第9张图片

    还有一点需要注意,务必确保【Angle threshold】的值足够小,否则看不出Shader difference启用/禁用差异。
  • 【Mask color】Edge检测使用临近像素颜色差;mask color可连接贴图,从而绘制任意线条;
    也就是,利用此参数可以在对象表面任意位置绘制线条;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第10张图片

  • 【UV threshold】启用后,Edge检测使用临近像素UV差;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第11张图片

  • 【Angle threshold】当小于180°时,Edge检测使用临近像素角度差;

    180°到10°效果变化

  • 【Edge detection】Edge检测模式选择,有三种模式:Shading Normal /Smooth Normal /Geometric Normal;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第12张图片



Advanced edge control

  • 【Priority】更改Edge的排序优先级;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第13张图片
    说白了就是调节哪条Edge在前,哪条在后

  • 【Ignore throughput】默认情况下,轮廓颜色(contour color)受光线吞吐量影响,如果反射或折射对象需要特定颜色,就需要启用Ignore throughput并使用ray_switch着色器;

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第14张图片

  • 【Use toon ID】可以指定名为Toon ID的String类型用户数据来控制Edge检测;不做特殊指定时,检测到的Edge使用对象自己的驱动名称toon-specific ID;
    利用指定ID,可以将对象进行分组,指定需要进行Edge检测的部分;可配合【Priority】设定Edge优先级;

Silhouette

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第15张图片

Edge检测使用Object/Shader ID差异检测到的线称为Silhouette,可以理解成“轮廓化描边”;
启用该选项后,将使用Silhouette的属性替代与Edge重合的部分属性;

文字可能有点说不明白,但是效果显而易见

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第16张图片



下面将进行一个简单的实例演示:

用到的场景如下图所示,对场景中模型统一添加Toon Shader,渲染设置Ray Depth:0,这里用不到全局光照效果,关闭Ray Depth提高渲染效率,默认渲染效果如下:

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第17张图片
已启用contour_filter,其他一切参数均为默认;光线使用Arnold Sky

接下来进行一些调整:

  • 将Edge属性中Base WeightSpecular Weight的值减少为0,Emission Weight:1,效果如下:
Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第18张图片
  • 减少Edge Angle Threshold值到10左右(数值根据场景大小自行设定),以显示更多细节:
Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第19张图片
顺便演示一下Edge Detection不同模式效果
  • 继续增加细节,这里将用到Mask color;
    创建一个Utility Shader,连接到Toon Shader > Main > Edge > Edge detection > Mask Color,Utility Shade mode:metalRoughtness:0.01,效果如下:

    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第20张图片
    线条还是太乱了,下面继续调整

  • 减少Edge Width的值,差不多0.5左右:

Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第21张图片
嗯,效果还不错
  • 调整Utility的各项属性,会有很多不一样的效果:
Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第22张图片
其他参数请自行尝试
  • 或者改变一下线条颜色什么的,多多尝试:


    Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette_第23张图片



接下来...........可以开始点赞、打赏什么的了
嘻嘻


以上,Over。

Reference:
1.Solidangle Support & Documentation


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


你可能感兴趣的:(Arnold for C4D 28 【Toon Shader 02】Edge & Silhouette)