关于android:HMS-Core-3D流体仿真技术打造移动端PC级流体动效

32次阅读

共计 1971 个字符,预计需要花费 5 分钟才能阅读完成。

挪动设施硬件的高速倒退,让游戏行业产生天翻地覆的变动,许多酷炫的游戏成果不再局限于电脑端,玩家在挪动端就能享受到场景更真切、画质更清晰、体验更晦涩的游戏服务。但因为挪动设施算力有余,为了实现真实感的水体成果,很多游戏厂商采纳预计算的办法缩小实时仿真的计算开销,但水体场景在挪动端的流体成果依然不佳。

真实感水体的模仿始终是图形学和游戏开发畛域的难点问题,对硬件算力要求也很高,因而大多数实在的水体模仿场景只呈现在 PC 和主机游戏中。为了解决挪动端水体流动真实感的问题,晋升开发者利用开发的效率,HMS Core 图形引擎服务(Scene Kit)推出了 3D 流体仿真技术,无效解决 3D 流体动效在挪动设施上的实时性和功耗的问题。

3D 流体仿真技术

流体力学中流体的静止能够用偏微分方程示意,该方程称为纳维 - 斯托克斯(NS)方程,如公式(1)所示

█((∂ u ⃗)/∂t=g ⃗-1/ρ ∇p +ν∇⋅∇u ⃗ -u ⃗⋅∇u ⃗#

(1) )该方程形容了流体动量变动与流体外部的压力 (1/ρ ∇p)、粘滞力(ν∇⋅∇u ⃗) 以及重力 (g ⃗) 之间的关系。流体力学中对流体静止有拉格朗日和欧拉两种形容办法,拉格朗日形容用粒子形式对流体建模,每个粒子上携带流体的状态信息在空间中流动;欧拉形容把仿真区域划为空间中的网格,每个网格上存储流过该地位的流体的状态信息。如图 2 所示。

图 2 欧拉形容与拉格朗日形容

模仿实在的流体成果须要大量的粒子或者网格,数量可达到十万、百万级别,但应用 CPU 串行计算的形式仿真须要几秒能力实现一帧数据的计算,无奈满足实时性要求。而 GPU 在高性能并行计算畛域有着微小劣势,因而在 HMS Core 图形引擎服务中,咱们利用 GPU 减速技术在挪动设施上实现流体仿真。

不过,仅通过 GPU 硬件加速不能齐全满足挪动设施上流体实时仿真的要求,还须要晋升 GPU 的运行效率,以及缩小仿真的计算量,从而升高 GPU 的负载以及带宽的应用,防止高负荷高带宽运行导致的设施发烫等体验问题。在流体静止的两种形容办法中,拉格朗日办法因为粒子状态受四周其它粒子的影响,计算时须要先搜寻邻域粒子,这个过程对并行计算不够敌对,难以施展并行计算的劣势。而欧拉形容中的每个网格状态数据的计算过程都是雷同的,更适宜并行计算。因而为了晋升 GPU 的并行效率,HMS Core 图形引擎服务采纳欧拉办法进行流体仿真。

采纳欧拉办法构建流体模型,先将仿真区域划分成平均的网格,结构出流体的速度场、密度场等数据。如图 3 所示。

图 3 红点示意密度、压强数据的存储地位,红色箭头示意速度场数据

彩色网格是密度场网格,速度场网格在密度场网格根底上沿 x、y 方向进行半个网格偏移(蓝色网格),密度存储在密度场网格中心点,速度场数据存储在密度场网格顶点上,同时也是速度场网格中心点,这种模式能够很不便的实现核心差分计算,理论计算时须要将速度场按维度拆分。再引入有向间隔场(SDF)数据形容流体的边界,实现流体与边界的碰撞成果。如图 4 所示。

图 4 密度场网格,棕色区域示意固体边界,蓝色区域示意流体,红色区域示意空气。

在流体模型构建实现后,再利用后面提到的纳维 - 斯托克斯(NS)方程进行仿真计算,计算过程包含求解重力、压强、粘度、对流 4 步,别离对应公式(1)中等号左边的四项。

压强和粘度求解过程简单,通过大量优化将求解过程简化为线性方程组的求解,从而升高计算复杂度,缩小计算量。方程组求解采纳疾速收敛的解法,同时进行精度取舍从而升高计算开销。数据存储格局的优化,也达到升高 GPU 带宽应用、进步 GPU cache 命中率的成果。

求解对流项时,须要思考流体与固体边界的碰撞,图形引擎服务采纳一种对立建模的形式形容空气、流体、固体网格,如图 5 所示。

图 5 红色示意在边界内部,灰色区域示意边界,绿色区域示意边界外部

这样在计算时能够对立解决全副网格,无需对流体、固体区域别离计算,能够缩小计算逻辑,晋升 GPU 线程的运行效率。

通过以上多种技术办法,HMS Core 图形引擎服务实现了 GPU 运行效率的晋升以及流体仿真计算量的升高,从而在挪动设施上实现了较低功耗的 3D 流体实时仿真。再联合图形渲染的其余能力,最终在挪动设施上可能实现 3D 流体的流动、飞溅、反射、折射等成果,让用户手机不发烫,还能领有实时晦涩的流体体验。

3D 流体仿真技术来自华为 2012 实验室,通过 HMS Core 图形引擎服务向开发者凋谢。HMS Core 图形引擎服务致力于为开发者提供高性能、低功耗的引擎服务,帮忙开发者制作高品质的 3D 利用,赋能更多利用走入数字世界。

其余更多对于 HMS Core 图形引擎服务的信息,请拜访华为开发者联盟 -HMS Core 图形引擎服务官网。

理解更多详情 >>

拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee

关注咱们,第一工夫理解 HMS Core 最新技术资讯~

正文完
 0