Shader Graph18-反射、折射函数

news/2024/11/9 5:12:31/

一、打开Unreal,新建Material叫做DemoReflectionRefraction

        首先是看一下引擎内置的反射,Base Color设置为1是白色,Metallic设置为1金属强度为最大,Roughness为0粗糙度为最小,那么最后的结果球面上显示的就是周围环境。

        N表示表面的法线方向,Reflection表示反射方向,Refraction表示折射方向,右上角摄像机表示人眼。

 下面使用一张hdri图片,自定义反射效果。

二、Refraction和Reflection组合=玻璃效果

玻璃的特点是既有反射又有折射。

 有两个Texture Sample,上面的那个还是房间的cubemap,下面用的是这个图

这里用到Refract节点,4个参数第一个参数Ray Direction是折射后的方向,所以连接到CameraDirectionVector,不管你从哪个方向看都会出现折射效果。第二个参数是Surface Normal就是法线方向,第三个参数是入射介质为空气的折射值1,第四个参数是射出介质为玻璃折射值1.54,下面配个图看看。

Lerp的作用是混合两个图的效果,但是我们想要的是边缘反射,中间折射的效果,所以增加Fresnel节点,Fresnel的作用是边缘接近于1,中间接近于0,正是我们需要的。

折射值可以查表,百度一下

三、Unity的版本

将hdr文件拖拽到Assets->Textures文件夹下,修改纹理形状为Cube,点击Apply接受。

这里我们用自定义函数来实现Refraction节点的功能,这里注意Type改为String,直接将代码写在Body中,Refraction与Outputs的名称一致,代码结尾要有分号否则报错,报错后要关闭该ShaderGraph然后重新打开。

最后的效果

 

 


http://www.ppmy.cn/news/73901.html

相关文章

《汇编语言》- 读书笔记 - 第3章-寄存器(内存访问)

《汇编语言》- 读书笔记 - 第3章-寄存器(内存访问) 3.1 内存中字的存储问题 3.1 3.2 DS 和 [address]问题 3.2 3.3 字的传送问题 3.3问题 3.4 3.4 mov、add、sub 指令3.5 数据段问题 3.53.1~3.5 小结检测点 3.1 3.6 栈3.7 CPU 提供的栈机制问题 3.6 3.8 …

ASEMI代理Infineon英飞凌IPB072N15N3G原厂MOS管

编辑-Z IPB072N15N3G参数描述: 型号:IPB072N15N3G 持续漏极电流:100A 脉冲漏极电流:400A 雪崩能量,单脉冲:780 mJ 栅极-源极电压:20V 功率耗散:300W 操作和储存温度&#xf…

Python实现ACO蚁群优化算法优化Catboost分类模型(CatBoostClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

springboot项目网站部署到服务器

用eclipse跟着教程做了一个网站,java语言,springboot项目。在本地电脑上运行成功后,想把它部署到线上,通过网络访问。下面是我自己作为新手自己摸索出来的一个方法,供读者参考。 目录 1. jar包 2. 服务器 3. jdk 和 T…

Python系列模块之标准库OS详解

感谢点赞和关注 ,每天进步一点点!加油! 目录 ​一、模块 1.1 模块的定义 1.2 模块的分类 1.3 模块的基本导入语法 二、Python中的包 三、标准库之os模块 实战: 钉钉告警应用 一、模块 1.1 模块的定义 Python 模块(Module)&a…

Vue 封装自定义组件,通过npm install的方式安装使用

1、新创建一个空的项目 npm install -g vue/cli 安装脚手架4的版本 vue create vue-demo 使用安装的脚手架创建一个新的vue项目 npm run serve 运行创建的项目命令 2、在src下创建一个package文件夹用于存放自己的自定义组件,我创建了一个…

PETRv2 论文学习

1. 解决了什么问题? 过去,一般使用基于单目视觉进行 3D 目标检测。现在进行 3D 任务的方法大致分两类。一类是基于 BEV,将多视角图像映射为 BEV 表征,然后使用 3D 目标检测方法。另一类是基于 DETR,如 DETR3D 和 PETR…

11. Mysql执行原理之索引合并详解

MySQL性能调优 1. Intersection合并1.1 情况一:等值匹配1.2 情况二:主键列可以是范围匹配 2. Union合并2.1 情况一:等值匹配2.2 情况二:主键列可以是范围匹配2.3 情况三:使用Intersection索引合并的搜索条件 3. Sort-U…