对于小编这种精打细算的人来说,钱都是要花在刀刃上的;就在最近,编编遇到“刀刃”了。
作为一个将“ 该省省、该花的时候看看能不能再省省花 ”原则,贯彻始终的省钱小能手,编编最近是真的遇到让我心甘情愿奉上钱包的大宝贝了。揭开谜底之前容我卖个关子,先带大家看段小动画。
来看看这个Reddit用户@kripto289展示的,利用自己开发的Unity水系统插件KWS2,处理子弹击中水面时产生的动态飞溅交互,视觉效果有多惊艳,宝子们自己看吧。
是的,让小编毫不犹豫拿出钱包的就是这款名为KWS2的插件.
跟咱们此前看到的大多静态或纯视觉方案不同,KWS2能够模拟基于真实波浪的流动、与动态物体的交互,以及受地形驱动的水体行为。
KWS2兼容所有Unity渲染管线, 通过区域(zones)实现完全自定义,并在技术允许范围内针对大规模水域环境进行了极致优化,能够模拟海洋、海域、河流、湖泊等各种自然水域场景。
KWS2的渲染基于物理近似原理,用于光照和波浪模拟,并支持如风力1强度、浊度(turbidity)、透明度、色散(dispersion)等在内的多种物理参数。
这款插件的主要特性包括:
- GPU 波浪模拟:支持多级级联(multiple cascades),有效避免纹理重复(tiling)问题;
- 基于物理的光照近似:包含体积光与阴影、光线吸收、散射以及焦散(caustics)效果;
- 基于物理的反射近似:结合快速屏幕空间投影反射、摄像机平面反射,以及烘焙和实时反射探针;
- 屏幕空间折射近似:支持基于水体折射率(IOR)的色散效果;
- 基于水深和波浪的焦散近似:同样包含色散效果;
- 水下效果:支持部分浸没(partial submersion)的视觉表现。
让人震撼到窒息的逼真动态飞溅效果,不过是KWS2插件功能的冰山一角。
作者通过4个重叠区域的优化方案(可动态降低远景帧率、粒子数量等),让系统在2公里可见范围内完成水体模拟仅需0.2秒。
更令人印象深刻的是,在4070显卡上以4K分辨率运行时,即使开启包括焦散、体积光照、四叉树实例化LOD、屏幕空间反射、4层FFT波浪级联、飞溅的半透明阴影最高画质特效,整体水体渲染耗时也仅为1.5至2毫秒,性能表现极为出色。
@kripto289前前后后分享了一系列作品,重点介绍了KWS2陆续推出的新功能,展示了很多令人印象深刻的模拟和着色器。
比如,在河流中加入移动物体时,可以预先烘焙一段水流模拟,从而避免在运行时等待;这样一来,河流在游戏启动时就能立即呈现完整状态。
系统完全支持全动态实时模拟,能对所有动态物体(如角色、载具、掉落物等)做出真实反映。不过需要注意的是,仍然需要在启动时预先计算或烘焙地形高度,以确定水体可能流动的区域。
再早一些时间,@kripto289还贴心在自己Reddit主页为粉丝演示了,如何预先计算河流模拟并仍可对其进行调整。
虽然基础水流是预计算好的,但KWS2并不是“死水”。它在运行时仍然保留一个轻量级的动态物理层,可以响应玩家或程序的实时操作。
可以看到在运行时暂停河流、添加障碍物,甚至管壁水源,水体都会实时响应这些变化。
接下来,就让我们沉浸式感受一下,KWS2所呈现的那些灵动而真实的水体吧~
好了,今天的分享就到这里,小伙伴们咱们下期再见啦~
-今日互动-
听说长得好看的人都给我点赞赞了
热门跟贴