Gravity Sketch
引力绘图:以引力做画笔,以宇宙做画布
Sudo 二仙桥
利用Taichi在模拟粒子物理运动方面的计算优势实现一个绘图游戏。
Taichi中很多项目都是基于粒子系统进行模拟,灵机一动想编写一个游戏让玩家能够自己操控粒子,达成一些目标。联想到游戏《投影寻真》的思路,决定设计玩法为通过吸引粒子形成一个形状,并与关卡目标形状对比打分。
- 场地中有不同种类的粒子以及绘图目标(形状轮廓线)。
- 玩家通过鼠标操控引力子的位置和引力的打开或关闭来吸引粒子。
- 玩家的游戏目标是将吸引到的粒子所构成形状的与相应目标轮廓图基本吻合,达到目标分数(每关不同,100分为完全完成)。
- 鼠标左键构建吸引源,鼠标右键构建排斥源;如果是固定的吸引子,则红色表示排斥,绿色表示吸引,黄色表示不工作。
- 可以自行修改引力大小与阻尼大小。
- 算法基于MLS-MPM算法,主要参考mpm128.py实现。
- 修改了引力特性,使得距离远的粒子吸引力小。
- 修改了速度规则,增加了阻尼。
- 增加了墙的判断。
- 增加了固定吸引点。
- 增加了不同材料(E,mu)的支持。
如果已经有Python3后,可以按下述方法进行安装
pip3 install -r requirements.txt
python3 main.py