实时水模拟提供无与伦比的细节
- 新模型弥补了真实水波模拟和高效计算之间的差距。
- 它使用不同的物理参数对波进行编码,以在高分辨率下模拟小细节。
- 它可用于增强游戏、电影和虚拟现实程序的功能。
现有的水或波浪模拟方法能够提供逼真的效果或快速计算:它们无法同时优化两者。它们缺乏与移动物体的交互以及负责环境交互的有限元方法。
现在,奥地利科学技术研究所和 NVIDIA 的研究人员开发了一种新技术,通过实时再现与周围环境的复杂交互来弥补这一差距。
它可以模拟波浪与障碍物的相互作用,同时保留微小的细节并适应非常大的场景。该模拟具有高频波的聚合运动,即使在低分辨率下,抖动相位更适合混沌风、飞溅和漂浮材料等噪声波源。
它是如何工作的?
现有的波浪模拟技术使用“数值”或“基于傅立叶”的方法。数值方法可以在细节上产生各种效果,而基于傅里叶的方法效率更高(使用更少的计算资源)。 使用这些方法来生成具有精确环境交互的千米长详细级别场景是完全不可能的。
为了提高波浪的计算速度,新模型将波幅离散化为方向和频率的函数,而不是离散化每个点的波动量和高度。
实时动画帧 |图片来源:Stefan Jeschke
该团队创建了一种小波变换,用于将波的振幅离散化为频率、方向和空间组合的函数。所得变量在空间上逐渐变化,用更少的变量表示相同数量的数据(如传统方法中使用的波高函数)。
此外,它对传统的基于频率的限制(例如奈奎斯特极限)不太敏感,奈奎斯特极限将最大空间频率转换为步长和图形细节。因此,该方法既考虑了局部波相互作用,又考虑了高分辨率的波细节。
他们创建了新的方程来通过空间传播这些基于局部频率的振幅。这些方程输出简单的二维扩散和平流运算,可以在图形硬件上并行实现。
参考:ASL DL | doi:10.1145/3197517.3201336 | IST 奥地利
扩展和应用程序
研究人员开发了一些基本的模拟器扩展,包括双向固液耦合和预先设计的波路。他们还设计了一种名为“wave-painter”的工具,其作用类似于绘图软件中的画笔。
它允许艺术家重写自然(带有脚本动作的物理)并轻松创建自定义场景。例如,可以使用此工具来提高特定位置的波浪高度。
在海洋和河流等不断变化的环境中配置这些模拟和水流模型很容易。 该模型还可以简化和扩展游戏、电影和虚拟现实程序的功能。
阅读:首次在量子计算机上模拟原子核
研究人员计划扩展他们的工作,以处理更普遍的基于高度的色散关系,这将在浅水附近产生更好的折射效果。
工业技术