rlguy/Blender-FLIP-Fluids

Blender animation drivers are not supported on simulation settings

FoolishFrost opened this issue · 1 comments

Currently, when trying to use flip fluids and have the inflow settings run with drivers, the inflow settings refuse to notice the derived values. It also does not react to scaling drivers of the inflow object, treating the inflow as if it was the same scale as when the bake started.

It seems flip takes its values before the driver sets the final values? Order of operation issue, perhaps?

rlguy commented

Hi, thanks for the report!

Drivers on the addon simulation properties are not supported. Only keyframed properties or properties containing animation f-curves are supported. This is because keyframes and f-curves can be entirely evaluated in advance and can be fully exported to the simulator quickly. Drivers cannot be evaluated in advance and each frame must be evaluated separately. At the moment, there is no functionality in the addon to evaluate drivers.

Drivers are supported for the object Location/Rotation/Scale, however. If drivers are used on these object properties, you will be required to enabled the object's Export Animated Mesh option so that the animation is correctly evaluated and exported.

image

Possible Workaround

The workaround for exporting settings controlled by drivers could be to convert the drivers to keyframes. Blender has an operator to convert drivers to keyframes (F3 > Bake Action), but this is not supported on custom settings created by addons. There is actually a Blender development task for adding support for baking custom settings, but it has not been active for some time (Task T82168). Due to this limitation, the workaround process ends up being something like this:

  1. Create driver on an addon setting
  2. Create a temporary object such as a cube
  3. Paste the driver on the temporary object, such as the object's X location value
  4. Use Blender's Bake Action operator to convert the X value driver to keyframes
  5. Copy the keyframes onto the original addon setting

The process is a bit cumbersome, and is not ideal if you ever need to update the driver and re-bake to keyframes.

Future Support and Development

We would like to fully support drivers in a way that the functionality is automatic within the addon and does not require replacing drivers with keyframes. However, this is a complicated task for us due to some design issues in the addon and would require a large restructure of some parts of the addon. This is a planned feature that we are taking into account in our future development, but will likely not be worked on in the near future.

For now, I'll mark this as a known issue.


Let me know if you have any questions.