三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Shader Graph: 能量护盾

Shader Graph: 能量护盾

实现思路

本篇文章参考学习了b站up主的视频:小沈的奇妙冒险

通过shader graph 实现能量护盾效果,其实现思路为:通过shader graph 中的 patter 在护盾mesh 上均匀铺上圆点,然后通过 simple noise 为圆点图案添加渐变效果,然后通过 gradient noise 为护盾添加流动光效果,以及通过 uv 的极坐标实现中间透明、四周不透明的效果,最后通过一张加工过的 uv 贴图实现护盾边缘发光效果。

效果预览

Shader Graph 详细实现

平铺圆点

首先要引入一个 Unity URP 内置文件夹:Window -> Package Manager


在 Assets -> Samples -> Shader Graph -> (版本号) -> Dots 中是一个产生圆点的 Shader Graph 子图,将其拖入或直接空格键输入Dots 获取。
然后与 Simple Noise 制作出带有圆点与渐变的效果:

流动效果


随后将 Flow 与 Dot Patter 输出结果相加。

Inner Mask


极坐标获取内部图案的遮罩,使中间到四周逐渐显现。

Border Mask


这是根据 Shield Mesh 的 uv 对最边缘的地方描边,获取一个在边缘 uv 处是 1 的遮罩。

整合


最后在场景中右键 -> Volume -> Global Volume 然后勾选:Bloom 中的 Threshold、Intensity、Scatter、Tint
然后设置选项的数值获取合适的 Bloom。

← 返回列表