游戏研究所pro 登录 / 注册
「游研所 MCP」灰度开放:让你的 AI 直接查研究所数据,点这了解并申请 查看详情 ›

Compute Shader实现大规模FLIP流体模拟

游戏开发技术教程 · 2026-10-13 20:20

研发技术教程国内PC/主机技术管线
作者 Lamp 在 Unity 中使用 Compute Shader 实现大规模 FLIP 流体模拟,采用 MGPCG 求解压力泊松方程与多重网格预条件器。
LampCompute Shader + FLIP + MGPCGGPU流体模拟
作者在 Unity 中使用 Compute Shader 实现 FLIP 流体模拟,采用 MAC 交错网格 与 一次 MGPCG 求解压力泊松方程。模拟规模为 400w 粒子与 400w 网格(256×128×128),在 RTX4070 上以约 140 帧运行,整体耗时约 7ms,其中压力求解约 1.5ms、粒子排序约 1.5ms。算法三阶段为 P2G(粒子→网格)、网格上求解压力投影(不可压缩约束)、G2P(网格→粒子),采用 FLIP 95/PIC 5 混合更新粒子速度,并以四阶龙格-库塔采样无散速度场进行移动。多重网格预条件器采用非平滑聚合代数多重网格(UAAMG),粗化时基于伽辽金原理将系数从细网格聚合到粗网格;粗网格修正回插时乘以 ω=2 以补偿分片常数插值的低估。P2G 同时给出 Gather 与 Splat 两种实现,Splat 采用 8×8×8 线程组配合 Wave 操作减少共享内存写入冲突。文中还介绍了 APIC 方法(粒子携带 Affine 矩阵)以更精确地传递动量,但未在 GPU 上完成。

本文为第三方公众号文章,本站只提供标题与摘要,全文请到公众号原文阅读。

去公众号读原文 ↗

返回文章列表