Arnold 教程Arnold 渲染器

Arnold for C4D 17 【材质(十一)】Utilit

2019-01-28  本文已影响0人  卜噪大仙

首先,本篇很长很长,近五千字并且知识量巨大,细究起来,看一天都没问题,所以给予忠告:先马再看。
反正我也不收费,马了慢慢看呗。

本篇讲解的Utility不同于之前的Utility Shader,从Node列表中也可以看的出来,这俩是不一样的。之前讲的Utility Shader隶属于Surface shaders。
具体有什么不同,各位看官接着往下看便知。

Utility Nodes一共包含15个小节点,接下来一个个讨论。

Utility node
blackbody
Blackbody (Temperature 0-3000) -> Emission Color

blackbody可以理解为使用色温控制颜色;
blackbody shader是复制的Houdini Pyro着色器,因此适用于模拟火焰、爆炸效果;
对于volumes(比如一堆火,一团烟雾),必须确保volume sample shader与blackbody shader正确连接;

blackbody属性 一个小栗子,具体怎么实现后续实例教程再来讲吧
cache
cache属性
camera_projection
camera_projection属性

camera_projection节点可以将图像进行摄像机投射(可以类比走马灯、幻灯片,相当于在摄像机镜头前放置了一张图片,摄像机光线透过图片投射到对象上);

插播一条科普

  • 在计算机图形学中,视体(viewing frustum)又称视景体视锥,是三维世界中在屏幕上可见的区域,即虚拟摄像机的视野
  • 该区域的实际形状依所模拟的摄像机镜头而定,但顾名思义,其常见的形状是方平截头体。将四棱锥截为平截头体的两个平面称作 近平面远平面 。如果某个物体到摄像机的距离比近平面近或比远平面远,那么这个物体不会被显示。
  • 视体剔除(Viewing frustum culling)指将完全处于视体外的物体移出渲染流程的过程。为了加速剔除过程,通常使用物体的包围体而不是物体本身来进行位置比较。
  • 通常,可以通过视野角度、纵横比,以及近平面和远平面到摄像机的距离来描述一个视体。


    视体(Viewing frustum)
clamp
clamp属性

用于限制输出结果,默认0到1之间,可以重新设定最大值/最小值;
可以将最大值最小值反转设置,输出结果也会发生反转;
由于技术限制,尽量不要使用0,可以无限接近0,使用0.9999等,避免出错;

complex_ior
Complex IOR属性

正如其名,complex_ior用于计算具有复杂折射率的材质;
Standard shader可以根据电介质材质(电绝缘材料)的折射率计算菲涅尔效应,像塑料、玻璃等,但是金属因为受消光系数(又称,摩尔吸光系数)影响,具有更复杂的菲涅尔曲线,这时候就需要使用complex_ior来模拟的更真实;
使用Standard surface shader时,就不需要再使用complex_ior,Standard surface shader已经内置了材质的复杂菲涅尔计算,不要多此一举;
综上,当遇到一些稀奇古怪的材质或者想要某种特殊效果时,就可以用complex_ior模拟,常见金属材质直接使用Standard surface shader就可以了;

附:常见材质 n/k 值查询网站: http://refractiveindex.info/

facing_ratio
Facing ratio属性

根据采样点朝向摄像机角度输出一个0~1之间的数值,1表示夹角为0度,0表示夹角为90度;
类似于菲涅尔,但能够比菲涅尔表现更复杂细腻的效果;
根据光线入射角的不同,输出不同的值;
它在其他渲染器中也被命名为Incidence;
与ndoteye模式中使用的Utility shader不同,Facing Ratio适用于任何类型的光线,而不仅仅是相机光线;
返回的值始终在0~1范围内;

说白了这个节点就是用来控制入射光线,调整入射光线夹角,材质便会产生不同光影变化:


上图汽车外表节点设置参考



layer_float

有关Float,请自行复习。

layer_float属性菜单

layer_float与之前讲过layer_rgb类似,用来混合图层,参数也都跟layer_rgba类似,这里就不展开讲解了,需要的童鞋可以看看layer_rgba部分。

passthrough
passthrough属性菜单

passthrough主要与AOV节点配合使用,用于读取和输出AOV。
后面讲AOV的时候再来展开详谈。

space_transform
space_transform属性菜单
switch_rgba & switch_shader
图中使用两个Lambert节点和一个Switch_shader节点来演示,Lambert一个使用红色一个黄色,【index】选中哪个,便显示哪个,选中未定义的【input】将会显示黑色
trace_set
trace_set属性菜单

!官方敬告 !:在未来版本中,trace_set将会被移除,慎用。

triplanar
triplanar属性菜单

利用此节点可以通过映射快速贴图,而不用使用UV map,例如下图中通过映射给正方体的六个面快速贴图:

Pose orientation,form YouTube

注意,Pref不是一个真正的“Space”,是对于绑定位姿的参考;
Pref一般用于动画,对比word和object可以明显看出差别:

uv_transform
uv_transform属性菜单

此着色器用来修改UV,控制2D贴图放置到曲面上的方式以及位置,可以对曲面上的贴图进行缩放、平移、旋转、复制、镜像等;
注意属性中的Frame,带有frame字样的属性会控制整个贴图;不带有frame的属性控制的是在贴图的frame被确认后,也就是贴图有了一个基础的框架后,在框架内的各种缩放、旋转等。

vector_map
vector_map属性菜单 左图为来自Mudbox的一张耳朵的纹理贴图,右边是利用左边贴图在多边形中生成的一个3D耳朵

传统的置换贴图如果想要产生表面变化,其多边形对象需要垂直于基础网格,Vector displacement map(矢量位移置换贴图)可以在面法线以外的方向上位移,而不用非要垂直于基础网格,Vector displacement map使用指定空间中被选定的向量的颜色通道来控制移动位置和幅度,这更加灵活。

另:vector_map只能在tangent space中使用,如果切线贴图是从word space和object space中导出,可以使用更通用的space_transform

注:【Order】/【Invert】/【Color to signed】这几个参数一般情况下不要动,这几个参数的默认值能够保证正确使用Mudbox导出的切线贴图。






以上就是Utility的全部内容,涉及了太多太多的图形学概念,老夫也是尽力科普了,如果还是一脸懵逼。。。不要紧,要坚信能打造出自己想要的设计结果最重要,不懂会用完全OK。

附赠图形学经典名言:如果它看上去是对的,那它就是对的。

至此,【材质】部分就讲的七七八八了,如果想起来还有别的需要讲的,那就。。。。插播吧
下篇开始【Camera】

好,下次见。

禁止私自转载,请勿先得到老夫同意!
否则后果自负

这一章真的写到吐血,需要小💗💗~~复活

上一篇下一篇

猜你喜欢

热点阅读