UnityShaderGraph 卡通水面效果

效果预览:

原理:

使用三张噪声贴图,结合UV偏移制作水面波纹混合的假象效果

噪声图1:

噪声图2:

噪声图3:

三次采样都是同样的方法,使用step函数来二分噪声

三张噪声采样结果相乘得到最终的波纹噪声区域area

area用来插值水面基础色和波纹基础色得到基本的水面颜色

效果如图:

这样的效果很明显会有噪声穿插导致破碎效果,而且很平面化,为此采用法线方式来增加层次感。

使用一张噪声图,同样采用相同的采样方式,用这张噪声图来进行法线换算,并且和光源进行兰伯特光照计算,在二分计算出明度和暗度区域

效果如下:

这样和算好的值相乘,得到最终的结果,如图:

虽然还有一个破碎的效果,但是这样叠加的效果已经马马虎虎可以过去了,还算比较有特色的。

增加效果:

计算深度编辑区域,采样一张噪声图作为泡沫效果,同样使用上述的方法采样噪声图

效果:

然后计算最终的颜色:

完成!!

DepthFade自定义节点:

效果:可以计算不透明交界深度

相关推荐
虾球xz33 分钟前
游戏引擎学习第276天:调整身体动画
c++·学习·游戏引擎
虾球xz34 分钟前
游戏引擎学习第275天:将旋转和剪切传递给渲染器
c++·学习·游戏引擎
虾球xz6 小时前
游戏引擎学习第268天:合并调试链表与分组
c++·学习·链表·游戏引擎
qq_59821175711 小时前
Unity.UGUI DrawCall合批笔记
笔记·unity·游戏引擎
南玖yy19 小时前
C/C++ 内存管理深度解析:从内存分布到实践应用(malloc和new,free和delete的对比与使用,定位 new )
c语言·开发语言·c++·笔记·后端·游戏引擎·课程设计
Tech Synapse20 小时前
Unity ML-Agents实战指南:构建多技能游戏AI训练系统
人工智能·游戏·unity
虾球xz21 小时前
游戏引擎学习第272天:显式移动转换
c++·学习·游戏引擎
龙湾开发1 天前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 09.天空和背景
c++·笔记·学习·3d·图形渲染
咩咩觉主1 天前
c#数据结构 线性表篇 非常用线性集合总结
开发语言·数据结构·unity·c#·游戏引擎·程序框架
虾球xz1 天前
游戏引擎学习第271天:生成可行走的点
c++·学习·游戏引擎