美文网首页阿诺德教程
【插播001】Utility Shader

【插播001】Utility Shader

作者: 卜噪大仙 | 来源:发表于2018-02-06 05:43 被阅读216次
    utility属性主菜单

    一个通用的“万能”utility节点着色器,能够用来为合成创建通道,也能够用于调试场景。

    Shade Mode 着色模式

    用于渲染网格组件(指模型的网格,建模就是建网格)的着色模式。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 Mode 颜色模式

    用于渲染网格组件的颜色。可以选择颜色设置中提供的纯色,或者从各种各样的对象(例如几何图形、阴影、线框等等)中提取色彩。


    不同色彩模式示例

    【Color】 单一色彩输出;

    【Geometric Normal】 根据材质法线(Shader normals)进行着色;

    Geometric Normal示例

    【Un-bumped Normal(Ns)】 在屏幕空间中平滑无碰撞的法线;

    【Normal(N)】根据几何法线( Geometry normals)方向分配颜色;

    法线朝外VS法线朝内

    【Barycentric Coords】图元重心坐标(bu对应红色,bv对应绿色);
    P.S.图元,全称为图形输出原语(graphics output primitive),是图形软件包中用来描述各种图形元素的函数,简称为图元(primitive)。

    Utility材质的“重心”与镜面粗糙度有关

    【UV Coords】 UV坐标 (u对应红色,v对应绿色);


    抽象模型没有UV,所以会呈现黑色,此时需要创建UVW:
    选中对象材质→右键→Generate UVW Coordinates

    【U Coords】 U坐标;
    【V Coords】 V坐标;
    【U Surface Derivative (dPdu)】 U坐标曲面导数,U向坐标的衍生表面;

    U Surface Derivative (dPdu)

    【V Surface Derivative (dPdv)】V坐标曲面导数,V向坐标衍生表面;

    V Surface Derivative (dPdv)

    【Shading Point (相对于BBox) Shading point(着色点)模式,相对于Bounding Box(边界框);

    Shading Point(相对于BBox)

    【Primitive ID】 每个primitive ID都以不同的颜色表示;

    【Uniform ID】 着色时,允许使用patch(片/面)代替polygon(多面体),使用curve(曲线)代替curve segment(线段);

    使用patch代替polygon
    使用curve代替curve segment

    【Triangle Wireframe】 将对象线框渲染为三角形;

    【Polygon Wireframe】 将对象线框渲染为多边形;

    【Object】 基于对象名称计算颜色;

    Object模式示例

    【Edge Length】基于对象边的长度进行着色,将边缘长度显示为热图。 可检测过度细分的区域;

    细分平面(catclark)启用了Edge Length和Polywire

    【Floatgrid】 基于哈希算法进行着色;

    Floatgrid示例

    【Reflection Lines】在评估模型时,可以用于诊断轮廓线和点连续性问题。 它也可以让你知道现实生活中的反射会如何表现。 例如,在对表面评估至关重要的汽车模型中,这种着色模式特别有用;

    “反射线”揭示了汽车引擎盖边界的连续性错误

    【Bad UVs】 会以洋红色表示不正确的UV。例如抽象模型没有创建UVW时,会显示为洋红色:

    【Number of lights(nlight)】 基于着色点灯光数量着色,这在调试具有多个灯光的场景时非常有用。

    • 通过一个从红色(考虑场景中所有灯光),穿过黄色和绿色,到蓝色(考虑非常少的灯),以及最后到黑色(不考虑灯光)的“热图”颜色渐变来可视化的。
    • 将Utility着色器Color Mode设置为Number of light分配给以下几何体(建议使用Flat着色模式): 当移动的光接近中心时,颜色会变暖,这表明在场景中有光的贡献。

    P.S.可以使用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的匹配程度(仅在网格启用自适应细分时才可见),显示为“热图”模式的图元边缘长度;

    Overlay Mode 叠加模式

    允许在常规的色彩模式和着色模式之上叠加线框。


    【Color】:模型着色模式中使用的颜色。
    【Opacity】:设置着色透明度。确保对象的Arnold属性中关闭了“不透明”选项。
    【AO Distance】:采样的最大距离(着色模式设置为ambocc)。

    【Roughness】:控制镜面反射的光泽度。 值越低,反射越清晰。 在极限值中,0值会给你一个完美清晰的镜面反射,而1.0会产生接近漫反射的反射。 应该在这里连接一个示意图来控制镜面高光的变化。
    【Normal】:ambocc,lambert,standard_surface着色器中输出可以链接到正常参数的法线向量。
    .
    .
    .
    .
    更多示例:

    文章中有很多不好理解的地方,理解通透了固然好,但是也不用过于较真,会用才是真理,多多练习。

    看完别着急走啊~~ 打个赏啊~~实在不行点个赞也中

    禁止私自转载。
    转载请私信。要不然被我发现了,哼哼,我就告你。


    相关文章

      网友评论

        本文标题:【插播001】Utility Shader

        本文链接:https://www.haomeiwen.com/subject/nzhjoxtx.html