Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


ThomasPara last won the day on June 26

ThomasPara had the most liked content!

Community Reputation

23 Excellent

About ThomasPara

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location

Recent Profile Visitors

639 profile views
  1. @name attribute without assembly ?

    I was tierd when i wrote that post, but its all in the file.
  2. Cone To Glue Constraint Switch / metal Bending

    The main problem is that your glue constraints arent active from the start. Just merge all your constraints before you put them inside the solver, it will figure it out based on the constraint_names. Cone_to_Glue_Jiggle_fix.hipnc
  3. Cool, i dont think thoose chips are so healty for that burger! And i forgot that they put that option in houdini 16, sorry about that.
  4. @name attribute without assembly ?

    In the "attribute transfer", set it to name. After that insert an attribute promote, where you promote your name attribute from primitive to point. Now your connect adjacent pieces will have the name attribute. connect_adjacent_01.hiplc
  5. @name attribute without assembly ?

    You can use whatever to set your name attribute as long as its a primitve attribute. ex: put down a connectivity and use the @class attribute. s@name = "piece"+itoa(i@class); or you could use the primitive number itself s@name = "packed_prim"+itoa(@primnum); or closest point to this primitive int nearpt = nearpoint(1,@P); s@name = "say_my_name"+itoa(nearpt); or get the name of the closest point int nearpt = nearpoint(1,@P); s@name = point(1,"name",nearpt); Its just an attribute you can call whatever and name whatever. If several primitives have the same attribute with the same value, they get packed togheter.
  6. Some minor things you forgot, the most important one was to set the right input on your Constraint Network. Since that was incorrect it couldnt find the Constraints. I also set your Goal Twist Axis and Constrained Twist Axis to X(1,0,0). But usualy this is Z on a curve where orientations is set. If you want to noise your curves before you drop them you need to set some orientations that follow the curve. I think Entagama has something on Parallell Transport or i could share my setup on fixing orientations on curves. chips_sim_v006_fix.hiplc
  7. I think the rbd is the way to go on this one. Heres a simple setup to get you starting. chips.hiplc
  8. trying to roate pieces of my burger randomly

    You can also just pack them first, that will give you the pivots. Use assemble. Or connectivity. If you use connectivity you need to assign the name on the primitives yourself. //primitive wrangle with class as primitive attribute s@name = "piece"+itoa(i@class); Then pack by name attribute. Now you can rotate the packed primitives //pointwrangle matrix3 m = primintrinsic(0,"transform",@ptnum); vector axis_y = set(0,1,0); //if you want axis to be aligned with packed transform axis_y *= m; float angle = radians(rand(@ptnum)*360); rotate(m,angle,axis_y); setprimintrinsic(0,"transform",@ptnum,m,"set");
  9. trying to roate pieces of my burger randomly

    matrix3 m = ident(); vector axis = set(0,1,0); float angle = radians(rand(i@class)*360); rotate(m,angle,axis); @P *= m; Write that in a pointwrangle after a connectivity node set to points.
  10. VEX: get attribute values into an array

    use append append(scale,size);
  11. search and check for UV's in scene

    One way is to use a for-each loop with connectivity. Make an attribute on your geo that checks the length of the uvs. Promote that attribute to detail twice, where one is set to maximum, and one to minimum. Compare the values, and if they are equal, its likely that there is no uvs.
  12. Polywire shape adjustments

    Vex is usualy faster, and i try as far as i can to avoid Foor-loops. When i get time, i can take a look at that file again.
  13. Polywire shape adjustments

    Np, remember that "primPts" is an array, and since it starts at 0 you need to fit your range to the length of the array subtracted by one.
  14. Polywire shape adjustments

    You have to setup your foreach to also ouput index. "currentPoint" will give you the pointnumber globaly. What your interested in is the index of the number in your current primitive. foreach(int index;int currentPoint;primpts){ float ramp = fit(index,0,len(primpts)-1,0,1); }
  15. Try Except in VEX alike in Python?

    You could use the function "attribtype" combined with "attribsize". Attribtype will say that the variable is a vector and attribsize will say how many components the vector have. http://www.sidefx.com/docs/houdini/vex/functions/attribtype.html http://www.sidefx.com/docs/houdini/vex/functions/attribsize.html One issue that can come up is comparing a vector2 vs a vector4