[[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 May 3
animatrix had the most liked content!
Community Reputation
289 ExcellentAbout animatrix
-
Rank
Illusionist
Contact Methods
-
Website URL
https://www.pragmatic-vfx.com
Personal Information
-
Name
Yunus
Recent Profile Visitors
4,796 profile views
-
I also did some experiments with MJ, it's a crazy powerful tool:
-
You can use this invite: https://discord.com/invite/7TJ5vx2GA3
-
Pragmatic VEX is featured on the Houdini facebook page! Thanks SESI!
- 37 replies
-
- fuse
- opensubdiv
- (and 18 more)
-
vex Coding in VEX performs better than using nodes???
animatrix replied to alfxian's topic in General Houdini Questions
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. -
Sorting randomized prim order on a unknown incoming shapes
animatrix replied to NoSOPforStupidity's topic in General Houdini Questions
Did you try Reverse SOP -> Shift -> U Offset = 1 for one of the primitive groups, and then adding a Divide SOP after? -
Sorting randomized prim order on a unknown incoming shapes
animatrix replied to NoSOPforStupidity's topic in General Houdini Questions
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; } -
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;
- 1 reply
-
- 1
-
-
I think I sent an RFE for this years ago.
-
Hi, You can create a point group to contain all points before the Clip SOP and then invert this group:
-
Hi, Yes you can do this like this: pane.setIsSplitMaximized(True) Just find the pane you want by name or type.
-
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:
-
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!
- 37 replies
-
- 2
-
-
- fuse
- opensubdiv
- (and 18 more)
-
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.
-
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"), "," );