网易首页 > 网易号 > 正文 申请入驻

一帧水算8000线程小时,游戏只有16.6毫秒,水火烟难在哪?

0
分享至

《阿凡达2》一帧水算了8000个线程小时,游戏一帧总共只有16.6毫秒。这两个数摆在一起,游戏里的水火烟为什么难做,答案已经出来一半了。

剩下那一半更有意思,因为现在你在3A大作里看到的最好看的海,压根没有做流体模拟。


先把账算一遍

水这东西到底比一个角色贵多少,先看离线那头。《阿凡达:水之道》的数字是Wētā FX的制片David Conley在2022年AWS年度大会上给的,每一帧渲染8000个线程小时,相当于云上3000个vCPU跑一个小时。整个项目八个月里在AWS上烧掉33亿线程小时

Unity那边的技术回顾补了另一组数,全片大约2225个镜头需要水效果,Wētā为这部片子专门写了一套叫Loki的水工具,里面拆分了浪、水体、飞沫、雾、气泡、泡沫、薄膜、残留湿润好几个求解器。孩子们在海滩上打闹那场戏,身上的水滴模拟跑了8天

再看实时这头。60帧每秒,一帧16.6毫秒;主机上现在流行的120帧模式,一帧8.3毫秒。这十几毫秒要装下几何、光照、阴影、后处理、UI,特效只能分到一小块。有官方数字的例子是Guerrilla的云系统Nubis,整套体积云在PS4上跑进2毫秒以内,这个数被反复当成能不能进游戏的门槛。

8000线程小时换算成秒是2880万秒,2毫秒是0.002秒。中间差10个数量级。这个差距不是靠硬件迭代几年能追上的,它决定了游戏这边从一开始就没打算真算,只打算算得像。

它没有表面

游戏引擎的整套管线,从建模到骨骼动画到光栅化,都是围绕一个假设建的:物体有表面,表面可以用三角形网格描述,而且网格拓扑基本不变。一个角色再复杂,也是一张皮加一副骨架。

水火烟正好全部踩在这个假设外面。它们是一团体积,不是一张皮。飞溅的时候一滴水分成两滴,落回去两滴合成一滴,网格拓扑随时在变。火焰的边界每一帧都不一样,烟更没有边界可言。网易雷火《逆水寒》程序组在讲他们SPH流体的文章里说得很直白,水无常形,流水的运动是游戏世界里最难表现的物理现象,传统游戏只能用面片加贴图动画去暗示它。

体积就得用体积的办法描述。要么把空间切成网格,每个格子存速度、压力、密度,这叫欧拉法;要么撒一堆粒子,每个粒子带着自己的属性跑,这叫拉格朗日法。两条路都要解同一组方程,也就是Navier-Stokes方程。

口语版就是,流体每一小块的加速度等于压力差推它、粘性拖它、外力拉它三者之和,同时体积不能凭空多也不能凭空少。左边第二项是速度乘自己的梯度,非线性就出在这,也是它没有通解的根源。Clay数学研究所在2000年把三维Navier-Stokes解的存在性和光滑性列进七个千禧年难题,每题悬赏100万美元,到现在没人领走。

数学上没通解,工程上就只能数值逼近。逼近的代价随分辨率三次方涨。一个512³的三维网格就是1.34亿个格子,每个格子至少存三个速度分量加压力密度,每帧全算一遍。而人眼偏偏对小尺度最敏感,火苗的抖动、烟的卷曲、浪尖的泡沫都是毫米级的湍流细节,分辨率一降这些先没。

这里要公平地说另一面,实时流体模拟本身在1999年就被证明可行了。Jos Stam那篇《Stable Fluids》开头写的就是这个:直到不久前,大家还觉得物理流体模型太贵,没法做实时交互。他给出了一个对任意时间步都不会炸的求解格式,后面二十几年的实时流体基本都是从这篇长出来的。

所以能不能实时解早就有了答案,悬着的问题是以游戏能接受的分辨率解出来的东西够不够好看。

你看到的海面是1999年的算法

我最早的假设是,现在游戏里的海做得那么好,肯定是流体模拟终于跑起来了。翻到Rare在SIGGRAPH 2018讲《盗贼之海》的那篇talk才发现,这款被公认海做得最好的游戏,海面用的是FFT高度场,跟流体模拟没关系。

