# WaveMaker 2：Unity 中的高性能实时波浪模拟系统

> WaveMaker 2 是 Unity 平台上的高性能实时流体模拟插件，基于 CPU 高度场算法实现真实水面效果，支持双向耦合物理交互、多渲染管线兼容及跨 Unity 版本使用。提供完整 API 与示例场景，适合游戏开发、仿真项目与可视化应用，运行效率高且易于集成。

- 原文：https://www.interestcreator.com/wavemaker2-unity/
- 站点：https://www.interestcreator.com/
- 发布：2025-07-12
- 更新：2026-11-08
- 分类：Unity Shader、Unity插件、实用开发工具、物理
- 标签：shader、Unity、Unity 水模拟、Unity实用工具、Unity插件、水

## 概要

Unity 实时波浪模拟系统 v2.3，支持 2019.4.34 及以上，用 CPU 高度场算真实流体并与刚体双向耦合，不依赖 GPU 高级特性，低端设备也能跑。

## 正文

![Unity 中基于 CPU 的实时波浪模拟系统 WaveMaker 2 ](https://www.interestcreator.com/wp-content/uploads/2025/07/1752324732-ef89c2abe875143.webp)
WaveMaker 2
*WaveMaker 2*

> WaveMaker 2 是一款专为 Unity 引擎打造的高质量实时波浪模拟系统，采用 CPU 驱动的 Heightfield（高度场）算法，在程序生成的矩形网格上实现真实的流体行为。该插件不仅支持与刚体（Rigidbody）之间的双向耦合交互——即物体可以影响水面产生波浪，同时水面也能对物体施加浮力与漂移力，从而实现真正意义上的物理互动。

与市面上常见的仅依赖着色器（Shader）实现视觉效果的“伪水面”不同，WaveMaker 2 的核心是 Mesh Modifier（网格修改器），它在三维空间中进行实际计算，因此不依赖 GPU 高级特性，适用于各类设备，包括移动平台和低端硬件环境。

## WaveMaker 2 版本信息\下载方式

|  | **版本** | **Unity 版本支持** | **提供下载方式** | **更新日期** |
| --- | --- | --- | --- | --- |
| 1 | WaveMaker 2 v2.3 | 2019.4.34 及更高 | 百度网盘+夸克网盘 | 2025-07-12 |

---

## 可编程渲染管线（SRP）兼容性

| **Unity版本** | **内置渲染管线** | **通用渲染管线（URP）** | **高清渲染管线（HDRP）** |
| --- | --- | --- | --- |
| 2020.3.48f1 | 兼容 | 兼容 | 兼容 |
| 2019.4.34f1 | 兼容 | 兼容 | 兼容 |

---

![Unity 中基于 CPU 的实时波浪模拟系统 WaveMaker 2](https://www.interestcreator.com/wp-content/uploads/2025/07/1752324733-766c506ef7e01a8.webp)
WaveMaker 2 ![Unity 中基于 CPU 的实时波浪模拟系统 WaveMaker 2](https://www.interestcreator.com/wp-content/uploads/2025/07/1752324729-533c32f4908705c.webp)
WaveMaker 2 ![Unity 中基于 CPU 的实时波浪模拟系统 WaveMaker 2](https://www.interestcreator.com/wp-content/uploads/2025/07/1752324726-adc0a71704e66d3.webp)
WaveMaker 2 1 / 3
*WaveMaker 2*

## 🔧 核心技术细节

### 🧮 基于高度场的实时流体模拟

WaveMaker 2 使用高度场模型（Heightfield-based Fluid Simulation）来表示水面状态。每个顶点的高度值根据流体动力学公式实时更新，确保波浪传播、反射、衰减等自然现象的准确呈现。该系统支持子步进（Substepping）机制以增强稳定性，并允许用户调节波速、阻尼、平滑度等参数，以适应不同材质表现需求。

### ⚙️ 双向耦合系统：真实物理互动

WaveMaker 2 的最大亮点之一在于其 Two-way Coupling（双向耦合）机制。不同于传统浮力系统只能被动响应对象，WaveMaker 能够根据物体浸入水中的体积动态生成波浪，同时将反作用力反馈给刚体对象，使其产生漂浮、摇晃、位移等自然运动。这种交互方式为游戏、仿真项目提供了更真实的表现力。

### 📐 支持任意方向与尺寸的平面

该系统可适配任意位置、角度、长度与宽度的水面表面，完全支持本地坐标空间（Local Space）操作。无论是小型泳池、水塘，还是横向延伸的简单河流，均可轻松构建并实时模拟其流体行为。

### 🖥️ 多渲染管线兼容与跨版本支持

WaveMaker 2 完全兼容 [Unity](https://www.interestcreator.com/unityplugin/) 内置渲染管线（Built-in）、通用渲染管线（URP）与高清渲染管线（HDRP），并支持从 Unity 2020.3.48 至 2023.2.16 的多个版本。所有示例场景均提供 URP/HDRP 和 Built-in 版本，便于开发者快速测试与集成。

此外，系统依赖 Unity 的 Burst、Mathematics 和 Collections 包，底层代码使用 C# 编写，大量运算通过 Jobs System 与 Burst Compiler 进行多线程优化，运行时 CPU 占用极低（通常维持在 0.2ms～1ms 之间）。

### 🎨 材质自由定制与 API 扩展能力

由于 WaveMaker 2 本质是一个普通网格修改器，因此可搭配任意材质使用，包括透明、反射、折射等复杂 Shader。用户无需受限于特定着色器格式，即可实现如水、泥浆、奶油等多种液体质感。

同时，系统开放了完整的 API 接口，开发者可获取表面高度、梯度、波动数据等关键信息，用于自定义特效、音效触发、AI 行为逻辑等高级功能扩展。

### 📚 易用性与开发支持

WaveMaker 2 提供丰富的示例场景（Demo Scenes）以及便捷的创建菜单快捷入口，帮助开发者快速入门。官方文档详尽，API 注释完整，且提供 Bug Tracker、F.A.Q. 与论坛支持，确保项目集成顺畅。

此外，系统支持 Idle Mode（空闲状态），当水面无交互时自动降低计算频率，进一步减少性能开销。

### ⚠️ 功能限制说明

尽管 WaveMaker 2 功能强大，但仍存在一些当前版本未涵盖的使用场景：

- 不支持破碎波（Breaking Waves）
- 不适合超大范围水面如海洋、复杂河道或瀑布
- 本身不含着色器或特效（FX），需自行配合材质使用
- 不支持空气动力学（如风力影响）、海岸减速等物理效应
- 不支持根据水深变化调整表面行为
- Interactors 不支持 MeshCollider，建议使用基础碰撞体（如 BoxCollider）

相关资源：[MIS-AI-CarRider-RCC：基于 Invector 与 RCC 的汽车智能载具 AI 驾驶系统](https://www.interestcreator.com/mis-ai-carrider-rcc/) · [Magica Cloth 2 ：Unity高性能基于Unity DOTS的布料模拟系统](https://www.interestcreator.com/magica-cloth2/) · [RASCAL Skinned Mesh Collider：Unity 实时、精准、高性能的蒙皮网格碰撞解决方案](https://www.interestcreator.com/rascal-skinned-mesh-collider/)

## 常见问题

### 支持哪些 Unity 版本？

版本表写 2019.4.34 及更高，SRP 兼容性表另测了 2020.3.48f1 与 2019.4.34f1 两行。

### 三种渲染管线都兼容吗？

都兼容。表中 2020.3.48f1 与 2019.4.34f1 两行的内置管线、通用渲染管线（URP）、高清渲染管线（HDRP）三列均标兼容。

### 和着色器做的水面有什么区别？

它靠 Mesh Modifier（网格修改器）在三维空间里做真实计算，水面是实际变形的网格，不是只靠 Shader 骗视觉的伪水面。

### 物体能影响水面吗？

能。支持与刚体的双向耦合：物体落水产生波浪，水面也会对物体施加浮力与漂移力。

### 低端设备能跑吗？

原文的说法是不依赖 GPU 高级特性，适用于移动平台与低端硬件环境。

### 算法用的是什么？

CPU 驱动的高度场（Heightfield）算法，在程序生成的矩形网格上模拟流体行为。
