介绍
这是一种使用 非半透明 ,实现透明效果的技巧
可以用在磨砂玻璃、夹芯软糖、角色隐身迷彩、幻影坦克(铲车)等地方
材质
准备一个混合模式为不透明
、着色模式为默认光照
的材质,其基础设置如下:
原理
通常情况下,反射的过程如下图所示:
在这一材质中,可以通过重新计算法线,将材质法线方向修改为相机方向的反向法线,从而“欺骗”引擎反射:
(注:黄色箭头表示的新反射路径箭头画反了)
原理非常简单,但实践过程中展现的效果却十分奇妙。因此,我称之为 暗黑Shader。
进阶
不要停下来
距离场
如果你的材质呈现出类似“夹芯软糖”的效果,那么是因为模型启用了影响距离场光照
选项:
实际上,这正是Lumen
的反射功能在起作用。而“夹芯软糖”的“芯”则是模型的距离场。非常有趣!由于距离场精度的限制,材质表面与距离场之间会产生一定误差,从而导致“夹芯”效果的出现:
取消勾选模型的影响距离场光照
选项,可以将其排除:
- 使用
Lumen总览
查看效果:
取消后呈现的效果如下:
此外,可以使用其他模型对距离场进行替换,也可以将新的模型放置到材质的内部。
RayTracingQualitySwitchReplace
那…是不是还可以利用距离场做更 黑暗 的事?
关于距离场的其他应用,我们可以通过类似“GI Replace”的方式来开发更多玩法,具体方法是利用RayTracingQualitySwitchReplace
来替换Lumen
中的材质表现。
官方文档 : GI Replace
GI替换材质用于在光照烘焙中替换材质表现。
对于Lumen
技术,则可以使用RayTracingQualitySwitchReplace
达到类似效果:
通过RayTracingQualitySwitchReplace
,可以替换Lumen反射中的颜色和法线:
最终,在Lumen
看来,这就是一个带有颜色的“正常”模型:
其“夹芯”程度取决于距离场的分辨率,我们可以在模型属性中调整距离场分辨率:
这是1.0
的样子:
这是0.1
的样子:
如果场景并非Lumen
如果你使用老版本UE,或无法使用Lumen,当然也有应对变法
作为正经的反射,理所当然的可以使用天光、反射球所捕获的环境:
之前有人问“如何在材质里采样反射球捕获的HDRI”,这就属于曲线救国了
我们甚至可以替换它为别的HDRI
更多廉价效果开发
贴图
贴图可以继续被灵活利用:
粗糙度
注意到预留了粗糙度
了嘛,他还是原来的粗糙度.
通过调整贴图与粗糙度,还可以实现出类似“磨砂玻璃”的表现:
为0
时
透过材质观察后方内容时,你会发现展现出来的确实是透过
Lumen
反射渲染的效果:
由于是"暗黑Shader“正确起作用的范围有限,需要自己感受。
自发光
磨砂玻璃
ClearCoat双层法线
自体积 软糖 史莱姆
最后送上“小熊软糖”:
结语
这个技巧还可以开发出很多玩法,我就不列举了
欢迎加入 暗黑Shader界,成为一名暗黑TA吧
彩蛋
现在直面 暗黑Shader 的最阴暗面
当你开启透明图层,制作翻转ClearCoat双法线…它居然…