LC #42 Pipers Alley

View Full Version : To Duncan: Can't Retime "oneFIlePerFrame" fluid cache..Please Help.

05-22-2007, 03:41 AM
Please help Mr.Duncan.

connect a new "Time Node" and retime it won't work with "oneFilePerFrame fluid", but fine with "single cache fluid".

While my cache is definitely over 2gig, we must need to use "oneFilePerFrame cache" to cache it.

I've check the diskCache node's "cacheName", it show correct frame(retimed) cache file name to me... BUt it's just won't work, the fluid can't read the cache.

05-22-2007, 03:52 AM
you cant do that... sorry
you can only retime fluids when you make it one huge cache file...

thinking out loud here one suggestion I can offer is to make a dummy duplicate container, and for every new frame somehow transfer the data from your cached data to this dup over a new timeline, not sure how you would pull it off, but worth giving it a shot.

05-22-2007, 04:18 AM
Thanks darktding,
However I don't know the way to set the voxel data to my container....

If it is a bug, the only way to me is renaming my cache file name directly to the match the retimed frame no.....

It's should work.... I will give it a try.

05-22-2007, 04:36 AM
been there done that... dont bother renaming the cache filename...doesn't work.
The frame number is scarred deep into the file itself so if you rename the cache maya will still not read it...
You can definitely do a get - set on fluid containers...

05-22-2007, 05:55 AM
OMG, I just forgot what u mentioned.
Thanks for telling me that.

would you explain more about your GET and SET fluid data means?

Thanks a lot.

05-22-2007, 05:55 PM
Don3Don it is your lucky day...
Since I too needed to a similar funcitonality I decided to write a plugin that will do just what you want. I am attaching a zip file containing a scene file and the mll plugin. Works only for maya 7.0. Paste the plugin in a folder, update the "maya plugin paths" env variable open maya and it must be there as "ssReTimeFluid"
The maya scene file is very simple. There is an expression that is running in reverse. So here is a quick 101 on how it works.
1) sim your fluid container, cache it
2) create a similar container with the same resoulution and size. Make it static since you will not be evaluating just copying it.
3) run the command as a runtime expression
4) cache the TARGET fluidShape...
The maya plugin is a command with the following syntax structure...
ssReTimeFluid -s "SOURCE" -t "TARGET" -nf (FRAME);
SOURCE = source fluidShape
TARGET = target fluidshape
FRAME = new frame value
right now it only does density... I will add the rest later...
Cheers hope this helps....
ps: when you are simming, don't forget to comment out the expression...

05-25-2007, 04:44 AM
Thanks dude...

I would give it a shot.

CGTalk Moderation
05-25-2007, 04:44 AM
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.