Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


ThomasPara last won the day on May 1

ThomasPara had the most liked content!

Community Reputation

17 Good

About ThomasPara

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location

Recent Profile Visitors

575 profile views
  1. VEX: get attribute values into an array

    use append append(scale,size);
  2. 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.
  3. 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.
  4. 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.
  5. 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); }
  6. 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
  7. HDA | VOP | NormalBias

    Cool stuff, its inspiring!
  8. Reverse curve direction not working

    Simplified your setup (since it was incredible slow), and with an example of how you can inverse the direction GEO_CITY_008_reverse_001_fix.hipnc
  9. Wood Destruction - Cone Twist

    Adjusting the rotational stiffness on the rbd object can help. You can also increase the substeps on the conetwist constraint.
  10. breaking cone and hard constraints;

    I think you need to duplicate your constraint network, and rename one of them to take the other constraints. Heres a simple setup constraints_simple_setup.hip
  11. breaking cone and hard constraints;

    use a sop solver on your constraints, use the relationship node inside and delete the primitives.
  12. Detail wrangler to primitive ?

    @variable = detail(0,"variable"); You can use this in vertex, point, prim and detail context. The zero "0" is from witch input you want to pull the attribute from.
  13. no cross ?

    it seems like your running in a for-each loop, is it a per-primitive operation? If so your primnum will allways be 0 inside the loop. I would also break this line up into: v@Vector_Pt_AC = vector(prim(0, "Vector_Pt_AB", chngePrim)) - vector(prim(0, "Vector_Pt_AC" ,chngePrim))/1; I will ignore the /1, because im not sure what that is doing here. vector AB = prim(0,"Vector_Pt_AB",0); vector AC = prim(0,"Vector_Pt_AC",0); v@Vector_Pt_AC = AB-AC; This will only work if your v@Vector_Pt_AC exist from before, or else you would only have an empty vector. It would be easier to understand your solution if we know what your goal is, because i think this can be done in a mutch more efficient and easier fashion
  14. Growth DLA, orient/pscale problem

    Your pscale and orient gets "renewed" every iteration, you need your solver to only set the attributes once, the best way is to do this while the point are created. Or you can set your attributes after the solver if you know that your pointnumber or id is consistent, since you have a blastnode after the solver you need to do this first. Attached a fixed file. dla_attribute_problem_fix.hiplc
  15. Array values to points

    im not familiar with @opinput1_"variable" syntax, but it seems like i points to the same pointnumber as itself. So since you only have one point i input number two, the only point that finds anything is point number one on your mesh. I dont know the endgoal here, but if you want to access the "colors" array on point 0 on all your points, you can write it like this. vector array[] = point(1,"colors",0); @Cd = array[@ptnum];