Search the Community
Showing results for tags 'xyzdist'.
Found 4 results
Greetings to the best forum on the web I am struggling a little with wrapping my head around the xyzdist() and primuv() functions in vex. I have attached a scene file that holds a dopnet with some points created on frame 1. I would like those points to stick to the geometry coming into the second input on the dopnet. any suggestions to how this could be done is appreciated. I am in particular interested in the usage of the xyzdist() and primuv() solution, however other methods is also encouraged! should there be some people that wanted to "show off" a little vop magic that is cool too. looking to learn so hit me with everything you got. All in all a simple task but good fun. Thanks for playing Cheers particles_on surface.hiplc
Mohanpugaz posted a topic in General Houdini QuestionsHi Everyone, Basically what Im trying to do is stick some scattered points on road to a tyre object using XYZ dist and prim uv. I am having static and moving tyre then I subtract the point position of one with the other to get the difference in the movement and exported that as @d attribute, Now on the scattered points Im searching the closest primitive of the tyre using XYZdist Then I'm extracting the @d from that primitive using primitiveAttribute VOP (primuv) and add it to the @P of the points . So it get the movement of the tyre. What I get is only the points which are near to the tyre on its initial frame are getting sticked. Can some one please give me an Idea how to do this.. I know we can do this easily with POPs Im doing this only to learn more vex. Thank you in advance.
Hello, I am trying to remove overlapping polygons - I want to do so by computing distance to other polygons using xyzdist(). So I want to specify primgroup which will contain all, but current primitive, so that It is not returning distance to itself. According to documentation, I should pass group string which matches general SOP syntax. So for polygon number 240, primgroup parameter should be "* ^240". When I pass this parameter to the function, it returns -1 in found primitive - no primitive found. I think that the error is causing by this primgroup parameter. If I pass for example "*", then there is also no primitive found. How can I use patterns to define group inside this function? Like 0-50, *, ... This is from the docs: The name of a primitive group or a pattern to generate a primitive group. Uses the same semantics as a SOP group, so empty strings will match all primitives. Any ideas how to make this pattern working? Juraj
I need to create a vex function that given a position, and a max distance, it will return the prim_id & prim_uv of all the primitive (curves) within that max distance. Similar to what we can do with a pcloud, but with the closest position on the given curves, even if that closest position is not at a point. I am trying to use a while loop with an xyzdist lookup inside, but I am having trouble removing the found curves from the group in subsequent iterations. I want to add all the potential curves to a group and each time one of them is found, remove it from the group and run the xyzdist lookup again until it cannot find anymore curves. Does anyone have any idea how to accomplish this? Thanks!