利用者:Sebbas/GSoC 2017/Reports/Week 2

提供: wiki
移動先: 案内検索

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)
  • 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)
FLIP particles inside Blender viewport

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