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,混合后已经具有透明度数值,所以原透明度不需要再单独输出。

相关推荐
暴走约伯2 小时前
【VFX工具链源码拆解 09】终极工业化闭环:基于 ID 规则驱动的全自动场景建档、骨骼挂载与男转女场景迁移
unity·c#·游戏引擎·材质
寂寞的船1 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
寂寞的船2 天前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
探求虚无3 天前
用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩
人工智能·unity·游戏引擎
17岁的勇气4 天前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
寂寞的船5 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
Martina_03216 天前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
寂寞的船7 天前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船8 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船8 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器