bobbybob Posted January 10, 2019 Share Posted January 10, 2019 How are you managing your caches? If I have 4-5 sims that builds on top of each other, all of them has a cache, and I change something in the first sim, I need to go and re-cache all the other caches (That maybe are located different places in my network). Are there a way to manage this "chain" of caches, so it's possible to have a better overview of all caches in the sim, and be able to quickly re-cache the sims that need it? What is a good workflow for this? Quote Link to comment Share on other sites More sharing options...
ikoon Posted January 11, 2019 Share Posted January 11, 2019 Hi Bobby, I was also trying to solve this issue. I am freelancer, so I don't know how bigger studios solve this. Here is a thread discussing it: https://forums.odforce.net/topic/39743-file-cache-sop-checking-for-dirtiness/ I was considering many approaches, but I ended up with a simple "manual" solution. I search for dependent caches, with a script like the following. If you are interested in this "manual" solution, I will clean it up and post here (and on my blog http://lex.ikoon.cz) def fc_downstream_filecaches(node) : global dependents global filecaches candidates = list(set( node.outputs() + node.dependents() )) for candidate in candidates : if candidate.type().name() != "filecache" : if candidate not in dependents : dependents.append(candidate) fc_downstream_filecaches(candidate) else : # filecache, don't iterate filecaches.append(candidate) fc_invalidate(candidate) # If candidate's parent is a dopnet, check also dopnet, # because Dop I/O is dependent on Dop Object, # which is often independent. parent = candidate.parent() if parent.type().name() == "dopnet" : if parent not in dependents : dependents.append(parent) fc_downstream_filecaches(parent) def fc_invalidate_dependents() : dependents = [] filecaches = [] node = hou.selectedNodes()[0] fc_downstream_filecaches(node) Quote Link to comment Share on other sites More sharing options...
anim Posted January 11, 2019 Share Posted January 11, 2019 in production you usually build a ROP net where you fetch your Caches and connect them in order as they depend on each other then just run the ROP dependency chain as you need, there may be a pre-render scripts that will update the cache versions based on some rules like hipfilename or something, but in a nutshell you just create an accompanying ROPnet to your setup 1 Quote Link to comment Share on other sites More sharing options...
kiryha Posted July 8, 2019 Share Posted July 8, 2019 @anim Hi, Tomas! Can`t get it working, I press Render on "fetch2" node in "asset_bake" ropnet but I don`t get my caches... What I am doing wrong? cache_chain_001.hiplc Quote Link to comment Share on other sites More sharing options...
tamagochy Posted July 9, 2019 Share Posted July 9, 2019 @kiryha first, your chain disconnected second fetch should be addressed inside filecache to rop driver, then it will work Quote Link to comment Share on other sites More sharing options...
kiryha Posted July 9, 2019 Share Posted July 9, 2019 (edited) @tamagochy Did not become more clear at all Can you post a hip? Edited July 9, 2019 by kiryha Quote Link to comment Share on other sites More sharing options...
anim Posted July 10, 2019 Share Posted July 10, 2019 (edited) updated cache_chain_001_fix.hiplc Edited July 10, 2019 by anim 1 Quote Link to comment Share on other sites More sharing options...
kiryha Posted July 10, 2019 Share Posted July 10, 2019 Thanks, Tomas! But I could not download the file.... Sorry, there is a problem We could not locate the item you are trying to view. Error code: 2S328/1 Quote Link to comment Share on other sites More sharing options...
anim Posted July 10, 2019 Share Posted July 10, 2019 reuploaded the file 1 Quote Link to comment Share on other sites More sharing options...
kiryha Posted July 10, 2019 Share Posted July 10, 2019 Thanks, Tomas, it's working! Now I understand what Andrii meant Quote Link to comment Share on other sites More sharing options...
ameyer Posted July 19, 2019 Share Posted July 19, 2019 PDG is now your best friend here! (-; Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.