Tips:共计约2400字,估计阅读用时8min,理论用时30+min; 多图预警 ---------------------------------- 相关教学传送门: 本专栏持续更新中,欢送存眷。 ---------------------------------- 本篇将讨论三个着色器,分别是Ray switch shader,AO(Ambient Occlusion) shader以及Wireframe shader。 Ray switch shader 光线开关着色器
举个栗子: 示例场景顶用了非常简单的几个物体:一个小人模型,一面镜子,灯光使用Arnold Sky。 ① 选择你所需要添加ray_switch_shader的着色器(示例中我选的是小人的皮肤); ② 在选中的皮肤着色器的Network Editor中新建ray_switch_shader,将其连接到Arnold Beauty端口; 创建ray_switch_shader节点 ③ 此时,在IPR Window中能够看到小人及镜子里的反射酿成了黑色,因为还未给Ray switch定义任何属性; ④ 将之前的皮肤着色器节点(standard_surface)连接到Ray switch的Camera以及Specular reflection,即可看到恢复到最后的效果,也就是说,把皮肤着色器的属性赋予给了Camera和Specular reflection,操做皮肤着色器来控制Ray switch的Camera和Specular reflection; 连接好之后便能够看到小人变回之前的效果了 ④ 此外新建一个standard_shader,将Base颜色改为红色,并重定名为“red”,将“red”连接到Ray switch的Specular reflection,如今能够看到小人镜子里的影子酿成了红色,也就是说,如今Ray switch的Specular reflection属性由“red”控制; ⑤ 新建一个state_vector节点,连接到Ray switch的Diffuse reflection,此时Ray switch的Diffuse reflection便会根据state_vector来计算;
【Camera】计算Camera光线时,插入你想要使用的着色器的输出。好比前面用皮肤着色器来控制。 【Shadow】 对物体上的通明阴影进行着色器控制。 此参数能够将Ray Switch着色器连接到尺度外表着色器的Opacity参数。 这样你就能够得到一个不同于物体实际通明度的阴影。 例如,要减少物体投射的阴影量,或使用一个镂空的不通明图案。必须要使用Arnold标签关闭通明度(Opaque)才能够看到效果。 再次强调,所有涉及通明度的物体,都要关闭Opaque。 例如,将场景中阴影颜色改为红色: 新建standard_shader→重定名为red→进步red节点Transmission权重,并将Transmission颜色改为红色→连接到Ray switch的Shadow 注意:是改背叛点中Transmission的属性,物体关闭Opaque: 【Diffuse reflection】计算Diffuse reflection光线时,插入你想要使用的着色器的输出。 【Diffuse transimission】计算Diffuse transimission光线时,插入你想要使用的着色器的输出。 【Specular reflection】计算Specular reflection光线时,插入你想要使用的着色器的输出。 【Specular transimission】计算Specular transimission光线时,插入你想要使用的着色器的输出。 【Volume】计算Volume光线时,插入你想要使用的着色器的输出。 详细效果我就不多做演示了,大家多试一下,假如遇到了什么问题,能够在评论区留言。 Ambient occlusion 环境吸收着色器
Ambient occlusion调出方案: 同Ray switch,新版Arnold中也是操做在Network Editor中添加节点的方式调出Ambient occlusion。 Ambient occlusion参数详解: 【Samples】控制发射的光线数量,以计算发射光线数/总比例。 增加样本数量能够减少噪点得到更佳的渲染质量。 【Spread】法线向量N四周的角度扩展,范畴[0,1],此中1映射到90度(完好的半球)。 1.0是最常见的值。 其他值可能会产生无用的成果。 【White】光线击中率/总光线=0时(完全未遮挡)的输出颜色。 能够将白色属性更改为白色以外的颜色以实现特定外不雅观: 【Black】光线击中率/总光线=1时(完全遮挡)的输出颜色。 对于特定的外不雅观,能够将黑色属性更改为黑色以外的颜色。 例如,能够用于着色地板阴影的颜色: 【Falloff】沿光线间隔的遮挡的指数衰减率。 它与遮挡光线击中的半通明外表不兼容。 【Near clip】Sample的最小遮挡范畴。 【Far clip】Sample的最大遮挡范畴。 【Normal】输出一个法向量能够连接到ambocc,lambert和standard_surface的常规参数中。 【Invert nomals】该属性改变被跟踪光线的标的目的。 当它关闭时,光线被追踪在外表之外;当它开启时,光线追踪在外表之内。 最常见的用处是仿真污垢或侵蚀。允许连接贴图控制“污垢”。
【Trace set】字符串标签定义光线要追踪或制止的物体。 做用物体使用Arnold参数标签属性进行标识表记标帜。 举个栗子: 下图中可看到:Plane之上有三个模型——Sphere.1/Sphere/Tours。为Plane材质添加AO,光线追踪做用于定义为the_sphere的Sphere模型和不决义的Sphere.1模型(不决义物体,默认追踪),排除追踪 定义为the_tours的Tours模型(the_tours是在Tours模型中操做Arnold标签的Trace sets属性定义的——将Value1定义为the_tours)。在IPR Window中能够看到Tours模型在Plane上没有阴影,就是因为Tours在Plane上的所有光线追踪都被Plane的AO排除了。 AO效果示企图 【Inclusive】若开启,则仅对选定物体(及不决义物体)做追踪;若关闭,则仅不追踪选定物体。 敲黑板:不决义物体默认使用追踪。 【Self only】只采集针对同一物体的遮挡。 Wireframe shader 线框着色器
调出方案同上: Wireframe参数详解:Wireframe属性菜单 【Edge type】决定怎样暗示网格。 有三种形式:triangles/polygons/patches。 假如选择triangles,多边形将被分解为三角形镶嵌;polygons呈现为多边形面;patches目前暂时不撑持。 【Fill color】填充多边形面的颜色。 【Line color】多边形边线的颜色。 也能够使用贴图控制边线及面颜色 【Line width】多边形边线的厚度,默认为1。 【Raster space】开启时边线厚度使用屏幕像素,关闭时使用传神物理世界尺寸。 以上,Over ---------------------------------- 这不是单篇幅教学!是系列专栏,从安装初步深度讲授Arnold,其他篇幅传送门: 虽然是不定期更新,但绝对干货满满。 专栏持续更新中,点存眷,不吃亏。 (我也想定期更新 可是做不到 对啊 因为懒) ---------------------------------- 原创内容,制止私自转载。 |