Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


pusat last won the day on August 28 2017

pusat had the most liked content!

Community Reputation

102 Excellent


About pusat

  • Rank

Personal Information

  • Name

Recent Profile Visitors

1,602 profile views
  1. Get max/min two points of each primtive inside a group.

    Ok I assumed you have a different group for each primitive. If not, you can just use the adhoc group syntax like "4" to mean primitive #4, etc.
  2. Get max/min two points of each primtive inside a group.

    Hi, I didn't check your scene but you can use getbbox VEX function that accepts a primitive group, or can use adhoc group syntax. vector pmin = 0; vector pmax = 0; getbbox ( 0, myPrimGroup, pmin, pmax ); // Delete all points except these by checking distance2(@P, pmin/pmax) functions. But this is only for AABB (axis aligned bounding box), if you want OBB (oriented bounding box), then you have to use more involved methods such as PCA, SVD, etc or just use a For Loop SOP network with Bound SOP (OBB=on).
  3. Attribute chooser

    You can check out the attributes parameter of this node to see the script I am using to create a similar menu automatically: https://www.dropbox.com/s/69zed1t2xvn62tb/AttributeFit_SOP_Animatrix.otl?dl=1 I would post the code if I was in front of Houdini.
  4. Houdini 17 Wishlist

    Yes let's just censor any views that opposes yours
  5. You can also PolyExtrude the curves before the Boolean and then blast the new points afterwards using a few Group nodes before and after the Boolean (Credits: Entagma)
  6. Houdini Universal Unique ID (UUID)?

    I created an RFE for having a GUID before. It could be generated automatically by Houdini on demand thus it wouldn't impact anything unless you access the property on a node instance for example. I also think session ids are useless.
  7. Closest point to line

    ptlined will be slow because it's calling sqrt(). You should implement your own pointLineDistanceSquared: vector pointLineDistanceSquared ( vector p; vector linep0; vector linep1 ) { vector dir = linep1 - linep0; vector pp = p - linep0; return length2 ( cross ( dir, p ) ) / length2 ( dir ); } Then you can multi-thread the distance calculation using Run Over Numbers, storing them as detail attributes and then compute the smallest one at the last step.
  8. vop accel attribute

    To compute acceleration, you need to compute the differences between velocities, so you can do: v1-v0 using a TimeShift($F-1).
  9. Simple project to learn Houdini

    You can do all this inside a single AttribWrangle using the intersect() function.
  10. Houdini 17 Wishlist

    I would love to have this as a toggle where the pivot is always set to current selection. Geometry selection over object selection, etc.
  11. Just another laptop question

    I think the just put "pro" GPU in it to justify the price. Otherwise the infinity edge looks identical to XPS 15.
  12. Just another laptop question

    I think the new Dell XPS 15 is also a very good contender. It's more expensive but one can get one with 32GB memory 1050 GFX card, 4K resolution for about 2500 CAD refurbished which is good value IMO as the build and design is top notch. I really like the slim frame aluminum design especially given how light it is. Gaming laptops turn me off also. If only they had 1060 6GB GFX card it would be an amazing laptop.
  13. Simple VEX/Houdini array question

    You can also use len VEX function but both return integers.
  14. select one edge from group ?

    Edge groups are not as easy to work in Houdini as point/prim groups. You can do this using a Python SOP though: edge = geo.findEdgeGroup("edgegroup").edges()[0] newgroup = geo.createEdgeGroup("one") newgroup.add(edge)
  15. Smallest-circle problem to bound points?

    I made this operator when I first started using Houdini. It's from Dave Eberly's library: https://www.dropbox.com/s/ojzptmfpafqjw5n/MinimumCircle_SOP_Animatrix.otl?dl=1 Could be made faster by using least squares methods instead.