NEKOPARTY STUDIO

Godot可交互水面渲染(一):单纯水面篇

字数统计: 217阅读时长: 1 min
2026/02/14
loading

背景

Godot的GDShader虽然简单好用,但是由于过度封装照顾新手,想要创建复杂且效果优化都不错的的Shader实则困难。

登陆Godot Shaders网站寻找相关水面Shader,大多只能做到叠加两层法线扰动,加上根据深度模拟光线吸收,加上根据深度差计算的物体边缘泡沫。如果有更复杂一些的,那就是加上折射,焦散,最多再在里面写一个非常暴力耗时的SSR。

这系列文章介绍了我制作这个可交互水面的完全过程,但是涉及一些Godot比较高级的渲染API知识,例如Compositor和Compute Shader。所以先写出这个用不着这两个东西的第一部分内容,单纯讨论水面本身。本系列文章最后结果如图:

渲染结果

CATALOG
  1. 1. 背景