UE4 材质学习笔记12(水体反射和折射)

一.水体反射和折射

首先就是要断开所有连接到根节点的线,因为水有很多不同的节点成分,当所有其他节点都在用时 要分辨出其中一个是何效果是很难的。

虚幻有五种不同的方法可以创建反射,虚幻中的大多数场景使用多种这些方法 它们会同时运作。

我们已经使用了第一种方法来创建反射,即天空盒(Skybox),所以天空盒被反射到我们的场景中,这是做反射的最省性能的方法,

但如果我们想要反射局部的物体、更近的物体,我们需要使用第二种反射方法:光照探针(Light Probes),这种创建反射的方法非常节省性能,因为立方体贴图可以被渲染一次,然后可以反复使用,但是这有一个缺点,那就是它们只能从捕获立方体贴图的那一个点开始是准确的,但是我们移动以后反射就出现在了错误的位置。

接下来我们要使用屏幕空间反射,在材质的细节面板,在"半透明"下 你可以看到有个属性是用于屏幕空间反射的,其作用是它会取用屏幕或者正在渲染的图像,而且如果一个像素需要反射,它会查看那个反射是否在屏幕上的任何其他像素上可用,但是屏幕空间反射的缺点是它们只能使用在屏幕上的数据.

然后设置折射效果,当光从空气进入水中,由于空气和水的密度不同 光线会有一点弯曲,这就会导致水面下的东西看起来扭曲了,水的折射率是1.333,但是直接设置折射效果的话旋转视角会发现水会突然消失了。因为我们目前将根节点设置为折射模式,这对水面来说不合适,所以我们要将折射模式改成Pixel Normal Offset

但是设置了折射以后,在水与岩石的交界处会有很硬的边缘,我要做的是在水和其他物体相连的边缘处降低折射效果

需要设置交界处没有折射。

完整节点:

最终效果:

相关推荐
辞旧 lekkk13 分钟前
【Qt】 系统相关:事件与定时器
开发语言·qt·学习·萌新
zzzll111137 分钟前
如何学习AI Agent?
java·人工智能·学习·程序员·大模型
默默敲代码的徐哥儿1 小时前
八股文整理——后端
java·开发语言·spring boot·后端·学习
巴巴媛6661 小时前
STM32学习笔记【32.BKP + RTC】
笔记·stm32·学习
网络与设备以及操作系统学习使用者3 小时前
通信的物理与逻辑双维度解析
学习·深度优先
浩瀚地学3 小时前
【Java基础复习】IO流(二)
java·开发语言·经验分享·笔记·学习
researcher-Jiang4 小时前
Manacher算法学习与应用
c++·学习·算法
WZF-Sang5 小时前
TCP和UDP协议
linux·服务器·网络·c++·学习·tcp/ip·udp
my_power5205 小时前
大模型概述学习笔记
笔记·学习