Blend Shape is not going well

   1898   4   1
User Avatar
Member
5 posts
Joined: July 2022
Offline
Hello there !

I'm actually trying to blend 2 shapes with each other but my result is really messy.







My issue is that Points do not have the same numbers before and after the for loop so my geometry looks kinda weird and noisy. point is going to another location. I feel like there's some issue in my geometry too so I thought a way to clean this up was to remove all possibly additional primitives. I think my "Explode view" node is pushing out some faces that are overlapped on another.





I created an attribute wrangle with some vex code inside but it's actually doing nothing.




Does someone have any idea how could I fix that ?
Thanks for reading ! (:
Edited by AngleDroit_Student - Jan. 18, 2023 10:32:44
User Avatar
Member
572 posts
Joined: Aug. 2014
Offline
Well, as you have already noticed, either some operator within the loop changes point order (doubtful, as SOPs you have used shouldn't really do that), or the loop itself is misconfigured. I'd start by checking loop settings (e.g. does it output the same point count as the original geometry?). If it's not the culprit, I'd try to finding out on which operator the actual change in point order or their total number occurs on, and then deal with it accordingly.

AngleDroit
I feel like there's some issue in my geometry too so I thought a way to clean this up was to remove all possibly additional primitives.
For this purpose you can use PolyDoctor SOP.
User Avatar
Member
4703 posts
Joined: Feb. 2012
Offline
This is normal. When you use a for loop network the point/primitive numbers are not guaranteed to match because each piece is treated differently on its own so their element numbers will always be from 0, rather than actual element numbers of each piece.

To preserve the point numbers after, just create a point attribute using a Point Wrangle like this:

i@ptid = @ptnum;

Then after the for loop, add a Sort SOP and use this attribute to sort the point numbers.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]

youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
User Avatar
Member
572 posts
Joined: Aug. 2014
Offline
animatrix_
When you use a for loop network the point/primitive numbers are not guaranteed to match (...)
Ouch. After testing the setup on Crag, I was under a false impression that foreach loop tries to preserve point order under-the-hood. But now I piped in Rubber Toy and... Let's just say that unpacked Crag has probably the most loop-optimized geometry amongst the available set of test models.

Thanks for your input @animatrix_. Intricate paths of Houdini will always give a person a good lesson.
User Avatar
Member
5 posts
Joined: July 2022
Offline
Thank you so much ! My main issue was that I had a random unconnected point that came from nowhere so I just removed it, still had the issue about indexing but the sort node fixed it !
  • Quick Links