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

一.水体反射和折射

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

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

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

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

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

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

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

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

完整节点:

最终效果:

相关推荐
mojugang19 小时前
CrWMN是什么材质
材质
星火开发设计19 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
Gorgous—l20 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
Hello_Embed20 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
●VON21 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术
香芋Yu21 小时前
【大模型教程——第四部分:大模型应用开发】第1章:提示工程与上下文学习 (Prompt Engineering & ICL)
学习·prompt
LYS_061821 小时前
寒假学习10(HAL库1+模数电10)
学习
runningshark1 天前
【项目】示波器学习与制作
学习
€8111 天前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战