Jump to content

Search the Community

Showing results for tags 'wrangle'.



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 80 results

  1. Hi everyone, Anyone knows how I could get the world position of the tip of a bend deformer handle? (see image)
  2. I would like to delete vellum grains and their constraints so that I can pump more grains into the scene. This is something I've been struggling with for quite a while and all the tutorials I found do not seem to deal with constraints when deleting grains. I've simplified my setup to its bare minimum in the attached file. Any advice or relevant link would be much appreciated. Grain_Constraint_Delete.hip
  3. Hi guys/ladies, how can I compute a proper vector field that's tangent to any arbitrary mesh in VEX? I used the polyframe SOP but there are some inconsistencies with the vector directions and plus I'd love to know a VEX approach for creating a proper tangent field on arbitrary mesh. Thanks in advance. (I've provided a file with the mesh I'm currently working on; see attached) compute_tangent_field_HELP_01.hip
  4. Connect opposite points in vex

    Hey hey. I'm trying to do a very simple thing - connect opposite points within vex... Normalas are given. I've tried with dot product but failed((( Any advices?
  5. Hi all. This should be easy, but it's killing me... I have a control object living outside a DOP network, a simple particle system. I've plugged it into the second input. Inside the DOP I access this control position without issue, in a VOP. However I then want to follow up by killing particles in a POP wrangle, based on distance to the control object... Easy right? Here's my vex: f@dist = distance(@P, v@opinput0_P); if ( @dist <= ch("threshold")) { removepoint(0,@ptnum);} ... simple. But it kills particles around the origin, not the control object, as if v@opinput0_P = {0,0,0} I've tried multiple variants on opinput, explicit path and the point function etc but it always gives me a "kill" radius around the origin, not the control object. Anyone see what I'm missing? Thanks in advance!
  6. Hello, I have a for each connected loop, and I created a meta import node. To access the node using the detail function in a wrangle I have to use the back ticks to get the value of the iteration otherwise it just shows 0 without the back ticks. Can some please explain to me why we need to use the detail function in back ticks, for example `detail("../eachP/", "iteration", 1);` in a wrangle node for it to work? Thanks, This is with back ticks This is without back ticks
  7. Analogous Colors

    I would like to color a set of primitives using random analogous color pairs. (or triadic/tetradic etc) The color sop node provides this information but only as a guide to choose from. How would i go about this? i suppose vex is the way to go but i don't have a clue as to which functions or what method should be used. Any tips?
  8. POP stream/group in wrangle

    Hi everyone. I have a pop stream called "stream_main" and is written that its a pointgroup. Though when I refer to it in a wrangle, if doesn't work. I don't know why.
  9. Hi, this is a basic question but I have spent hours and didn't see the answer anywhere. I have some geo packed and ready for a rigidbody simulation, but i want to cotrol when the geo start to simulate. So I put a wrangle node to control it, for example: I want to start in the third frame: i@active=0; if ($F>3){ i@active=1; } But in the Dopnet, it never starts. In the spreadsheet active keeps 0 and never changes to 1. I tried to put the wrangle in a solver (because it worked for me with working with attribute transfers stuff) but it didn't work either. I did a simple scene with the problem. P.S. I know I can change the frame of the start of the sim but actually i would like to have diferents objects with differents starts so I though @active is the way. Thanks in advance active_update_question.hip
  10. POP wrangle number of inputs

    Is there any way to add more input slots in a POP Wrangle node? By default it has 4.
  11. Wrangle Cook Time

    Hello ! I noticed that the Last Cook info to know how long the node has cooked for is "wrong" for Wrangle Nodes. This can be seen easily when using the Performance Monitor to get the real data When we look at the values in the Performance Monitor itself, we can see that the Last Cook Time for a Wrangle Node is actually only the Output VEX Code step. This seems to ignore the whole attribvop step. This doesn't occur for other nodes, such as the blast or delete nodes. Is this an expected behavior regarding the Wrangle Nodes ? Attached is the test file, where I compare the speed of four methods to isolate the points I want. 1 - blast, cook time 0.189s 2 - delete, cook time 1.193s 3 - wrangle (pt), cook time 0.56ms ("real" is 1.632s) 4 - wrangle (detail), cook time 0.13ms ("real" is 4.189s) At first, I thought "hey, wrangles are sooo much faster than even the blast node, so why not use them always instead" But then, I noticed that the wait time I felt when cooking the node was a bit longer on the wrangle, despite the Cook Time telling me otherwise. This is what sparked this whole investigation wrangleCookTime.hipnc Thanks !
  12. i am trying to reproduce a ramp sliding effect from vop to wrangle. I used the vop version for very long without issue,i add a parameter before the ramp to move its position(usually used to slide the ramp across UVs) For some reason it seems i am not reproducing the wrangle the right way. you can see the vop in the pic and my attempt at reproducing it in wrangle. i posted the file. script: float ptnum = (float)@ptnum; float numpt = (float)@numpt; float anim = chf("page_animation"); //slider from -1 to 1 float div = ptnum/numpt; float bend_anim = div+anim; float ramp_bend = chramp("ramp_bend",bend_anim); @bend = fit(ramp_bend,0,1,chf("bend_left"),chf("bend_right"));//slider from -90 to 90 book_odforce.hip
  13. what is intrinsic in VEX?

    some function like below one: setprimintrinsic() carry the intrinsic with themselves, what are they, and how we can use them?
  14. recursive_division.hip I am trying to randomise a for each using vex and metadata.i only get 0 as a return. I made it work in another scenarios, but i am unable to find why it doesn't work in that specific case. I used all the different script without success: int i = detail("op:../meta","iteration"); or plugged-in int i = detail(1,"iteration"); See the file attached Thanks for the help.
  15. Hi, can someone please explain to me, why we would set the run over parameter in a wrangle node to detail or points? What is the difference between these two? I know that run over points means that the vex code is run over each point in parallel, but what exactly is run over details? Thank you
  16. Primitive Center Rotate in VEX

    Thought I'd share a little primitive center rotation snippet, any comments welcome. Note: Requires connectivity node upstream set to primitive and attrib "class". //Rotate primitive around center and defined axis int points[] = primpoints(0, @primnum); vector axis = set(0,1,0); //define user axis //vector axis = normalize(@N); //if normal axis is required float angle = ch('angle'); matrix3 rotm = ident(); rotate(rotm, radians(angle), axis); //get center (requires connectivity node, set primitime and sttrib "class") string grp = '\@class='+itoa(i@class); vector CenterPivot = getbbox_center(0,grp); vector pos; // move points to origin, rotate, move back foreach(int pt; points) { pos = point(0,"P",pt); pos -= CenterPivot; pos *= rotm; pos += CenterPivot; setpointattrib(0,"P",pt,pos, "set"); }
  17. Hello wizards, i have a little problem, and im not able to understand why my code doesnt work. I have: -a couple of points, -each with a vector attrib "size". -some code in a wrangle to order the points one above/under(direction shouldnt matter because im taking the absolut value, right?) the other without modifying the first point (0): if(@ptnum > 0){ vector last_point_size = point(0, "size", @ptnum-1); vector last_point_pos = point(0, "P", @ptnum-1); @P.y += ( abs(last_point_size[1]) + abs(last_point_pos[1]) ); } Here before/after the wrangle. Tint in blue everything that doesnt change. What am i doing wrong? Thanks in advance for your time.
  18. Hello fellow magicians, I have a Point Wrangle with 2 inputs: each input has 1k pts which are sorted to match. I am trying to create a primitive (line) pointing from a point from the set 0 to the corresponding point from the set 1. I have adapted some VEX (as in the image) I found on the forum but it doesn't behave as expected. Instead of connecting corresponding points, it connects all the points from one set to a single point in another. Finally, what would be the best method for creating a normal in the direction of the created primitive?
  19. Hello! I want to reduce the particle points and tried to do using "point wrangle", but there are no results. How do you know to reduce the particle particles using "point wrangle"? I threw off a short video GIF examples here and another project: particle_point.hipnc
  20. Hi there, this is probably way simple and a dumb question but.... I'm trying to make a tool that will use a string from a spare parameter and use it to reference geometry on a drive. The point() function works if I type in the value - check . I can make a new attribute and reference the spare parameter- check. But when I use the string attribute or directly reference using ch('myparameter') from within the point() function I draw a blank. I suspect its changing the string to float or something in the point() function. Any help much appreciated Thanks John //mycode s@mystring = chs(“geo”); v@Cd = point("mystring",“Cd”,@ptnum); v@P = point(“mystring”,“P”,@ptnum);
  21. Hello good people of the interwebs! I have a VEX (beginner) question. I want to group points of a poligonal mesh based on their acuteness (i.e. how "pointy" they are). Very similar to what the group node allows to do with edges, where one can simply define the minimal edge angle of the two adjacent primitives to decide if an edge is included in the group. I need a similar thing, but with points and a point group and taking into consideration the angles between the three (or more) adjacent edges. (I imagine a loop and the neighbor and neighbor count functions and some angle comparison wizardry but I can't figure out how to tie all that together in any meaningful way Houdini can understand.) Your help is very much appreciated. Beautiful holidays to you and sweet learning by your handsome examples to me! Felix
  22. Hi! I am trying to do simulation using crowd system. Agents should decide wich 1 of 3 splines to choose depends on smallest popgroup number in destination point. Could anybody help with VEX in popwrangle? Hier is a scheme attached. I think to use splines because houdini has not navmesh like unreal engine has. And navmesh as far I know just splits polygones and draw optimal spline on its chunks in direction of movement. This should simulate 3 lines in a shop. Agents should go where is not to much people waiting
  23. Hello guys; I want to read value of a parameter of a SOP node, inside a wrangle. Is it possible? Thanks.
  24. Hi guys! I have a problem that's been bothering me for a couple of days and I can't seem to wrap my head around to solve: I have a grid, with scattered points. And I have 3 objects hovering above the grid. With a colour shift on the grid (attribute transfer with an animated ball for now), I "activate" the points in a pop network, and I start adding forces on them, choreographing them, until they reach a certain age and start to move to the 3 objects above, like an attraction (point count is the same in both inputs for simplicity - also I have colour grouped which particles belong to which object for visualisation purposes). So far so good. The problem is that in theory, each $id should correspond in each point on the objects above - but alas, they seem to shift groups! So, instead of clean motion / attraction on each of the objects after a specific time, I get more of a random mass of particles moving back and forth the objects until the end where they stick on the objects. There sure is something wrong with my vex, but I cannot understand what! It should be easy: green goes to green, blue to blue and red to red.. Attached are some images to help understand the problem. the viewport describing the problem: the pop hierarchy: the wrangle to move the points to position after a certain amount of time in the "time_in_release": If anybody has any idea as to why this is happening, please, feel free to share! I would be more than grateful to hear your thoughts! Thank you so much for your time, G.
  25. Enforce Prototypes @ptnum

    Hello, So doing some clean up on my vex code in a wrangle and I turned on Enforce Prototypes to remove a bunch of the hacks to get the code setup. The one thing I can not find out a cleanup for is to replace @ptnum with a non @ function. Is the only way to declare it prior to the wrangle as another attribute? That just seems messy. Even declaring before hands means you need @ptnum to source that attribute. Thanks, -Ben
×