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 ! (:
Blend Shape is not going well
1898 4 1- AngleDroit_Student
- Member
- 5 posts
- Joined: July 2022
- Offline
- ajz3d
- 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.
AngleDroitFor this purpose you can use PolyDoctor SOP.
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.
- animatrix_
- 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:
Then after the for loop, add a Sort SOP and use this attribute to sort the point numbers.
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
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
- ajz3d
- Member
- 572 posts
- Joined: Aug. 2014
- Offline
animatrix_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.
When you use a for loop network the point/primitive numbers are not guaranteed to match (...)
Thanks for your input @animatrix_. Intricate paths of Houdini will always give a person a good lesson.
- AngleDroit_Student
- Member
- 5 posts
- Joined: July 2022
- Offline
-
- Quick Links