利用者:Romanp/GSoC Mantaflow Framework/proposal
目次
Benefits to Blender
Describe how your project will benefit Blender. Will it benefit artists using Blender for 3D content creation? Will it be an aid for future Blender development? Blender will have a better fluid and smoke simulation solver base. Turbulence simulations will be much improved by vortex handling and wavelet turbulence support. Users will have a better control over the fluid and smoke simulation. Current Blender version allow for only one fluid domain to be present in one scene. Though it may provide control over computation resources by moving/resizing the domain, it is not always convenient. Having MantaFlow as framework allows for multiple domains. Also, problems with zero gravity in current Blender versions are solved in MantaFLow.
Deliverables
Provide a user-level summary of the final output or results of your project. How does it integrate in Blender, and how does it cooperate with the rest of Blender's features? Note that end-user documentation should be one of the deliverables as well. MantaFlow fully integrated in Blender for fluid and smoke simulation. End-User documentation as well as Blender Wiki will be provided. A tutorial on using integrated framework will be created.
Project Details
User Interface configured for MantaFlow interaction
User will be able to switch between native Blender simulation engine and MantaFlow. For the latter, any options available in the framework will be available to the end user.
Scene transfer to MantaFlow
Since MantaFlow takes python script as input file, a dynamically generated script with relevant settings from Blender scene will be created each time a fluid domain initialization or update takes place.
Getting data back from MantaFlow
After simulation step is performed, a generated mesh, and if needed, particle system information will be marshaled and transferred back to Blender.
Control over multiple domains
New MantaFlow instance will be invoked each time a new Blender fluid domain is initialized. Relevant settings will be applied. Options for select/deselect, active/passive and visible/invisible will appear in scene editor. This will have control over whether given fluid object will be simulated in the next time step.
Baking fluid simulation
Simulation information received from MantaFlow will be baked, as well as a per-timestep generated mesh will be saved to disk.
Node-based editor(additional)
If I have extra time left, I will start implementing the node-editor support for fluid and smoke simulation.