阿诺德utility着色器和Curvture曲率节点都是非常重要和常用的节点。

utility着色器

它的用途很广 比如输出多通道 调试场景等等。

  • 着色模式:用于渲染网格组件(指模型的网格,建模就是建网格)的着色模式。Ndoteye使用视线向量模式进行渲染;Lambert使用简单的朗伯着色模式进行渲染;Flat将模型渲染为一个固态的扁平纯色色块;Ambocc使用环境闭塞技术渲染模型。不同着色模式:

    • 【Ndoteye】使用一个介于normal向量和eye向量之间的点积;【Lambert】使用朗伯着色模式,默认着色模式;
    • 【Flat】 将模型渲染为一个固态的扁平纯色色块(纯色,无明暗变化);
    • 【Ambocc】 使用环境吸收渲染模型。当场景中100个单位默认值太短时,环境吸收会有一个距离参数(AO距离)控制Ambocc射线长度。
    • 【Plastic】 同时具有漫反射(0.7)和镜面反射(0.1)。镜面反射硬编码使用MIS支持BRDF。这种模式在调节和优化光面材质时很有用处,使用简单的启动命令(kick commands):-is -sm plastic,就可以快速的分配给场景中所有对象。
    • 【Metal】 类似于”Plastic”模式, 但是没有漫反射,只有镜面反射。
  • 颜色模式:用于渲染网格组件的颜色。可以选择颜色设置中提供的纯色,或者从各种各样的对象(例如几何图形、阴影、线框等等)中提取色彩。不同色彩模式示例:

    • 【Color】 单一色彩输出;
    • 【Geometric Normal】 根据材质法线(Shader normals)进行着色;
    • 【Un-bumped Normal(Ns)】 在屏幕空间中平滑无碰撞的法线;

    • 【Normal(N)】根据几何法线( Geometry normals)方向分配颜色;下方左图为法线朝外,右侧为法线朝内

    • 【Barycentric Coords】图元重心坐标(bu对应红色,bv对应绿色);它与镜面粗糙度有关
    • 【UV Coords】 UV坐标 (u对应红色,v对应绿色);
    • 特殊:抽象模型没有UV,所以会呈现黑色,此时需要创建UVW:选中对象材质→右键→Generate UVW Coordinates
    • 【U Coords】 U坐标;
    • 【V Coords】 V坐标;
    • 【U Surface Derivative (dPdu)】 U坐标曲面导数,U向坐标的衍生表面;
    • 【V Surface Derivative (dPdv)】V坐标曲面导数,V向坐标衍生表面;
    • 【Shading Point (相对于Bounding Box)】 Shading point(着色点)模式,相对于Bounding Box(边界框);
    • 【Primitive ID】 每个primitive ID都以不同的颜色表示;
    • 【Uniform ID】 着色时,允许使用patch(片/面)代替polygon(多面体),使用curve(曲线)代替curve segment(线段);
    • 【Triangle Wireframe】 将对象线框渲染为三角形;
    • 【Polygon Wireframe】 将对象线框渲染为多边形;
    • 【Object】 基于对象名称计算颜色;
    • 【Edge Length】基于对象边的长度进行着色,将边缘长度显示为热图。可检测过度细分的区域;
    • 【Floatgrid】 基于哈希算法进行着色;
    • 【Reflection Lines】在评估模型时,可以用于诊断轮廓线和点连续性问题。它也可以让你知道现实生活中的反射会如何表现。例如,在对表面评估至关重要的汽车模型中,这种着色模式特别有用;“反射线”揭示了汽车引擎盖边界的连续性错误。
    • 【Bad UVs】 会以洋红色表示不正确的UV。例如抽象模型没有创建UVW时,会显示为洋红色
    • 【Number of lights(nlight)】 基于着色点灯光数量着色,这在调试具有多个灯光的场景时非常有用。通过一个从红色(考虑场景中所有灯光),穿过黄色和绿色,到蓝色(考虑非常少的灯),以及最后到黑色(不考虑灯光)的“热图”颜色渐变来可视化的。将Utility着色器Color Mode设置为Number of light分配给以下几何体(建议使用Flat着色模式):当移动的光接近中心时,颜色会变暖,这表明在场景中有光的贡献。
    • 可以使用Utility着色器的nlights颜色模式来查看在调整低光阈值时有多少光线正在影响着色点。低光阈值: 0到1。红色=所有灯光,蓝色=较少灯光,黑色=没有灯光
    • 【Object ID】 基于对象ID进行着色,通常用于需要输出每个材质的渲染,这在后期合成中非常有用。要更改ID,给对象添加一个Arnold Tags,在用户选项(Tag_User options)中键入“ ID 1,2,3等”。
    • Tag_User options,Object ID模式示例
    • 【Bump Difference】 这个模型显示了“热图”(蓝色不变,穿过绿色到红色,变化到90度以外)基础平滑着色法线中bump法线和autobump法线的变化程度。这对于调试细分迭代和置换之间的平衡很有用处,使用autobump弥补bump剩下的部分。Autobump的作用是把置换贴图上的高频细节提取出来作为bump添加给置换后的模型。使用Autobump可以使细分替换拥有更多的细节。
    • 【Subdivision Pixel Error】 根据多面体与subdiv_pixel_error的匹配程度(仅在网格启用自适应细分时才可见),显示为“热图”模式的图元边缘长度;

Curvture曲率节点


urvture曲率节点对输出曲率的给定半径内围绕着色点进行采样。可以通过调整曲率采样的半径、衰减和扩散,并指定跟踪集以排除或包括对象。在与噪波着色器结合使用来创建程序磨损或污垢贴图时,该着色器非常有用。

  • 输出(Output) 是仅将凸(正)曲率或凹(负)曲率输出为灰度,还是同时输出这两者(凸曲率位于红色通道,凹曲率位于绿色通道)。
  • 采样数(Samples) 控制将要发射的光线数以计算曲率。增加采样数将减少噪波,并实现更好的质量效果。实际光线数是此值的平方。
  • 半径(Radius) 围绕着色点的球体半径,将在该半径范围内计算曲率。值越小,显示的细节越精细;值越大,产生的结果越平滑。
  • 扩散(Spread) 扩散值越低,投射的光线越垂直于曲面;默认值为 1,意味着将在所有方向上投射光线。此值可用作阈值来删除不需要的微小曲率变化。
  • 阈值(Threshold) 只考虑大于此规格化角度的曲率,(0, 1) 对应至 (0°, 180°)。此参数对于删减凸曲率曲面后面的“气泡”几何体非常有用。
  • 偏差(Bias) 偏差将影响曲率的衰减。使用默认值 0.5 时,曲率采样重要性会随着与着色点的距离而线性降低。较大的值将涵盖更多细节并扩大曲率,而较小的值将突出显示小细节。
  • 相乘(Multiply) 将曲率乘以该因子。请注意,在相乘之前,输出值的范围从 0 到 1,对应的角度为 (0°, 90°)。
  • 跟踪集(Trace Set) 对曲率进行采样时,为了精细地控制应该投射或避开哪些几何体,可以标记要位于跟踪集中的对象。将现有的跟踪集放置在此参数中可以使探查光线回避或投射已标记的相应几何体。可以使用包括参数来控制避开行为。
  • 包括(Inclusive) 当跟踪集为排除时,将针对所有几何体(标记节点除外)跟踪光线。当跟踪集为包括时,将针对标记节点和未作任何标记的节点跟踪光线。
  • 仅限自身(Self Only) 将曲率采样限制到正在着色的对象。