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

一.水体反射和折射

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

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

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

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

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

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

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

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

完整节点:

最终效果:

相关推荐
海绵宝宝转agent9 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
每天都要写算法(努力版)9 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
sunshine22 girl13 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
sunshine22 girl14 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
Answer1st14 小时前
【嵌入式学习】嵌入式原理知识-DMA(九)
学习
传奇开心果编程15 小时前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
Mr_Macallon16 小时前
C++回顾(基础)(01)
c语言·开发语言·c++·学习
sunoo-22917 小时前
【ARM嵌入式学习笔记第十天】i.MX6ULL eLCDIF控制器驱动RGB LCD全解析(硬件原理+寄存器配置+裸机代码)
arm开发·笔记·学习
kaiyou202618 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
知识分享小能手18 小时前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习