高度场的意思是,海面就是一张二维的布,布上每个点只记一个高度。这张布怎么动,靠的是Jerry Tessendorf在1999年提出的方法,把海面当成无数个不同方向、不同振幅的正弦波叠加,用海洋学的Phillips谱决定哪些波该多哪些波该少,然后拿快速傅里叶变换一次性把整张布算出来。这套东西从《泰坦尼克号》那个年代一直用到今天,2025年arXiv上一篇讲实时海洋框架的综述里,它仍然是主干,后面的改进只是换更好的方向谱、叠多层位移。

一张布的好处是便宜到离谱,一次FFT就能出一整片海。坏处也全在布上。

  • 第一个坏处是重复。FFT出来的图天然是周期的,视角一拉高,海面就露出瓷砖一样的拼接感。
  • 第二个坏处是它没法卷。真正的浪会卷起来拍下去,布只能上下起伏,所以你在游戏里很少看到真正翻卷的碎浪,看到的多半是贴上去的泡沫贴图。
  • 第三个坏处是它不认识你。角色跳进去,布本身不知道有东西进来了,涟漪、飞溅、船体压出的尾流全要另外加一层交互系统去伪装。《神秘海域4》的技术美术分享里,水的部分有一大半篇幅都在讲这些叠上去的层。

腾讯光子在GDC 2023有一场叫《Open-World Water Rendering and Real-Time Simulation》的分享,会议摘要里的说法是,过去大多数方案靠预生成的网格加离线流体模拟导出的流向图,实时流体模拟很少被用,而且需要顶级GPU。这是2023年一线厂商的原话,到2026年我没查到有谁推翻它。

所以海面这块的结论是,游戏没有在算水,游戏在算一张会动的布,然后把水的其他特征一层层贴回去。光学那一层尤其麻烦,一个水面要同时应付折射、反射、菲涅尔、焦散、次表面散射、吸收,每一项单拎出来都是一个独立的渲染课题。《盗贼之海》那篇里连水的颜色都是在深水色和次表面散射色之间按视角插值出来的。

反射这块最常见的偷懒法是屏幕空间反射,只反射屏幕里已经画出来的东西,摄像机一转,本来该映在水里的山没了,这就是很多游戏水面一晃就穿帮的原因。GTA 6第二支预告出来之后Digital Foundry做过逐帧分析,大水面还是屏幕空间反射,河流这类小水体才上了光线追踪反射,而且他们对水面的评价是有点噪、不算干净。这是2026年最烧钱的游戏,水面依然在妥协。

海面至少还有一张布可以当底。火连布都没有。

火为什么二十多年还是贴图

火焰在游戏里的主流实现,到现在仍然是一叠图片轮着播。行业里叫flipbook或者序列帧,把一段火焰动画切成几十张小图排在一张大贴图上,粒子系统每帧换一张。VFX Apprentice有一篇讲flipbook的入门,DEV社区2026年还有人在教怎么做sprite sheet,并且直接称它为今年的行业标准。

为什么二十多年不变。因为火的视觉特征恰好是贴图最擅长掩盖的那种。火没有固定形状,所以你看不出它在循环;火自发光,所以它不需要跟场景光照对得很准;火的边缘本来就模糊,所以粒子叠加的接缝不明显。再加一层噪声图去扭曲UV坐标,让每个粒子播的那张图都稍微变形,肉眼就分辨不出重复了。

代价是这一叠图得有人先做出来。JangaFX给他们的实时烟火工具EmberGen写的介绍里,第一句就是在戳这个痛点,一张flipbook传统上要花一周以上才能调好,因为离线模拟慢,通道打包又复杂。他们的做法是把模拟搬到GPU上实时跑,美术调一下参数当场看到结果,最后再烘焙成序列帧交给引擎。这条路现在虚幻自己也走了,UE5的Niagara Fluids让美术不写代码就能做二维和三维的火水烟模拟,文档里明确写了可以烘焙成flipbook。

看清楚这个流程就明白了,实时工具改变的是制作环节,交给玩家机器的还是那叠图。

