Godot社区普遍都是技术内容量偏低,游戏本身内容量偏高,所以相关技术美术的东西做的人不多,像体积云这种事情做的人就更少了。不过社区对于这个体积云还是做了一点工作,例如ClayJohn的不能穿过的SkyBox云,以及像SunshineClouds这样虽然不太好用但是看上去确实尽力了的项目。
我这个项目是基于SunshineClouds已经搭建的框架改的。那个插件有巨量痛点,包括但不限于:云无法融入Skybox;降噪效果非常差,导致如果你对视觉效果有一点要求的话,这个插件其实几乎不可用,在1/4及以下的分辨率下效果简直是惨不忍睹;性能不太理想,加上降噪问题很难权衡性能与视觉的平衡等问题。
不过好在它搭建了一些云建模以及渲染的框架。我重写了整个降噪管线,优化了光线步进的效率,以及整合进了整个环境渲染流水线。除此之外还有一些着色强化,云的水面反射,和看上去比较拉的Scatter后处理之类的玩意。
该项目完全在Godot原版运行。1080P分辨率在我自己机器上(4070移动版,笔记本)运行,如果云以半边长分辨率渲染,大约是2ms。如果是1/4边长分辨率渲染,略低于1ms。