simulate_mpm

Bifrost 中材质点方法 (MPM) 的主复合。可以使用此项来模拟各种各样的物理材质,包括沙子、雪、流体、布料和纤维。

要使用此复合,请插入一个或多个 sources(选自各种 source_mpmmake_mpm 节点),并将一个 mpm_solver_settings 节点插入到 settings 端口中。

材质点方法的工作方式是跟踪粒子的各种物理特性(对粒子进行体素化,以在某个瞬间获取材质的体积表示)。先计算体积的瞬时运动,使其与任何 colliders 碰撞,然后使用其来移动粒子,并更新其特性。在单个帧中多次重复执行此过程,其中每次迭代称为一个时间步。由于运动是基于体素化表示计算得出的,因此单个粒子的运动将被限制在体积表示的范围内。这意味着粒子不是根据其各自的速度移动,而是根据体积的平均速度移动。

输入

sources

一个或多个来自 source_mpm_snowsource_mpm_sandsource_mpm_fluidmake_mpm_clothmake_mpm_fibers 的输出。source_mpm 节点播种粒子并生成 granular_particles 输出,make_mpm_cloth 生成 cloth_mesh 输出,make_mpm_fibers 生成 fiber_strands 输出。

colliders

零个或多个来自 collider 节点的输出,用于阻止粒子流动。

influences

零个或多个来自 influence 节点的输出,用于添加力、更改特性、删除粒子等。

surface_material

用于代理和最终输出的曲面颜色的材质。

displacement_material

用于置换代理及最终输出布料和壳体的材质。

settings

mpm_solver_settings 节点的输出设置。

输出

granular_particles

从节点的 source_mpm 族创建的种子粒子。对于每个输入材质,数组中有一个对象。即,所有沙子粒子一起表示为一个对象,所有雪粒子一起表示为一个单独的对象,等等。使用 split_particles_by_material 可按材质将此输出分割为单个输出粒子。

cloth_mesh

一个基于输入 make_mpm_clothcloth_mesh

shell_mesh

一个基于输入 make_mpm_shellshell_mesh

fiber_strands

一个基于输入 make_mpm_fibercloth_mesh