流体动画处理方法及装置、电子设备、存储介质制造方法及图纸

技术编号:32973836 阅读:15 留言:0更新日期:2022-04-09 11:46
本申请提供了一种流体动画处理方法及装置、电子设备、存储介质,其中,方法包括:获取流体粒子群中各个流体粒子在当前时刻的第一位置和第一速度;根据流体粒子的约束投影方程和第一位置、第一速度确定流体粒子在下一时刻的运动位置;通过碰撞检测更新运动位置,得到第二位置;基于第一位置和第二位置,确定流体粒子从当前时刻至下一时刻的动画,以得到流体粒子群的流体动画;本申请实施例将流体粒子化,通过确定各个流体粒子的运动状态来确定用于形成流体的流体粒子群的运动状态,可以提高流动画的真实性,并且在确定流体粒子的运动状态的过程中,结合碰撞检测更新流体粒子的运动状态,实现了流体动画的可交互性。实现了流体动画的可交互性。实现了流体动画的可交互性。

【技术实现步骤摘要】
流体动画处理方法及装置、电子设备、存储介质


[0001]本申请涉及计算机
,特别是涉及流体动画处理方法及装置、电子设备、存储介质。

技术介绍

[0002]随着计算机技术的发展,流体动画模拟被广泛应用于动画电影、游戏等领域中,是视觉特效开发中非常重要的一环。相关技术的流体动画方案更看重渲染上的真实可信,对于运动的模拟一般使用Flow map(流动贴图)和Gerstner Wave(格斯特纳波)的手段,虽然也能做出流体的形态,但还是限制在通过特定算法还原对应的物理行为,不满足可交互的需要。

技术实现思路

