Unity Shader Graph 3D 实例 - 一个简单的红外线扫描全身效果


目录

[创建一个Shader Graph文件](#创建一个Shader Graph文件)

[构造Shader Graph节点](#构造Shader Graph节点)

基础渲染贴图节点

拆分Z轴坐标节点

增加基于时间的循环

制作扫描的条形效果

增加条形效果的颜色

叠加条形效果到原模型上

最终展示效果


前言

在Unity Shader Graph中,实现红外线扫描效果可以为游戏增添独特的视觉效果,模拟类似红外探测器扫描物体的效果。通过结合物体坐标和Shader Graph的强大功能,我们可以创建一个动态的扫描条,从模型的某一位置扫描至另一位置,模拟红外线的扫描过程。本篇博客将介绍如何利用Shader Graph实现这一效果,教你如何通过节点系统控制扫描线的移动及其与物体位置的关系,帮助你打造炫酷的红外扫描效果。


创建一个Shader Graph文件

在Project视图里点击鼠标右键,选择Shader Graph/URP/Lit Shader Graph,创建第一个Shader Graph文件,命名为Scan。

创建两个对应的材质球命名为M_Scan和M_ScanEye,使用Scan的Shader Graph文件。


构造Shader Graph节点

基础渲染贴图节点

声明一个Texture2D的贴图变量命名为MainTex,将其数据进行采样(Sample Texture 2D)处理转化为在Shader Graph中可以操作的数据。

拆分Z轴坐标节点

扫描效果我们希望是从前往后的,所以它的坐标轴会用到的是Z轴,因此我们可以用Position节点进行拆分,获取它的Z值(对应B的值),当然还是基于游戏物体的空间坐标系。

增加基于时间的循环

创建一个Time时间节点,并将其乘以一个Float类型的变量命名为ScanSpeed,用来控制扫描的速度。然后在其乘法的结果进行一个Fraction处理,获得小数点后的值,即该结果会一直循环从0到1,这样我们就能看到扫描一直进行的效果。

将Fraction之后的数据结果用Remap节点重新对应下,即将输入的值按照输入的最小最大值对应映射到输出的最大最小值,原因还是因为坐标轴存在正负,这样才能从前往后的去做扫描效果。

将Remap之后的值加到Z轴的值上,这样Z的值就会随着时间开始从模型最前到最后往复循环。

制作扫描的条形效果

当有了基于模型Z轴从前往后往复循环的数据之后,我们只需要将输出的值做一个Step节点的筛选(类似漏斗效果,当In输入的值比Edge小则为1显示为白色,大于Edge则为黑色),分别连接两个,一个的In值保持为0,另一个In值用一个Float型的变量命名为ScanWidth控制条形的宽度。那么增加了宽度的就会获得更多的白色部分,多的白色部分即为条形的宽度,减去另一个Step节点的值就可以获得一个宽度为ScanWidth的条形效果。

增加条形效果的颜色

将获得的条形效果数据与一个Color型变量命名为ScanColor相乘,即可获得带颜色的条形效果,将颜色设置为HDR。

叠加条形效果到原模型上

最后使用Add节点,将条形效果叠加到原始的贴图采样数据上,就可以获得条形扫描效果了。

然后在材质球上调整一下参数,如下。


最终展示效果

多角度展示红外线扫描效果。
45度角
侧面

正面

相关推荐
创世虚拟世界11 小时前
从零打通 MCP 访问创世虚拟世界CRM的 3D 数据,我搭了一个可直接调用的演示站
3d
李游Leo16 小时前
HarmonyOS 7 + Spatial Recon Kit-C++:3DGS 高斯参数的非有限值隔离与可渲染性门禁【鸿蒙心迹】
开发语言·c++·3d·harmonyos
迁移科技16 小时前
小体积蕴含大能量:Epic Eye Pixel Mini轻量化相机的应用美学
人工智能·3d·自动化·视觉检测
Martina_032118 小时前
同一片森林换个镜头就忽冷忽暖?用6步统一曝光、LUT与相机后处理
人工智能·游戏·数学建模·3d·自然语言处理·aigc·游戏策划
Better Bench19 小时前
奇异值分解(SVD)在3D骨骼旋转中的应用:原理与实现
3d·人体姿态估计·骨骼关键点
WarPigs20 小时前
Unity对象不应该使用null传播的问题
unity
追烽少年x21 小时前
从零构建一个3D点云预览器:Python + PySide6 + pyqtgraph 实战
python·3d
西红柿炖牛腩3542 天前
Three.js 模型体积优化:Draco/Meshopt 压缩与 DRACOLoader 配置的 4 个步骤
javascript·3d·性能优化
每日出拳老爷子2 天前
【VR】【Unity】抓走转放系列21|一天搭完门和抽屉工具槽:小场景按这个次序拼装
unity·vr·驱动·排错·snap zone
JAI科研2 天前
CT重建(二) | 3D高斯泼溅:实时渲染的革命
图像处理·人工智能·计算机视觉·3d·视觉检测·ct重建