Shader Graph18-反射、折射函数

news/2024/5/19 5:19:48 标签: Unity, Unreal, Shader, 反射, 折射

一、打开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.niftyadmin.cn/n/347177.html

相关文章

Python操作XML教程:读取、写入、修改和保存XML文档

目录 导入所需模块解析XML文档获取元素遍历XML文档写入新的元素修改元素的内容和属性删除元素保存修改后的XML文档示例演示python操作xml的常用方法 XML是一种常见的数据交换格式,在许多应用中都被广泛使用。通过掌握Python操作XML的基础知识,您将能够轻…

Ubuntu20.04配置静态IP地址,开启远程连接

本文操作演示为windows系统使用虚拟机安装的ubuntu系统进行:操作系统为ubuntu20.04,VMware15.5.0 build-14665864,内容分为两部分,第一部分为配置ubuntu系统的静态ip地址,第二部分内容为修改配置开启远程连接功能 一、…

浪涌保护器的不同类型解析

本页提到了不同的电涌保护器类型,即1型电涌保护器,2型,3型和4型电涌保护器。 它提到了电涌保护器类型,即GDT(气体放电管),TSPD(晶闸管浪涌保护装置),TVS&…

苹果笔不用原装可以吗?apple pencil二代平替笔推荐

随着网络技术的飞速发展,移动电话、平板电脑、笔记本等移动设备正在逐渐走进人们的生活。就好比如我们现在用的是电容笔。我认为,如果我们可以运用它来学习记笔记,做笔记,或其他一些很简单的事情,我们将不必为一支原装…

【科普】干货!带你从0了解移动机器人(二)—— 移动机器人硬件组成

移动机器人是一个多功能于一体的综合系统,内容涵盖了传感器技术、自动化技术、信息处理、电子工程等,它集环境感知、动态决策与规划于一体,是目前科学技术发展最活跃的领域之一。移动机器人的各种组件之间需要协同工作才能实现机器人的自主移…

赛宁首创革新赛制助力人才培养 | 第十六届全国大学生信息安全竞赛-创新实践能力赛全面启动!

​​为积极响应国家网络空间安全人才战略,加快攻防兼备创新人才培养步伐,实现以赛促学、以赛促教、以赛促用,推动网络空间安全人才培养和产学研用生态发展,由国防科技大学与中国科学技术大学联合承办的第十六届全国大学生信息安全…

ES6中的解构赋值

解构赋值 在JavaScript中,解构赋值是一项非常有用的特性,它可以让我们方便地从数组和对象中提取值并赋给变量。这个特性实际上是一种语法糖,它可以让我们更加方便地获取想要的数据,减少代码的冗余和复杂度。 数组解构赋值 我们…

数据库的引擎与存储

MySQL常见的三种存储引擎(lnnoDB、MyISAM、MEMORY)的区别 InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票…