[0003]鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的流体动画处理方法及装置、电子设备、存储介质,包括:
[0004]一种流体动画处理方法,所述方法包括:
[0005]获取流体粒子群中各个流体粒子在当前时刻的第一位置和第一速度;
[0006]根据所述流体粒子的约束投影方程和所述第一位置、第一速度确定所述流体粒子在下一时刻的运动位置;
[0007]通过碰撞检测更新所述运动位置,得到第二位置;
[0008]基于所述第一位置和所述第二位置,确定所述流体粒子的动画,以得到所述流体粒子群的流体动画。
[0009]可选地,所述根据所述流体粒子的约束投影方程和所述第一位置、第一速度确定所述流体粒子在下一时刻的运动位置,包括:
[0010]确定所述流体粒子由重力参数产生的重力位置偏移和加速度;
[0011]根据所述重力位置偏移和加速度更新所述第一位置和所述第一速度;
[0012]根据所述流体粒子的约束投影方程以及更新后的第一位置、更新后的第一速度确定所述流体粒子在下一时刻的运动位置。
[0013]可选地,所述约束投影方程的约束条件为密度约束;所述根据所述流体粒子的约束投影方程以及更新后的第一位置、更新后的第一速度确定所述流体粒子在下一时刻的运动位置,包括:
[0014]确定邻居粒子搜索的数据结构,并基于所述邻居粒子搜索的数据结构确定所述流体粒子的邻居粒子;
[0015]获取所述流体粒子的密度约束方程;
[0016]根据所述密度约束方程的解对所述约束投影方程求解,以确定所述流体粒子在下一时刻的运动位置。
[0017]可选地,所述方法还包括:
[0018]获取松弛因子,所述松弛因子用于约束流体粒子的投影范围;
[0019]基于所述松弛因子,更新所述约束投影方程。
[0020]可选地,所述方法还包括:
[0021]当所述流体粒子的压强为负数时,获取所述流体粒子对应的人工斥力;
[0022]将根据所述流体粒子的约束投影方程和所述第一位置、第一速度得到的运动位置确定为初始位置,根据所述人工斥力对所述流体粒子产生的斥力位置偏移,对所述初始位置进行更新,得到所述流体粒子在下一时刻的运动位置。
[0023]可选地,所述通过碰撞检测更新所述运动位置,得到第二位置,包括:
[0024]当所述流体粒子的运动位置位于碰撞体的内部时,将所述流体粒子的运动位置调整至所述碰撞体的外部,得到第二位置。
[0025]可选地,所述方法还包括:
[0026]根据所述第二位置、所述第一位置和第一速度,以及下一时刻和所述当前时刻的时间步长,计算所述流体粒子在所述下一时刻的第二速度;
[0027]在确定所述流体粒子从所述当前时刻至所述下一时刻的动画之后,采用所述第二速度更新所述第一速度,以及,采用所述第二位置更新所述第一位置。
[0028]可选地,在所述根据所述第二位置、所述第一位置和第一速度,以及下一时刻和所述当前时刻的时间步长,计算所述流体粒子在所述下一时刻的第二速度之后,所述方法还包括:
[0029]确定所述流体粒子由粘滞力产生的粘滞力阻尼速度;
[0030]根据所述粘滞力阻尼速度更新所述流体粒子的第二速度。
[0031]一种流体动画处理装置,所述装置包括:
[0032]初始状态获取模块,用于获取流体粒子群中各个流体粒子在当前时刻的第一位置和第一速度;
[0033]运动位置确定模块,用于根据所述流体粒子的约束投影方程和所述第一位置、第一速度确定所述流体粒子在下一时刻的运动位置;
[0034]第二位置确定模块,用于通过碰撞检测更新所述运动位置,得到第二位置;
[0035]流体动画确定模块,用于基于所述第一位置和所述第二位置,确定所述流体粒子从所述当前时刻至所述下一时刻的动画,以得到所述流体粒子群的流体动画。
[0036]可选地,所述运动位置确定模块,包括:
[0037]基于重力参数确定状态模块,用于确定所述流体粒子由重力参数产生的重力位置偏移和加速度;
[0038]基于重力参数更新状态模块,用于根据所述重力位置偏移和加速度更新所述第一位置和所述第一速度;
[0039]基于更新状态确定运动位置模块,用于根据所述流体粒子的约束投影方程以及更新后的第一位置、更新后的第一速度确定所述流体粒子在下一时刻的运动位置。
[0040]可选地,所述约束投影方程的约束条件为密度约束;所述运动位置确定模块,包括:
[0041]邻居粒子搜索确定模块,用于确定邻居粒子搜索的数据结构,并基于所述邻居粒子搜索的数据结构确定所述流体粒子的邻居粒子;
[0042]密度约束方程确定模块,用于获取所述流体粒子的密度约束方程;
[0043]基于密度约束方程确定运动位置模块,用于根据所述密度约束方程的解对所述约束投影方程求解,以确定所述流体粒子在下一时刻的运动位置。
[0044]可选地,所述装置还包括:
[0045]松弛因子获取模块,用于获取松弛因子,所述松弛因子用于约束流体粒子的投影范围;
[0046]基于松弛因子更新约束投影方程模块,用于基于所述松弛因子,更新所述约束投影方程。
[0047]可选地,所述装置还包括:
[0048]人工斥力获取模块,用于当所述流体粒子的压强为负数时,获取所述流体粒子对应的人工斥力;
[0049]基于人工斥力更新运动位置模块,用于将根据所述流体粒子的约束投影方程和所述第一位置、第一速度得到的运动位置确定为初始位置,根据所述人工斥力对所述流体粒子产生的斥力位置偏移,对所述初始位置进行更新,得到所述流体粒子在下一时刻的运动位置。
[0050]可选地,所述第二位置确定模块,包括:
[0051]碰撞检测模块,用于当所述流体粒子的运动位置位于碰撞体的内部时,将所述流体粒子的运动位置调整至所述碰撞体的外部,得到第二位置。
[0052]可选地,所述装置还包括:
[0053]第二速度确定模块,用于根据所述第二位置、所述第一位置和第一速度,以及下一时刻和所述当前时刻的时间步长,计算所述流体粒子在所述下一时刻的第二速度;
[0054]初始状态更新模块,用于在确定所述流体粒子从所述当前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流体动画处理方法,其特征在于,所述方法包括:获取流体粒子群中各个流体粒子在当前时刻的第一位置和第一速度;根据所述流体粒子的约束投影方程和所述第一位置、第一速度确定所述流体粒子在下一时刻的运动位置;通过碰撞检测更新所述运动位置,得到第二位置;基于所述第一位置和所述第二位置,确定所述流体粒子从所述当前时刻至所述下一时刻的动画,以得到所述流体粒子群的流体动画。2.根据权利要求1所述的方法,其特征在于,所述根据所述流体粒子的约束投影方程和所述第一位置、第一速度确定所述流体粒子在下一时刻的运动位置,包括:确定所述流体粒子由重力参数产生的重力位置偏移和加速度;根据所述重力位置偏移和加速度更新所述第一位置和所述第一速度;根据所述流体粒子的约束投影方程以及更新后的第一位置、更新后的第一速度确定所述流体粒子在下一时刻的运动位置。3.根据权利要求2所述的方法,其特征在于,所述约束投影方程的约束条件为密度约束;所述根据所述流体粒子的约束投影方程以及更新后的第一位置、更新后的第一速度确定所述流体粒子在下一时刻的运动位置,包括:确定邻居粒子搜索的数据结构,并基于所述邻居粒子搜索的数据结构确定所述流体粒子的邻居粒子;获取所述流体粒子的密度约束方程;根据所述密度约束方程的解对所述约束投影方程求解,以确定所述流体粒子在下一时刻的运动位置。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:获取松弛因子,所述松弛因子用于约束流体粒子的投影范围;基于所述松弛因子,更新所述约束投影方程。5.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:当所述流体粒子的压强为负数时,获取所述流体粒子对应的人工斥力;将根据所述流体粒子的约束投影方程和所述第一位置、第一速度得到的运动位置确定为初始位置,根据所述人工斥力对所述流体粒子产生的斥力位置偏移,对所述初始位置进行更新,得到所述流体粒子在下一时刻的运动位置。6...

【专利技术属性】
技术研发人员:吕源丰
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1