Search the Community
Showing results for tags 'Wrangle'.
-
My popular Custom Velocity Forces class just got UPGRADED! Previous students enrolled should already see the updates now. For new students you can enroll here: Learn more Thanks for the all the support everyone! Updated promo video for the class:
-
- 1
-
- positional vector
- directional vector
- (and 15 more)
-
Hey there! I'm trying to assign a 'MatID' prim attribute value based on incoming data. I'm currently importing data from a JSON file which has an array called 'primMatID'. There are 10 entries in this array and they are being read into Houdini as separate attributes; primMatID[0], primMatID[1]..... primMatID[9]. Using an attribute wrangle, I'm assigning the value of each of those 'primMatID' entries to the 'MatID' attribute on a specific prim/face of a simple model (eg pentagon). I've only been able to achieve the first four, inappropriately treating the 'primMatID' entries as vectors *blushes* in a vex wrangle, but obviously vector4 is the biggest there is, so the fifth through tenth entries of the JSON array cannot be captured with this approach. For the attached image, is it possible to transfer the primMatID[4] value of 8 to prim 6? Any help would be greatly appreciated! Thanks in advance.
- 3 replies
-
- assign attribute value
- wrangle
-
(and 1 more)
Tagged with:
-
Hi! This is my first post to this wonderful forum, my teacher recommended it to me since I'm the only one in my CG-course to want to work with Houdini and the autodidactic approach can be harsh sometimes I was following the classic "vex isn't scary"-tutorial on for loops and decided I wanted to try to make the "infected" points also move into a new position within the foreach-loop after they've become infected, which worked fine. But then I tried to create a float parameter that blended the initial position of each point and the new position, so that you are able to see them moving towards the center as they became infected, and got completely lost in the sauce. Anyone know how to write that in VEX? I attached the file with directions. Looking forward to spending time within this community, you guys are awesome! FORLOOPS_VEX.hipnc
-
How can we control the shape of a chramp (created in a point wrangle) with a spectrum chop and therefore animate the shape? I already posted a question related to this, but maybe it was worded confusingly or seemed difficult..as no one answered. So I am asking generally, alternative solutions are welcome.
-
Hi. I have basic polyline. Turned into the rig with RigDoctor and animated via Rig Wrangle. I would like to export animation to fbx beacause as far as I understood in order to export fbx animation one needs to use rig system. But nothing works(((. Second question is how to export to fbx copy to points animation. In general I wasn't expecting exorting fbx animation to be so complex. Thanks in advance
-
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
-
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
-
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?
-
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!
-
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
-
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?
-
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 !
-
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
-
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
-
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.
-
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
-
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"); }
-
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.
-
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?
-
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