animated texture for fluid paint brush


Is it somehow possible to import and animated texture into artisan brush so that I can assign that texture to fluid’s density value via artisan…?
If that’s possible amaizing things could be done…
I heard that kolektive’s scripts (kolektive stroika) can make blend shapes paintable with artisan and animated maps…
They used it in x-men 1 for Mystique.
Does anyone has experience with those scripts cause maybe they could solve this problem…


seem like none has any idea what I am talking about here…


Hi There,

It seems that density will be driven either by a floating point number (generated by something like sphrand or noise, or whatever via an expression (you could link it to a custom attribute as a multiplier…ie


or you could link it to a ramp with the v co-ordinate mapped with an animated texture (like fractal, volume noise or something) and modify the outAlpha with mayas colour nodes (clamp, gamma, etc)

Of course, this could be NOTHING like you mean.



daniloxl… I’m guessing you can do what you want, but it is hard to tell from your post the exact effect you are after. Do you want animated emission into a dynamic fluid? The density would tend to build up over time when doing this. Are you rendering 3D fluid volumes or are you interested in more textural surface effects?



Yes animated emission is the thing I’m after, and I’m using 2d container with volume rendering…but the question relates to controling density value
I’ll try to explain a bit better:
If I import a picture of white circle on black background to paint the density value via “paint fluids tool” attribute map…the container will create particles within that circle…
Now I want to import a sequence of images in which that circle will morph into a square…(this is I hope a simple example)
In other words is it possible to drive the density value with animated textures? In fact, I need something similar to “Texture Rate” attribute that surface particle emmiter has…
I know that animated textures can not be imported into artisan brushes…
I hope my explanation was better this time because the solution to this problem will open up possibilities for pretty nice special FX…
Thank you for your time, I know it’s precious…but if solution for this comes up I’m buying a beer
Thanks again


Is it that you simply want the volume rendering for your animated texture? Or do you wish to run the dynamic simulation on the imported density as well?

One can currently increment the frame and append to cache on the fluid density in an iterative fashion. The cache playback linearly interpolates the density between caches, so one does not always need to cache every frame.

With a little mel scripting one could initialize the cache from a sequence of frames automatically. You would need to track down the command that the paint fluids import button is calling.

Another option is to texture the fluid with an animated projective file texture. You would probably need to texture the ramp indices on opacity and possibly color. Also you might need to enable volumeSamplesOverride on the fluid and increase the volumeSamples to insure that the texture is sampled well enough.

Yet another option is to create an animated file texture( not connected to the fluid ) and get its current values using the colorAtPoint command, then use setFluidAttr to set or add into the fluid grid the values from your file texture. This method also has the advantage of supporting dynamic flow behavior in the fluid, if so desired.

By the way, the fluid does not contain particles… the dot display in wireframe mode is simply a trick to show opacity. The fluid is a fixed grid of values.



Words are too small to express my gratitude…Your first suggestion completly satisfies my needs and it’s easy to put in a .mel script.
Beside that I’m currently trying to write the script for your third suggestion which is the most interactive one but I’m having trouble finding right options (flags) for ColorAtPoint command use…
I will try with the -o flag to print the current values of a file texture node and conect them with setFluidAttr -at “density” -x -y values or use the -ad flag to add the printed values to density.
Once again I have to give a big thank you for the solutions…I’ll try to make those .mel scripts and upload them to highend3d because they can be very usefull…
Oh yes…I know that fluid has no particles but I don’t know how else to call those little wireframe dots :shrug: …“dots that represent fixed grid values” is a bit too long…
Good luck and keep up the good work :wavey:
I didn’t forget the beer :beer: :->


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.