公平起见得提一个反例。《Noita》这个游戏每一个像素都在被物理模拟,Nolla Games在GDC 2019的分享里讲了他们的做法,跟Navier-Stokes方程无关,靠的是元胞自动机,每个像素按自己是沙、水、油还是火决定下一帧往哪走,世界切成64×64的块,用脏矩形标记哪些块需要更新,棋盘格排列做多线程。它证明了火可以真的蔓延,油可以真的被点着。但它只有二维,屏幕就那么大。把同样的思路推到三维,格子数直接多出一个维度,又回到了三次方那个坑。

火的问题说完了,烟的问题更麻烦,因为烟连自发光这个便宜都占不到。

烟和云走的是另一条路

烟、雾、云这一类,行业叫体积渲染。它们跟布和一叠图都不一样,是真的一团东西,光穿过去会被吸收、被散射,还会给自己投影。

主流做法是光线步进,ray marching。从摄像机往每个像素射一条线,沿线每隔一小段采样一次密度,把每一段的衰减乘起来。核心公式就是Beer-Lambert定律。意思是光走过一段路之后还剩多少,取决于沿途密度的积分。密度越大、路越长,剩得越少。

贵的地方在步数。每个像素几十上百步,每步一次三维纹理采样,1080p就是两百万个像素乘上百步,再乘上给阴影的第二次步进。所以所有实用方案都在做同一件事,减少步数、降低分辨率、把结果在时间上摊开复用。

Frostbite在SIGGRAPH 2015的方案是把摄像机前方的空间切成一格格的视锥体素,他们叫froxel,雾、粒子、体积光全塞进同一个三维纹理里统一计算,再配一张体积阴影图。Guerrilla的Nubis走的是另一条线,云的形状不存数据,靠几层噪声函数现场生成,2017年那版文档加了大尺度天气建模,到《地平线:西之绝境》的Nubis³才换成体素云,玩家可以骑着飞行坐骑穿过去。虚幻这边现在的Heterogeneous Volumes可以直接导入Houdini或者EmberGen吐出来的VDB稀疏体积文件。

这套流程从头到尾,每一个环节都可以单独出问题。国内厂商的分享里最实在的是网易雷火讲体积云那篇,云的反射不敢直接算,用一张256×128的低分辨率全景云混进天空盒;体积云和半透明粒子相交,他们明说这是很难处理的一个问题,试过的顺序无关透明方案在质量和性能上都不理想。雷火另一篇讲天气魔法的文章里,贴地云海为了让光线步进跑得动,先用网格位移把云的大形做出来再步进,接缝处出现竹节状的artifact,最后拿max blend压掉。

这种一处处打补丁的记录,比任何原理讲解都更能说明这东西为什么难。原理是清楚的,难的是在十几毫秒里把它算得像。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
破亚洲纪录夺金!中国游泳13岁天才少女刷爆5大神迹:冲世界纪录?

破亚洲纪录夺金!中国游泳13岁天才少女刷爆5大神迹:冲世界纪录?

李喜林篮球绝杀
2026-09-21 19:05:32
普京时代即将步入倒计时,中国必须警惕俄罗斯政策突变!

普京时代即将步入倒计时,中国必须警惕俄罗斯政策突变!

果妈聊娱乐
2026-09-21 09:47:37
学医后才知道,脑供血不足最危险信号,不是头晕,是频繁现8症状

学医后才知道,脑供血不足最危险信号,不是头晕,是频繁现8症状

任医生聊健康
2026-09-14 10:25:21
地铁22号线全部车站站名确定,年底具备开通条件

地铁22号线全部车站站名确定,年底具备开通条件

新京报
2026-09-22 18:04:16
秦牛正威回应当年不承认恋情:不想影响他的现状,因为惹不起,所以不敢惹

秦牛正威回应当年不承认恋情:不想影响他的现状,因为惹不起,所以不敢惹

韩小娱
2026-09-21 16:33:02
定了,美国总统特朗普宣布重大决定!

定了,美国总统特朗普宣布重大决定!

故事终将光明磊落
2026-09-21 10:57:25
退役五年不碰球,阿圭罗:我不怀念踢球,但回曼彻斯特永远开心

