【splishsplash】splishsplash入门使用

本文的目地为总结splishsplash的入门使用方法

splishsplash是一个C++开源流体引擎,主要用于产生流体动画。 它的核心算法是SPH法。

资源汇总
github: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
文档:https://splishsplash.readthedocs.io/en/latest/
算法论文:https://interactivecomputergraphics.github.io/SPH-Tutorial/

安装

主要参考文档。

有两种版本:python版本和c++版本。但是程序主体是c++写的。python版本只是用pybind11转换成啦python的API,所以建议直接用c++版本。但是python版本由于可以使用pip包管理工具,所以安装非常简便,无需编译,直接安装二进制包。

python版本的安装:

pip install pysplishsplash

运行

splash

c++版本的安装:
先下载下来源代码:

git clone https://github.com/InteractiveComputerGraphics/SPlisHSPlasH.git

无论是linux还是windows,都使用cmake来进行构建,然后编译。
需要先下载cmake(建议使用GUI版本,linux也有GUI版本):https://cmake.org/

然后打开cmake,填写源代码的位置,还有你想构建的位置(一般是源代码文件夹下自己新建一个叫build的文件夹)。

点击下方Configure之后,就会出现图中的各种编译选项。这项相当于各种开关,选择想要的功能。如果初次使用就默认即可。然后再次Configure,最后Generate。

在这里插入图片描述

Generate就会自动构建编译所需要的工程文件。在Windows下是.sln和.projx文件,在linux下就是MakeFile文件。在windows下打开.sln文件,然后编译即可。
在这里插入图片描述

这里有自动构建了四种工程,即Debug, Release, MinSizeRel, RelWithDebInfo
如果想要Debug就用Debug,如果想最快速的运行(建议初次运行用此)就用Release。

在Linux下面,进入build文件夹

make 

即可

编译时间较长,请耐心等待。有一两个错误是不碍事的,只要最后bin目录下出现了SPHSimulator.exe就是成功。

运行Demo

编译的结果是生成可执行的二进制文件,在bin目录下面。其中最关键的是SPHSimulator.exe,其余的可执行文件只是一些第三方功能。

双击SPHSimulator.exe会自动弹出窗口,让用户选择所需要的json
这些json文件代表的是不同的场景:比如龙的场景、兔子的场景、溃坝场景等。
json文件所在的位置为data/Scences

建议初次使用DoubleDamBreak.json场景。

用户也可以自己定义json文件,其规则请查看文档相应章节。

对于linux用户,不会弹出窗口选择json。所以需要在CLI中输入参数来指定json。
命令如下:

./SPHSimulator ../data/Scenes/DoubleDamBreak.json

然后就会打开如下GUI窗口。

注意此时处于暂停状态,按空格或者取消勾选Pause即可开始运行。
在这里插入图片描述
在这里插入图片描述

GUI的快捷键

查看文档,可见控制GUI的各种快捷键。

Space: pause/contiunue simulation
r: reset simulation
w: wireframe rendering of meshes
m: recompute min and max values for color-coding the color field in the rendering process
i: print all field information of the selected particles to the console
s: save current simulation state
l: load simulation state (currently only Windows)
+: perform a single time step
ESC: exit

其中最主要的是这两个:
空格 暂停
r reset

在debug的时候,还有两个很关键

i 打印粒子信息(需要先用鼠标左键框选粒子,然后会打印到终端)

  • 运行单个时间步(需要先暂停)
    

其中i的使用很有用。首先左键框选粒子,然后按i,会打印粒子信息

在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值