利用者:Sebbas/GSoC 2017/Reports/Week 2
< 利用者:Sebbas | GSoC 2017 | Reports
Week 2
This week was a great success. Besides smaller UI improvements I managed to get FLIP particles into the viewport.
What's been done
- As one of the goals of this GSoC is also to get closer to the master branch integration, I took care of a UI shortcoming. Previously there was only the option to set domain borders according to a few textual descriptions (e.g. all open, just vertically open). This is a bit limiting and so I implemented a "check box" layout. (rB0a4750a65876)
- Cleanup in the cache. The introduction of multiple domain support broke some of the file loading. I fixed this and now caching should continue even if the playback was reset in between. Files names also look a bit nicer now. (rB1c1e99363d9b)
- Console output cleanup (it had gotten to a point where the output was slowing down the simulation ...). (rB50e351e6e094, rB152e58dff166)
- The particle API that I worked on last week turned out to be a good foundation. The file IO worked correctly, I only needed to adjust particle positions (scale and translate them to match Blender world coordinates). After some fine-tuning (removing dead Mantaflow particles), I finally got them to show up in the viewport. So now, for your liquid simulations you can choose between caching FLIP particles or meshes! (rB35c99918f4b1, rBe9e41421a64c, rBbdd845c42d40, rBc410bb71f2fd)
Next up
- I would like to improve the FLIP particle option a bit:
- Add an option to have mesh and FLIP particles both at the same time.
- Add an option to control the Narrow-Band width. This way you will be able to control the amount of particles. It's especially useful for scenes where you not only want a surface with particles but the entire volume filled up.
- Take care of particle caching with liquid high-res option enabled.
- Import particle velocities. Mantaflow stores them in a separate array which I need to save and load (.uni files) similarly to the actual particle system.
- I discussed with Nils how to approach the secondary particles (tracer, drop, float). As a first step, I will experiment with an additional particle system in Mantaflow. This system will act as a "droplet" generator: Whenever a cell exceeds a predetermined threshold velocity, a new particle should be created and initialized there (i.e. set location and copy velocity from underlying velocity grid).
- Once particle generation works, I can apply velocities and external forces on them (advection step, add gravity). All in all, this setup should create first Mantaflow secondary particle effects.
- Since this setup is experimental, I'll first build a working prototype in Mantaflow. I can later transfer it to Blender.
Questions
- No