blackchicken Posted October 10, 2014 Share Posted October 10, 2014 Hello, I have a little problem with holding last frame in delayed load procedural. Im creating a spruce tree from lego, It has 20 floors. Every floor has its specific cache. So I create a one branch, say 250 frames cache. Then i copy it three times with delayed load into circle and have one floor. Same proces with other 19 floors. I have set of HDA where i can time shift cache. Thats works perfect. I need this setup because of fast ifd translation for use our full farm potential. Last frame of one branch has 2.5 Mil poly. Instance object works weird. First, it is so slow to copy all lego peaces and theres no help in translation, because it translates all lego pieces and in final stage we are speaking about 200mil poly. i have no problem with caching single branches. Translation is super fast render too. But, There is relatively long time between fist cache and last cache. So first branch ends at 250 but the last start say at 1000 frame and ends 1250. So first growing branch disappear because I have only 250 frames cache. Of course there is no problem to cache last frame to 1000frame. But It has 2.5mil poly and saving is slow. And ill have 20 floors. So, one little change and all resave again. Perfect will be if in delayed procedural will be something like hold last frame or use another file if cant find primary cache. The best way should be as alembic file. If theres no cache, holding first or last frame. Or find some program which can duplicate file with increment. Or what do you thing? Thanks a lot. Quote Link to comment Share on other sites More sharing options...
tony Posted October 10, 2014 Share Posted October 10, 2014 In the file parameter of your delayed load shader could you not just do something like: file: /tmp/test.`if($FF>250,250,$FF)`.bgeo Quote Link to comment Share on other sites More sharing options...
blackchicken Posted October 10, 2014 Author Share Posted October 10, 2014 Hi Tony, yes that could work. I have now this expression: `padzero(4,chs("time_shift"))` timeshift is parameter in HDA like $FF+15 for variation hmmm so I could use something like this: branch_01.`padzero(4,if($FF>250,250,$FF)+chs("time_shift"))`.bgeo.gz hmm that could work Quote Link to comment Share on other sites More sharing options...
blackchicken Posted October 10, 2014 Author Share Posted October 10, 2014 (edited) Ok so this works: branch_01.`padzero(4,(if($FF>250,250,$FF)-200))`.bgeo.gz thanks a lot Tony Edited October 10, 2014 by blackchicken Quote Link to comment Share on other sites More sharing options...
blackchicken Posted October 10, 2014 Author Share Posted October 10, 2014 So This could be what I need: `padzero(4,(if(($FF+ch("Time_Shift"))>ch("Cache_Length"),ch("Cache_Length"),($FF+ch("Time_Shift")))))` Time Shift is parameter for offset cache and Cache length is how long cache is. Thanks again 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.