Unity ShaderGraph教程——进阶shader

1.水面(一)

公式:场景深度 节点深度 --- 屏幕空间位置的W向量 = 半透明物体与不透明物体的相交边缘

原理:场景深度 节点深度包含透明像素,屏幕空间w向量不包含透明像素。

注意:需要在UniversalRP-xxxQuality inspector面板将Depth texture选项打开,才能读取深度值。

(1)片元着色器部分:

(2)顶点着色器部分

效果:

2.水面(二)

实现效果:水面光滑程度、水下物体以及阴影扭曲效果

(1)光滑程度

简单的通过一个float参数控制光滑程度

(2)扭曲效果

将屏幕上颜色和水面颜色混合,使场景中已经被渲染的不透明物体屏幕坐标产生一定的扭曲,跟当前颜色合成后模拟折射效果。

注意:需要用到scence color节点需要在UniversalRP-xxxQuality inspector面板将不透明texture的对勾打开

scence color和原基础颜色lerp,混合后已经具有透明度数值,所以原透明度不需要再单独输出。

相关推荐
℡枫叶℡16 小时前
Unity - 图集大小与内存占用
unity·图集内存
_ZHOURUI_H_17 小时前
Unity MyFramework 用法说明(二十五):使用 AtlasManager 统一管理图集与 Sprite 引用
ui·unity·游戏引擎·unity3d·游戏开发
新手unity自用笔记18 小时前
Unity网络基础_2
unity·游戏引擎
音视频牛哥19 小时前
从数字孪生到机器人操控:Android Unity3D下RTMP/RTSP多路低延迟播放实践
android·unity·音视频·unity rtsp播放器·unity rtmp播放器·rtsp player·rtmp player
派葛穆20 小时前
Unity-原生 JsonUtility 实现 JSON 与TMP UI 交互实战
unity
chenzhou__21 小时前
独立游戏开发日志 ①:从信号博弈到涂色对战——一次玩法重构始
笔记·后端·学习·unity·go·独立游戏
五仁烧饼1 天前
Unity Addressables 资源依赖治理:规则约束、自动修复与全链路防护
java·unity·游戏引擎
qq_370773092 天前
Unity游戏xLua逆向实战:从SO版本识别到Lua脚本热替换全链路
游戏·unity·lua
mxwin2 天前
Unity Shader 水面 Shader 教程 从 Gerstner 波浪到屏幕折射、焦散、泡沫的完整实现
unity·游戏引擎
噗噗夹的TA之旅2 天前
Shader 学习 21:自定义 Render Feature
学习·游戏·unity·c#·游戏引擎·图形渲染