Jump to content


  • Content count

  • Donations

    10.00 CAD 
  • Joined

  • Last visited

  • Days Won


acey195 last won the day on October 17 2018

acey195 had the most liked content!

Community Reputation

148 Excellent

1 Follower

About acey195

  • Rank
    Houdini Master
  • Birthday 01/10/1991

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location

Recent Profile Visitors

7,108 profile views
  1. Change a curve basis in VEX?

    Hey, Also tried adjusting stuff similar to this with NURBS. My fear is, that the setprimintrinsic() function only actually works on a couple of the intrinsics, and not all of them unfortunately.
  2. Mesh Border Mask

    assuming the shape is flat (it has to have boundaries) you can also do the following: Use a divide sop to remove shared edges (toggle at the bottom), though it looks like on the left image this may already be the case. Put an "primitive" or "ends" SOP and set the mode to "unroll" (easier to find in the ends sop), you should now have the boundary line. then you can do the rest in an attribute VOP or wrangle, for example: (input the main geo in the first input, and the boundary in the second) f@falloff = xyzdist(1, v@P); v@Cd = f@falloff;
  3. Well for the scatter node, the density scale is measured per m^2, so if you use a measure SOP to measure the area (it will be set to perimeter by default) you can then use an attribute promote SOP to promote the area from primitive to detail, using the "sum" method. you now should have the total surface area as a detail attribute. Then you can fetch that attribute, and divide it by the size of your bark pieces, times some kind of smudge factor and put that as the density in you scatter node. That should give you a reasonable filling in
  4. This is a very complicated problem, if the data you start with is not already pretty good. If you can also make something like that work well at different resolution scales, you are a super genius. The most straightforward way would probably be to use a lot of smoothing (using various constraints) in combination with fuse nodes progressively increasing in fuse range.
  5. Lambda SOP

    This looks awesome But isn't this sort of what the invoke sop does? although that does have the constraint that you need to call a compiled block (with all the constraints of that)
  6. Hey All, Moving to H17 has been great so far, including a lot of the UI improvements that came in both H16.5 and H17 One thing does annoy me though, is the node information (or middlemouse button) of nodes with errors. Is there any way to get rid of this unused space in the UI? I don't really want to have to scroll down in the error message to read it, or to screenshot it, when I need to notify colleagues. (and if you use middle mouse button, you can not even do that) Thanks! Twan
  7. Get rid of subdivide artefacts

    Basically, you want to avoid triangles as much as you can, so maybe an extra intermediate edge (ring) on the cap might work, or you could try making the cap quads by connecting across, rather than going to the center (or a combination of both)
  8. "Make circle" SOP?

    well, once you have the average position, you can look at all the vectors from the center to the original positions, adding up the cross products of each set of 2 of those vectors (flipping them if they have a dot products smaller than 0) if you normalize that resulting vector, that should be the average plane orientation. afterwards you could use this VEX function to layout all of your points on that plane: http://www.sidefx.com/docs/houdini/vex/functions/planepointdistance.html yay maths ^^
  9. I would do the following: Create a convex hull Measure the distance between the mesh and the hull Constrain the smoothing, based on this distance. Possibly you want to do this in an iterative loop, smoothing in smaller increments, re-evaluating the constraints every iteration.
  10. Also, for object aligned boxes, I would generally loop over the objects, just use the Box SOP and then in VEX, do a intersect along the Normal (z), Up (y) vector and crossproduct(N, up) for the x axis, to get the scales.
  11. In this case you just type the name of the HDA name (not label) where it says: 'geo' I believe
  12. Also note that the "0" as the argument, refers to the input number, you can also use 1,2,3 to access the other input nodes (or even -1, -2, etc if you use spare inputs)
  13. How to selects a point ID using VEX?

    Because of how Houdini deals with ints, you can also do that (if your "whatever" fits on one line of code)
  14. trying to understand how arrays work

    Hey, didn't have time to check the file, but I have a hunch you used the setdetailattrib(0, "foo", yourArray); and then tried to read from it. This you cannot do inside the same wrangle. all the functions that write attributes, are only applied in the output of the node, not in the local data. so if you want to keep using it, use "yourArray" instead of "detail(0, "foo")" this restriction is not there for bound attribs like: "@foo" to your other question, of course. You can for example use the group parameter at the top of the node, to only process a subset (or a single) of your primitives
  15. For-Each Numbers Node Houdini 17

    Everything in the old foreach subnets can be done with the new ones, in slightly different ways (which will make more sense/are more flexible in the long run, than the old one) if you want an introduction to the new foreach logic, you can always watch Jeff's tutorial: