Ray switch shader,AO(Ambient Occlusion) shader以及Wireframe shader的作用讲解
Ray switch shader 光线开关着色器
- Ray switch是一种着色器,允许给不同光线制定不同的着色器,或者关闭某一光线着色器,例如把指定对象的镜面反射颜色改成红色。(这主要是可以减少着色的复杂度,从而减少渲染的时间,同时也可以增加着色的艺术控制效果,也可以用来移除一些不必要的次要光线(specular/SSS)以及控制阴影透明度的颜色、仿真光散射穿过皮肤组织,给摄像机增加镜次要镜面反射
- 类似 Ray Switch RGBA ——用来控制色彩
- 新版arnold通过Standard_surface的Network editor,添加ray_swicth_shader节点即可调出。
Ambient occlusion 环境吸收着色器
- Ambient occlusion常用来模拟全局照明(GI, global illumination),可以说是全局照明的“近似”模式,它可以仿真场景中对象漫反射之间的复杂交互。
- 以前使用GI非常耗时(现在也不怎么节能啊),所以设计师们经常使用AO来大致模拟GI。Ambient occlusion虽然不是完全符合物理真实(相对于完全使用GI),但是渲染速度非常快,并且可以产生逼真的效果。
- 现在大多用AO来增加细节,比如给对象边角增加一些破损、污渍等。
- AO本质上是在上半球中发射一些光线,这些光线由阴影点切面定义。AO发出光线的击中率除以光线总数的比率作为颜色返回。当光线命中率 / 总光线=0时,输出被视为完全未遮挡或“明亮”(默认情况下为白色);当光线命中率 / 总光线=1 时,输出被视为完全遮挡或“黑暗”(默认情况下为黑色);在两者之间,有这两个值的线性插值。
Ambient occlusion调出方法:
同Ray switch,新版Arnold中也是利用在Network Editor中添加节点的方式调出Ambient occlusion。