KWS2动态水系统
资源介绍
在更新之前,请删除water shaders/scripts文件夹。 KWS2是Unity的先进水系统,围绕基于物理的实时模拟而构建。 与许多静态或纯视觉解决方案不同,KWS2模拟实际的基于波浪的流,与动态对象的交互以及地形驱动的行为。 通过区域完全可定制,并在技术上可能为大规模水环境进行优化,支持自然场景,如平静到中等的海洋、小瀑布和现实的河流流量。 理想的项目需要可信的,性能友好的水,从公海到山间溪流,没有针对夸张的极端 :) 与第一版KWS水系统相比,一些过时的功能已被删除,而其他功能则得到了显着改进和从头开始重新设计。 KWS2是一个完全独立的资产,不需要KWS1工作。 现有KWS1用户可享受升级折扣 (~ 40%)。 支持的管道: 内置,URP,HDRP,Unity 6 +,包括基于RenderGraph的现代版本 由于计算着色器限制和繁重的实时渲染功能,不支持移动平台。在未来的更新中,计划了更轻松的烘焙替代方案 (如预计算模拟或海洋数据),这应该允许对移动硬件、webGPU等的有限支持。 其他平台 (VR,Metal,PlayStation,Xbox等) 可能会起作用,但不受官方支持或保证。 您可以在不断更新和扩展的在线自述文件中找到其他技术信息。 您也可以在这里找到交互式PC演示 主要特点 动态水模拟 基于浅水方程和FFT海洋渲染的实时动态水模拟 动态波传播与水体运动 自动与地形、障碍物、海岸线和动态对象交互 水源、排水管、力、流量重定向和可配置区域效应器 持续的积水、洪水、水坑和蒸发 可调流速、湍流、波响应和稳定性 单个模拟区域的质量和性能控制 支持平静的水,河流,海岸线,水池,洪水和其他场景 可选的缓存模拟,可实现更快、更可预测的启动 障碍物或水源变化时的动态改线 河流与瀑布 无样条线河流创建 (无需手动放置河流路径) 水自动跟随地形 利用区域、来源、力量和障碍物创造流动的河流 岩石和其他几何形状周围的自然流重定向 支持由多个模拟区建造的长河 连接区域之间的进水转移 瀑布渲染与流动,泡沫,飞溅,颗粒和湿度 雨、水坑与洪水 雨可以物理地将水添加到模拟区域 基于地形深度的自然水坑生成 持续积水和洪涝 可配置蒸发 不同水域的独立雨水控制 水面上的同心圆雨滴涟漪 洪水或多雨地区周围的湿度影响 对象交互 与移动和旋转的物体交互 海浪对海岸线的响应 水流绕过障碍物的转向 由物体产生的动态波浪 排水量和局部流量变化 可配置水源、强制和排水效应器 自定义水源颜色 (血,油等) 表面撞击产生飞溅/泡沫颗粒 射弹和子弹撞击效果 浮力 内置浮力系统 水的高度、流量和速度采样 适用于船只、碎片、人物和其他漂浮物 用于自定义浮力和游戏系统的公共API 支持海浪和本地模拟水 渲染与光照 基于物理的水渲染 具有吸收、次表面散射、焦散、太阳轴和PBR着色的基于物理的照明 水下太阳轴水面上方/下方的体积照明 反射堆栈: 超快速屏幕空间反射,平面,天空盒和各向异性反射 具有色散和水IOR的物理折射 (屏幕空间近似) 内部水下反射 (Snell的窗口) 完全浸没支持 各向异性高光和基于菲涅耳的微光 动态水下焦散线 (由海洋和模拟波浪生成) 波浪和水运动产生的动态泡沫 (破碎波泡沫、海岸线泡沫、海洋泡沫、水流输送的泡沫、泡沫痕迹) 基于计算的粒子渲染 使用计算着色器而不是传统的广告牌几何体来渲染泡沫粒子。 这提供了: 与以前的基于广告牌的实现相比,粒子渲染速度大约快三倍,在测试场景中比等效的VFX图形设置快几倍 基于距离的遮挡剔除粒子LOD 可配置的粒子密度和质量 大型仿真区域的高效渲染 粒子生成和渲染使用时间切片跨帧分布,减少帧时间峰值并提高整体性能 插值用于渲染粒子和飞溅,这允许粒子仅以15 FPS更新,而不是每帧更新 视觉效果与环境 动态泡沫、飞溅颗粒、湿度和雨滴 允许您覆盖水色,风,水位等的自定义本地区域 生物发光泡沫/浮游生物风格 具有深度意识的持续水坑和洪水 相机效果: 水下过渡,镜头上的水,模糊,水滴,半水线 水面上的自定义贴花,如泡沫痕迹,浮萍,血液等 水下气泡和子弹示踪剂。水下气泡使用无限投影技术,创建一个更大的粒子场的外观,而渲染只有几千个粒子 自定义瀑布喷雾和飞溅效果,使用shuriken粒子 基于网格和模具剪辑遮罩 Clip Masking允许网格定义水中的体积区域。 它可用于去除或隔离复杂形状内的水,如洞穴,潜艇内部,水下窗户等 大世界和运行时控制 KWS2包括用于大型项目和自定义渲染工作流的工具和api。 可用功能包括: 基于四叉树的无限投影网格渲染 运行时水原点移位 全球水资源规模 手动水渲染控制 优化 KWS2以性能为核心优先设计,其仿真和渲染系统不断优化。 优化功能包括: GPU驱动的网格生成 基于四叉树的海洋LOD 程序网格实例化 基于计算的粒子光栅化 自动模拟LOD 基于距离的粒子数量缩减 仿真更新速率缩放 距离和遮挡剔除 基于帧的粒子生成与渲染 仿真级联优化 缓存的仿真初始化 可配置的质量设置 逐特征渲染控制 支持Unity全局质量等级 大型水体与仿真区域的高效渲染 积极的着色器变体剥离,显着减少着色器编译和构建大小 质量设置可以直接连接到Unity的全球质量水平,允许水质在不同的硬件配置中自动扩展。 集成: 完全支持内置管线、URP和HDRP 写入深度缓冲区 (用于DoF、第三方雾、volumetrics) 一键式雾支持: Enviro、Azure、Aura2、COZY等 编辑器中针对每个参数的视频提示和文档 质量设置与Unity的全局质量级别相关联,以实现无缝缩放。 公共运行时API 包括交互式示例场景,涵盖海洋环境,河流,瀑布,动态模拟,海岸线波,洪水,水坑,雨水积聚,水池,洞穴,水下渲染和拍摄,局部区域和剪辑掩蔽,弹丸影响,飞溅效果,泡沫轨迹,浮动原点工作流,动态对象交互,浮力,潮湿和贴花。 限制: 虽然KWS2提供了一个强大的物理基础仿真系统,但有一些重要的限制需要记住: 不适合极端波浪-浅水算法最适合低至中等尺度的波浪高度。使用高于 ~ 20米的波高可能会导致不自然的模拟行为、伪影或不稳定性。对于大规模海洋膨胀,请使用FFT海洋渲染系统,而不是尝试通过动态模拟区域生成整个波浪。 模拟区域是平坦的-水不会落下,只会在整个表面上扩散。像瀑布这样的倾斜表面可以通过视觉和流重定向进行处理,但无法模拟真实的3D流体体积或压力。 区域摄影机之外的对象-每个模拟区域都使用正交摄影机来检测地形和对象交点。这意味着只有对该摄像机可见的物体才会对水面产生影响。如果对象的一部分 (例如岩石或地形突出物) 隐藏在另一个对象或墙壁后面,例如在洞穴内或陡峭的几何体后面-它对区域相机不可见,也不会影响模拟。因此,水可能会看起来在其上方或内部流动不正确。 模拟可能无法正确识别非平坦或陡峭的表面 (例如底切、悬崖或倾斜的岩石)。系统假设表面大部分是水平的或平缓倾斜的,因此垂直或倒置的几何形状可能会导致不准确的水行为 (例如,水流过或忽略表面)。 您可以在……上获取所有新的测试版更改/修复/功能,并获得支持。 Discord频道 电子邮件:kripto289@gmail.com