[[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 had the most liked content!

291 Excellent

• Rank
Illusionist

## Contact Methods

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

• 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. ## vex Coding in VEX performs better than using nodes???

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. ## Sorting randomized prim order on a unknown incoming shapes

Did you try Reverse SOP -> Shift -> U Offset = 1 for one of the primitive groups, and then adding a Divide SOP after?
6. ## Sorting randomized prim order on a unknown incoming shapes

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;

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"), "," );
×