TheQuantumSpark Posted November 14, 2018 Share Posted November 14, 2018 (edited) Hello, I am working on an RBD simulation of a hotel collapsing and I have roughly 73,000 pieces in the simulation. I simulated with low resolution pieces and I want to replace them with high resolution pieces but render times are ballooning/render crashes when I swap them. My hi-res pieces are packed and have materials inside. I have the whole set of pieces on a single .bgeo.sc file (5gb) and also each piece individually on disk (See graphic 1). I will refer to them as Set of Pieces and Individual Pieces respectively. I'm fairly new to Houdini so go easy on me, here's the workflow that has gotten me the furthest: - I load the Set of high-res pieces and plug both them and the low-res pieces into a Transform Pieces SOP. (See graphic 2). This allows me to copy the transforms of the low-res onto the hi-res pieces. Up to this part I have no problems. - When I start to render, Mantra takes a long 10-15 minutes generating the scene, using all of my RAM (64gb). If I'm lucky it starts rendering by minute 15, but 90% of the time it just crashes. I'm using Mantra on Houdini 16.5.268 by the way. I know that Mantra needs a copy of the geometry when it renders, so the Set of Pieces is the problem here. I have also tried the Instance SOP, creating an Instancefile attibute on the low-res pieces linking them to the hi-res pieces on disk, but it doesn't seem to be working, I have to be missing something here but I can't find the solution. (See graphic 3) I have almost no knowledge of Mantra, so I have the default settings in the Mantra node. Is there a way of referencing/swapping/instancing the individual hi-res pieces onto Mantra ONLY at render time while also having the transforms of the low-res pieces? Is there another way that I'm missing? Any way of reducing Memory Usage? Am I doing it completely wrong? Thank you in advance! Edited November 14, 2018 by TheQuantumSpark Formatting Quote Link to comment Share on other sites More sharing options...
davpe Posted November 19, 2018 Share Posted November 19, 2018 hi, as far I understand, you're not rendering your geometry as packed primitives. if that's the case, do take a look at packed primitives workflow (really nicely explained in docs). you should have just a single point per piece, representing your transforms, and use that to drive hipoly pieces that are delay-loaded and rendered as memory efficient packed primitives. this way you're able to render hundreds of millions polys with quite low memory requirements. memory consumption depends on many factors of course but in general, packed prims are the most memory efficient way to render heavy geometry in mantra (alongside with Polysoups - but that's more true when you have a single massive mesh rather than rbd pieces). cheers, D. 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.