levi
Hey SOuPers!  Happy new year!
This is kind of a part SOuP question, part MEL question.  Recently I've been integrating the frameCacher / frameCacheTracker nodes into some rigs as a convenient way to accelerate the workflow.  Generally that's been working out really well.  Occasionally though I'll need to use the reset feature on the frameCacher node, and while I don't mind navigating the node tree to reset it, I don't want to put my animators through that.  Since the reset on the frameCacher doesn't seem to allow connections, as a work around I've made a reset attribute on my control curve that has an expression like:

if (control.purgeCache){

setAttr "frameCacher.reset" 1;

setAttr "control.purgeCache" 0;
}

so as to set the reset to 1, and then immediately change my control curve's reset attribute back to 0.  This is less than ideal since it won't survive a namespace or a rename.  My question(s) is, how would you do this?  Is there a way to approach the frameCacher reset that I'm not taking into account?  Or is there a way to use a setAttr in mel that will survive namespaces?  

Thanks!
-Levi

Quote 0 0
pshipkov
Before I answer your question, I will ask one: Did you check the Interactive GPU caching system in SOuP ?
Just want to make sure you are not missing something that can be a much better solution compared to the frameCacher.

Now, back to your question:
A common solution for situations like this is a shelf button or something that sits on top of your assets, but is not part of the asset's dependency graph. So based on selection (any object in the scene), grab the namespaces, search for nodes of particular type within these namespaces and do something with them.
Quote 0 0