GlennimusPrime Posted November 30, 2020 Share Posted November 30, 2020 (edited) I have a Vellum setup that is working great, until I change one small parameter... I'm using an initial RBD sim to hover 4 low res objects in a big group in the air. I then turn those objects into Vellum cloth, so I can drop them in a big bouncy pile on the ground. Lastly I deform the 4 low res objects with a Point Deform SOP onto the high res geometry. This works totally fine when I only scatter one of each object. The problem quickly appears when I scatter more than one of each object in the initial floating RBD pile. I sort of understand why this is happening, but I can't get my head around fixing this procedurally. I think the high res objects can't be moved into the position of the low res geo because (once scattering more than one of each object) there is no longer a name (or class?) to define each and every object independently. I am stumped in finding a way to fix this sensibly without me having to manually make multiple copies of each object with independent naming. Any ideas would be greatly appreciated! Scene file attached. Vellum_Low_To_High_Res_Deform.hip Edited May 3, 2021 by GlennimusPrime Quote Link to comment Share on other sites More sharing options...
nuki Posted December 5, 2020 Share Posted December 5, 2020 (edited) hey! the issue is that after copying a variant multiple times the class attribute is not unique anymore. You could pointdeform in a foreach loop, or make class unique and create a high res initial state with corresponding copies. I decided for the latter since the foreach of the initial geo has to be run only once and should be faster. Theres also this thread with a few tips to improve performance. Vellum_Low_To_High_Res_Deform_nuki.hiplc Edited December 5, 2020 by nuki Quote Link to comment Share on other sites More sharing options...
GlennimusPrime Posted December 19, 2020 Author Share Posted December 19, 2020 Hi @nuki! Apologies for the late reply, I didn't receive a notification someone had replied here. I like your way of creating a unique class attribute for each of the low res copies. I mostly understand what you've done and the reason behind why this wasn't working initially, but I have a couple of questions: Your for each loop, is it's purpose to make copies of the high res objects and transfer the unique class attribute onto the high res copies? I'm not sure I'm understanding how its doing this, and what the blast is for inside that network. I am also unfamiliar with the compiled block network. I had a quick read of the help file.. Is this step not 100% necessary, but used to to multithread the for each process, making it faster to compile? Thanks for your help! Quote Link to comment Share on other sites More sharing options...
willow wafflebeard Posted December 19, 2020 Share Posted December 19, 2020 (edited) point deform is slow even if you use its per piece capture and deform. i suggest use bone capture / bone deform. Edited December 19, 2020 by willow wafflebeard Quote Link to comment Share on other sites More sharing options...
GlennimusPrime Posted May 3, 2021 Author Share Posted May 3, 2021 I did end up solving this problem, but forgot to come back with the solution. I ended up posting about it recently, along with the working file over on the SideFX forums here: https://www.sidefx.com/forum/topic/76845/ 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.