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

一.水体反射和折射

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

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

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

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

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

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

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

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

完整节点:

最终效果:

相关推荐
艾伦~耶格尔24 分钟前
【MySQL体系结构详解:一条SQL查询的旅程】
数据库·学习·mysql
Nan_Shu_6141 小时前
学习:uniapp全栈微信小程序vue3后台-无事发生
学习·微信小程序·uni-app
赤月幼狼1 小时前
elasticsearch学习(四)kibana安装
学习·elasticsearch·jenkins
Virgil1392 小时前
【YOLO学习笔记】数据增强mosaic、Mixup、透视放射变换
笔记·学习·yolo
辗转反侧着疑惑3 小时前
MyBatis Plus 【详解】| 学习日志 | 第 17 天
java·开发语言·学习·mybatis·mybatis-plus
胡萝卜3.03 小时前
【LeetCode&牛客&数据结构】单链表的应用
数据结构·学习·算法·leetcode·单链表
赤月幼狼4 小时前
elasticsearch学习(二)插件安装
学习·elasticsearch·jenkins
姓刘的哦4 小时前
Linux驱动开发学习笔记
linux·驱动开发·笔记·学习
励志不掉头发的内向程序员4 小时前
从零开始的python学习——函数(2)
开发语言·python·学习
范纹杉想快点毕业6 小时前
数据结构与算法个人学习代码笔记包含leetcode,海贼oj,蓝桥杯,ACM
java·开发语言·笔记·学习·算法·leetcode·蓝桥杯