Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

animatrix last won the day on June 25

animatrix had the most liked content!

Community Reputation

291 Excellent

About animatrix

  • Rank
    Illusionist

Contact Methods

  • Website URL
    https://www.pragmatic-vfx.com

Personal Information

  • Name
    Yunus

Recent Profile Visitors

4,801 profile views
  1. Combination MidJourney with Houdini

    I also did some experiments with MJ, it's a crazy powerful tool:
  2. Combination MidJourney with Houdini

    You can use this invite: https://discord.com/invite/7TJ5vx2GA3
  3. Pragmatic VEX: Volume 1 [4K] [H19]

    Pragmatic VEX is featured on the Houdini facebook page! Thanks SESI!
  4. Hi, It depends on the node and the type of algorithm used. But VEX can beat some nodes, while other C++ nodes that are heavily optimized or OpenCL nodes can often times beat VEX performance.
  5. Did you try Reverse SOP -> Shift -> U Offset = 1 for one of the primitive groups, and then adding a Divide SOP after?
  6. Hi, If your geometry's topology is uniform without poles unlike the one I am using, here is one way you could do it: function int [ ] getPrimNeighbours ( int input; int pr ) { int allprims [ ] = { }; int hedge = primhedge ( input, pr ); for ( int i = 0; i < primvertexcount ( input, pr ); ++i ) { for ( int f = 0; f < hedge_equivcount ( input, hedge ); ++f ) { int hedgeNext = hedge_nextequiv ( input, hedge ); int primindex = hedge_prim ( input, hedgeNext ); if ( primindex != pr ) append ( allprims, primindex ); hedge = hedgeNext; } hedge = hedge_next ( input, hedge ); } return allprims; } int firstprim = chi("first_prim"); setprimgroup ( 0, "prims1", firstprim, 1 ); int allprims [ ] = array ( firstprim ); int lastprims [ ] = array ( firstprim ); int index = 1; int primcount = -1; while ( primcount != 0 ) { string groupname = index % 2 ? "prims2" : "prims1"; int newprims [ ] = { }; foreach ( int pr; lastprims ) { int connected [ ] = getPrimNeighbours ( 0, pr ); foreach ( int c; connected ) { if ( find ( allprims, c ) < 0 ) { append ( allprims, c ); append ( newprims, c ); } } } lastprims = newprims; foreach ( int pr; newprims ) setprimgroup ( 0, groupname, pr, 1 ); primcount = len ( newprims ); ++index; }
  7. Shuffle float Array

    Hi, Here is one way: int source [ ] = array ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ); float weights [ ] = array ( ); for ( int i = 0; i < len ( source ); ++i ) weights [ i ] = rand ( i + 345.2342 + i * 567.213 ); int order [ ] = argsort ( weights ); source = reorder ( source, order ); i[]@array = source;
  8. Pointgroup for Clip Sop Edge

    I think I sent an RFE for this years ago.
  9. Pointgroup for Clip Sop Edge

    Hi, You can create a point group to contain all points before the Clip SOP and then invert this group:
  10. Show/Hide minimized panes in python

    Hi, Yes you can do this like this: pane.setIsSplitMaximized(True) Just find the pane you want by name or type.
  11. [SOLVED] Mask by Fresnel?

    You can achieve this by writing this sort of code inside a Primitive Wrangle: string cam = chs("cam"); float near = 0; float far = -0.01; vector pnear = fromNDC ( cam, set ( 0.5, 0.5, near ) ); vector pfar = fromNDC ( cam, set ( 0.5, 0.5, far ) ); vector dir = -normalize ( pfar - pnear ); vector n = normalize ( primuv ( 0, "N", @primnum, 0.5 ) ); if ( dot ( n, dir ) < ch("threshold") ) i@group_fresnel = 1;
  12. Distort Gradiant

    Can do noise in multiple ways (yellow/blue), and radial gradient using the pink nodes:
  13. Pragmatic VEX: Volume 1 [4K] [H19]

    After months of hard work, the new bonus content for Pragmatic VEX: Volume 1 is finally out! Existing users immediately received access to the updated content as soon as it went live. The new trailer also features the new content: Enjoy!
  14. Limiting RelaxSOP to X & Z

    Hi, You don't need to do any post processing. Point Relax's 2D relaxation does support some constraints. You can set @N to: {0, 1, 0} which is in local space. If you turn on Use Normal Attribute, it won't displace the Y component.
  15. array values from parameter

    Hi, Depending on if you want to keep the quotes or not, you can do something like this: s[]@array = split ( replace ( chs("array"), "\"", "" ), "," ); or: s[]@array = split ( chs("array"), "," );
×