Fluid simulation - inflow - export animated mesh bug
Open, NormalPublic

Description

System Information
Win 10, GeForce GTX 1070

Blender Version
Broken: 2.78a (hash e8299c8)

At Fluid Simulation panel - inflow object - when selecting Export Animated Mesh inflow emits enormous amount of water in an incontrolable way producing waterfalls of fluid all around almost instantly filling out the domain. It should slowly drip like regular/non animated mesh.

Examples:

Non animation mesh (correct)

animated mesh (fail/error)

Exact steps for others to reproduce the error
Open blender, add fluid domain, add fluid inflow, select inflow to be Export Animated Mesh - bake - check the result. Then deselect Export Animated Mesh - bake - check the result. In given example just bake the fluid simulation.

Details

Type
Bug
This comment was removed by gimble (gimble).

There is a misunderstanding, here.

The incorrect result is not the one with Export Animated Mesh option enabled.
It is the one with Export Animated Mesh option disabled.

An inflow object is supposed to release at each frame its volume as a new quantity of fluid.
So, it is totally consistent to obtain a waterfall from an arm that have almost same thickness of arm.
A zero Inflow Velocity only means that liquid has no initial velocity but it should fall because of gravity effect.

To obtain a thiner waterfall, you must set Volume Initialization to Shell instead of Volume.
Then, thickness of fluid would be relative to compressibility, world size and resolution of simulation .

To obtain fluid velocity coherent with character animation, you need a fluid control object.

So to make it working right I need to put into domain a FLUID object and make character mesh a FLUID CONTROL object? As far as I imagine - this way my character will not emit any drops (as my basic intention was). Am I right?

I mentioned fluid control only to give trajectories to drops coherent with character movements.

If you want a liquid man that emits no drop at all, you should avoïd fluid simulation.
It is probably less painful and time-consuming to fake a liquid look by using displacement modifier, wave modifier and/or dynamic paint waves.

Bogumił (BogumilZ) added a comment.EditedMay 5 2017, 11:10 AM

All I want to achieve is to fluid inflow object emit fluid the same way on animated mesh as on non animated mesh. I already tried the displacement and ocean modifier, looks good but I wanted drops dripping from running character. As soon as I tick option "export animated mesh" inflow emits enormous amounts of fluid. Is there a way to make deformed mesh emit fluid like non deformed (not animated)?

Bastien Montagne (mont29) triaged this task as "Normal" priority.

Yeah, there is a weird difference between animated and non-animated inflow mesh here, not sure why… Maybe our emeritus physicist @Luca Rood (LucaRood) wants to have a look? ;)

Hm, seems the issues here go much further than described. Besides not generating consistent amounts of fluid, the animated version causes the fluid to have a gigantic cavity, essentially turning it into a hollow "shell" of fluid.
From a quick look at the code I didn't get to any conclusion, but then again, I'm not familiar with the Elbeem code at all. This will require some more digging.

Finally someone noticed! ^_^

Perhaps this is related to a couple of the "archived" bug reports?

A list of outstanding fluid simulation issues:
https://wiki.blender.org/index.php/Dev:Source/Development/Todo/Tools#Fluid_Simulation

Notably:

"Fluidsim: Animated inflow (and outflow) never worked"
https://developer.blender.org/T30605

and

"Fluid simulation - volume of fluid grows during movement of a container"
https://developer.blender.org/T41692

(T30605) Basically, any time you add more than 1 keyframe (or set 'Export Animated' for an inflow object), it's Volume Initialization is Shell, no matter what the inflow object's Volume Initialization is set to.

I made a few tests to illustrate/study this:

http://gimblender.com/blender/test/T51147/inflow_volume_cutaway.mp4
http://gimblender.com/blender/test/T51147/slo_mo_inflow.mp4

It's strange that, although initially fluid is only produced from the Shell, it seems that eventually once the "interior" of the inflow object becomes filled, it appears that it is producing fluid from the volume? Could this be related to the issue that an inflow object stops introducing more fluid into the domain once it becomes submerged?
BlenderArtists discussion at:
https://blenderartists.org/forum/showthread.php?410338-Fluid-Inflow-Fails-To-Fill-Simple-Tank-Depending-On-Position-In-Tank

I did find that if you change the gravity axis (gravity x = -9.81), it seemed to produce less fluid:

http://gimblender.com/blender/test/T51147/compare_axis_bake.mp4

(T41692) This report involves changes of volume for a fluid object, but perhaps it could also be related in the case of an inflow object?

Speaking of painful and time-consuming, you could create a series of static inflow objects, but it is an arduous task and suffers from the issue of no frame-to-frame continuity as the water puddle follows the character.

http://gimblender.com/blender/test/T51147/inflow_walk.mp4
http://gimblender.com/blender/test/T51147/inflow_walk_raw.mp4

Is it fixable in future blender releases?