退役五年不碰球,阿圭罗:我不怀念踢球,但回曼彻斯特永远开心

绿茵狂热者
2026-09-20 23:28:29
博主:奥运冠军张家齐总收入超150万元,本人不清楚资金去向

博主:奥运冠军张家齐总收入超150万元,本人不清楚资金去向

懂球帝
2026-09-22 16:17:40
王曼昱爆冷不到1天,恶心一幕出现,原来她和孙颖莎的处境一样

王曼昱爆冷不到1天,恶心一幕出现,原来她和孙颖莎的处境一样

观史搜寻着
2026-09-22 12:12:07
毛主席有个奇怪的原则,一生从不碰这三种东西,它们都是什么?

毛主席有个奇怪的原则,一生从不碰这三种东西,它们都是什么?

健康快乐丁
2025-04-13 18:08:46
大雨暴雨!7~8级大风!江苏中秋天气速看

大雨暴雨!7~8级大风!江苏中秋天气速看

南通攻略
2026-09-22 10:49:28
汪顺亚运谢幕,张展硕霸气崛起,徐嘉余14金追平历史第一人

汪顺亚运谢幕,张展硕霸气崛起,徐嘉余14金追平历史第一人

南方都市报
2026-09-22 20:38:09
新能源车趋大困局:5米大车扎堆,车位快装不下了

新能源车趋大困局:5米大车扎堆,车位快装不下了

第一财经资讯
2026-09-21 17:02:14
星空体育:布克正式回应加盟勇士,猛夸库里:联手定能称霸联盟

星空体育:布克正式回应加盟勇士,猛夸库里:联手定能称霸联盟

小椰的影视宝库
2026-09-22 14:59:24
郭威名字刻在碑上,未经证实!

郭威名字刻在碑上,未经证实!

蜻蜓世音
2026-09-22 19:28:33
《交锋》国安局第二个内鬼再出手,原来,李凤歌真的没有骗马憩

《交锋》国安局第二个内鬼再出手,原来,李凤歌真的没有骗马憩

陈意小可爱
2026-09-22 10:38:14
金球级!拉菲尼亚开局7场12球超梅西 仅次于巅峰C罗

金球级!拉菲尼亚开局7场12球超梅西 仅次于巅峰C罗

爱奇艺体育
2026-09-22 10:56:35
“整完容才到普通人水平!”初中女孩晒整容前后对比照,有点心酸

“整完容才到普通人水平!”初中女孩晒整容前后对比照,有点心酸

世界圈
2026-09-14 15:05:05
别再叫她李嘉诚的女人了!周凯旋公祭独行,撕开了30年最大的误解

别再叫她李嘉诚的女人了!周凯旋公祭独行,撕开了30年最大的误解

花小猫的美食日常
2026-09-22 14:41:56
新款本田奥德赛上市时间确定!新增配置,或延续现款车型价格

新款本田奥德赛上市时间确定!新增配置,或延续现款车型价格

汽车网评
2026-09-22 20:09:44
2026-09-22 21:35:00
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
247文章数 84关注度
往期回顾 全部

游戏要闻

《狂热运输3》TGS游民专访:收录中国玩家熟悉载具

头条要闻

90岁老人带2个智力残疾儿子入住养老院:我们有依靠了

头条要闻

90岁老人带2个智力残疾儿子入住养老院:我们有依靠了

体育要闻

奖牌榜:中国单日再夺9金 合计32金13银8铜

娱乐要闻

曝王玉雯杨玏结婚又离婚

财经要闻

关于中国太空算力的来龙去脉,这篇文章讲透了

科技要闻

OPPO Find X10 Pro Max真实还原喀什古城

汽车要闻

拥抱中国技术与产业链 本田在华开启全新战略

态度原创

艺术
时尚
游戏
手机
数码

艺术要闻

著名油画家 马一平油画作品选(五)

内娱意难平CP,滤镜碎一地

拿起铁锹,埋好尸体!《守墓人2》现已正式上线

手机要闻

OPPO Find X10 Pro Max携手天玑9600 Pro:重塑旗舰AI与真实影像体验

数码要闻

2026网易未来大会

无障碍浏览 进入关怀版