Jump to content

Search the Community

Showing results for tags 'pointwrangle'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 7 results

  1. Hi guys, I wanted to ask how can I achieve the following result: I have points scattered along a surface, on wich I have various noises affecting the color attributes of said points. What I want is for the points that are in the "red" zone to not move at all, and for the points in the "blue" to find the closest RED neighbour, and move towards it, controlled by a slider for me to animate. Seems easy enough, but alas, I am stuck. I wrote a point wrangle that does the job - well, sort of. The points are separated correctly, but I can't find an efficient way to attract them to the closest "red" neighbour. Most of them move, but not in a complete way as to seem as pure attraction. This is what I 've got so far: int nearpt = pcfind(0, "P", @P, chf("neighbourRad"), 2)[1]; i@nearpt = nearpt; string @INstatic = ""; //to separate the points in teams if (@Cd >= ch("color_tolerance")) { @INstatic = "yes"; @Cd = {1,0,0}; } else if (@Cd < ch("color_tolerance")){ @INstatic = "no"; @Cd = {0, 1, 1}; } //find closest points int ptneighbours [] = pcfind(0, "P", @P, 10, 1000); i[]@ptneighbours = ptneighbours; foreach(int j; i[]@ptneighbours) { s@affected = point(geoself(), "INstatic", j); if ( @affected == "yes") { @nearpt = j; v@nearPos = point(0, "P", @nearpt); } else { v@nearPos = point(0, "P", @nearpt); } } //move only blue closest points if( @INstatic == "no") { @P = lerp(@P, @nearPos, chf("percentcomplete")); } Any help would be more than appreciated, G.
  2. Hi, I would like to create a stack with some pieces of geometry and scale down each of them based on the previous bbox. The final look should be a pyramid based on the geometry you are using .. My problem is that I haven't been able to figure out the correct VEX syntax to use a point wrangle and read the bbox from the previous iteration. Any help out there? Thanks I attached a graph example testing.hipnc
  3. So I'm working on creating a grid with specific attributes or perhaps groups. So say "1" generates a Cube "2" generates a Sphere and "3" generates a Torus, going up to 9. So my idea is that I can type out a grid like so: 1;1;1;3;3;3;2;2;2 2;2;2;3;3;3;1;1;1 3;2;1;3;2;1;3;2;1 1;2;3;1;2;3;1;2;3 3;2;1;2;3;2;1;2;3 This would then divide the 5x9 grid into groups based on the numbers. Is there an elegant way of achieving this in VEX/Python? This could also work as a point cloud but it would need to have constant spacing between the numbers and control over the size in units of the grid. As a follow up this would be great if I could use this as a weaving pattern with splines. So in this case "1" would mean: on top, "2" would mean under: and "3" would mean: extra high. Though this should work if we get the rest to work as is. Any help with this would be appreciated.
  4. Hello everyone ! I can't figure out how to copy the attribute pscale (from a wrangle) onto a sphere... I am sure I am missing something because it should be straightforward see attached figure Thanks and sorry for the low level question
  5. compare attributes in VEX

    Hi, I'm a newbie in Houdini and vex, with basic knoledge of programming. I want to create vertex between points from 2 different objects, using vex. The look will be the Plexus style with the difference that I don't want the points to connect from each other when they are from the same geometry. I followed a tutorial from Entagma to help me. The question is : How do I get and compare an attribute from 2 points ? I tried to use pointattrib() to compare an attribute "myobj" that I created before but I don't have enought kwnolege yet to use it well. //__ List of the closest points int pnt_near[] = nearpoints(0, @P,dist, maxpoints); foreach(int pnt; pnt_near){ //__ condition if pnt and @ptnum do not share the same value of the attribute myobj if(pointattrib(0, myobj, pnt, 0) != pointattrib(0, myobj, @ptnum, 0) { int myprim = addprim(0,"polyline"); addvertex(0, myprim, pnt); addvertex(0, myprim, @ptnum); } } I don't know if it's the best way, so I'll be happy to hear any solution from you. Thanks, Charles plexus_attribute.hip
  6. I'm a bit confused as to which VEX functions these two nodes have access to? Is this noted in the documentation anywhere? For example I can create geometry in an attribWrangle node using addPoint(), addPrim() and addVertex(), however these functions don't seem to work in the pointWrangle. And I can create groups using the addgroup() function in a pointWrangle node but this is not recognised in the attribWrangle node....
×