利用者:Sebbas/GSoC 2017/Reports/Week 12
< 利用者:Sebbas | GSoC 2017 | Reports
Week 12
In this penultimate GSoC week I mainly worked on fluid guiding.
What's been done
- As I didn't make much progress with the "velocity bug" I decided to push it back a little bit. Time was better spent on fluid guiding - I'll come back to the bug after GSoC in September.
- For fluid guiding I figured that the setup is very similar to moving obstacles. In each case you have an animated object that influences the velocity field of the actual simulation. I even found that to some extent a guided simulation is like a simulation with moving obstacles. Only that there is no obstacle :)
- It therefore made sense to place collision and guiding code "next to each other": The exisiting "Collision" settings are now called "Effector" settings. From there you can set "Obstacle" or "Guiding" as a subtype. (rB75482e3169de)
- So to create a guided simulation one would simply add an animated guiding object to an exisiting smoke setup (guided liquid simulations are not yet supported by Mantaflow). Blender automatically captures the velocity field of this object and will then pass it on to the special Mantaflow guiding pressure solve function. Multiple guiding objects should work too. (rBb3ed9257aa1f)
- For instance, to recreate the tornado from Week 10 you place a rotating cylinder on top of a simple plume and declare it as a "Guiding" object. This way you get the typical spiral "tornado" velocity field (previously this was achieved by enforcing a static spiral velocity field on the simulation).
Next up
- Next week I will write a nice documentation page and post it on the Blender Wiki. You can expect good mix of text and cool GIF's.
- It's probably a good idea to open up some more parameters to the UI (especially for fluid guiding).
- I think there are still some unresolved particle bugs that were reported on blenderartists. I will take a look at those too.
Questions
- I have to ask Nils which fluid guiding parameters are most important for the end user. I think the 'blurRadius' and 'weight scalar' might be useful.