vinyvince 55 Posted March 9 Hello After my voronoid fracture (with Manhattan approximation) , i will like to give each cell a different ramp attribute to drive and build my displacement. Like in substance. I have trouble to implement this in vex directly, and i want to use the lab ramp. I unlocked the had, but once again ,i failed to drive the circle prim arc value with my attribute generated before, unique per piece. i definevely have trouble with that, to drive my local variable with a attribute @.. I could do in a transform by using : point(opinputpath(".",0), $PT, "fRotationAngle", 0) but not in the subnetwork of the lab gradient tool... it doesn't recognize my attribute... it's what i wrote below Any idea for a fix, or in a brute force vex approach please guys? cheers, vincent* @konstantin magnus Share this post Link to post Share on other sites
Librarian 636 Posted March 9 z_VORONI_FRACTURE_GRADIENT_OFFSET2 + FeELib = Asia LOve Lib Share this post Link to post Share on other sites
vinyvince 55 Posted March 9 14 minutes ago, Librarian said: z_VORONI_FRACTURE_GRADIENT_OFFSET2 + FeELib = Asia LOve Lib Hey Tesan! Yes, that's too great and huge library actually. Now , i realized i never used then. I tried the z_VORONI_FRACTURE_GRADIENT, it's super slow and not sure it does the same thing. But too be honest i have to pay a little bit more attention, i use almost no lib now inside lab, qlib.. and Feelib man... there are 500 had there, i installed once, it pollutes too much my flow and i realize it was taking me more time trying to understand the purpose of one HDA than building mine Share this post Link to post Share on other sites
Librarian 636 Posted March 9 @Aizatulin I think if He Have Time ......I just Combine Share this post Link to post Share on other sites
vinyvince 55 Posted March 9 My idea was just by a wrangle, add a random angle per piece then in a loop, do a ramp contrained by the bounding volume using the angle value created before. I tried using the lab ramp, but failing to inject there by attribute as said. Just a syntax issue a guess to inject @ into local variable. Always hate that part, with hscript on one side and vex... I will see if i could built everything in vex , i guess that's the proper way, but is my brain agree with that? Share this post Link to post Share on other sites
Aizatulin 133 Posted March 9 If nothing else work, you can always use a foreach loop and write each piece attribute to detail, and reference it by detail(input, 'name', 0) in any field. Share this post Link to post Share on other sites
Librarian 636 Posted March 10 @Aizatulin @vinyvince can we Use this somehow to drive those displacements ..HM Evaluates the derivative of a parm parameter with respect to position //Detail vector color[]; for (int i;i<10;i++){ color[i] = rand(i); } int pt; vector cd; for (int i;i<100;i++){ pt = addpoint(0,set(i/99.0,0,0)); cd = spline ("linear",i/99.0,color); setpointattrib(0,"Cd",pt,cd); } //chramp vector p; int prim = addprim(0,"polyline"); int n = 100; float u ; float deriv; for(int i;i<n;i++){ u = float (i)/(n-1); p.y=chramp("ramp",u); p.x = u; pt = addpoint(0,p); cd = chramp("color",u); setpointattrib(0,"Cd",pt,cd); deriv = chrampderiv("ramp",u); setpointattrib(0,"N",pt,set(1,deriv)); } Share this post Link to post Share on other sites
vinyvince 55 Posted March 10 (edited) Are you talking about the parallel transport algorithm Tesan? It's a different purpose and it's for curves, not surface , no? Idea was to have something like this, first pic but on more complex pattern, like my custom manhattan voronoi how in pic2 Im going to try what @Aizatulin suggested, i remember the detail way for some reason, it's still hard for me not to believe there are not a more simple way to pass parameter Edited March 10 by vinyvince Share this post Link to post Share on other sites
vinyvince 55 Posted March 10 (edited) 21 hours ago, Aizatulin said: If nothing else work, you can always use a foreach loop and write each piece attribute to detail, and reference it by detail(input, 'name', 0) in any field. @Aizatulin thanks, kind of works but i use this syntax detail("/obj/Cluster_RBD_GroundCrackedlook/attribpromote2", "fRotationAngle",0) Edited March 10 by vinyvince Share this post Link to post Share on other sites
konstantin magnus 845 Posted March 10 (edited) You can pretty much choose a texture bombing approach to achieve this. Also look into "multiparm blocks" and set their count with the nuniquevals expression, if you really want to define all the curve ramps by yourself. Here is a tutorial: https://odysee.com/@konstantinmagnus:5/houdini-tutorial-texture-bombing-shader:7 projection.hipnc Edited March 10 by konstantin magnus 1 Share this post Link to post Share on other sites
vinyvince 55 Posted March 11 Thanks @konstantin magnus, interesting solution as usual i didn't thought about using that approach in this special case. But i have already image the same in a case that i could inject some details into each tile, like kitbashing a lib of displacement maps. So you would have to pick one map for a pointed directory and loop for each variant in the scattering, still have trouble to remember how to do that, i think i saw it before but never done it myself, excepted with output geo with pdg and using trail so i only select one geo file on the disk and not a directory. How would you do that ? Im not much a fan of shader's tool as it's too dependant of the renderer and i like to see my result live but yeah off course, you could displace to the pixel level and not poly, that's big deal hardsurface_proceduralhoudini_test.mp4 1 Share this post Link to post Share on other sites
vinyvince 55 Posted March 11 (edited) Edited March 11 by vinyvince Share this post Link to post Share on other sites
vinyvince 55 Posted March 11 After i was wondering, how sidefx compute the deform wrap option in their unified noise, like the gradient wrap? A gradient from the texture i guess is precompute and use to drive the deformation.. i don't know but i found this interesting and didn't notice any discussion on this point before ________________________________________________________________ Vincent Thomas (VFX and Art since 1998) Senior Env and Lighting artist & Houdini generalist & Creative Concepts http://fr.linkedin.com/in/vincentthomas Share this post Link to post Share on other sites
Librarian 636 Posted March 11 @vinyvince Try to use area Measure Throughout Similar to Per Piece only with the entire geometry (or Group if specified) treated as a single piece. I have posted "Like you see" on that file haveFun.hipnc that you can use old-foreach loop in extrude and bevel and than uncheck collision and limits ..Stop loops. or You using some other Tricks "that would bee Nice too Share with Us" .. I just combine 1 1 Share this post Link to post Share on other sites
vinyvince 55 Posted March 11 (edited) roooohh.. ringstation_surface_rnd_vinceC.mp4 Edited March 11 by vinyvince Share this post Link to post Share on other sites
vinyvince 55 Posted March 11 2 hours ago, Librarian said: @vinyvince Try to use area Measure Throughout Similar to Per Piece only with the entire geometry (or Group if specified) treated as a single piece. I have posted "Like you see" on that file haveFun.hipnc that you can use old-foreach loop in extrude and bevel and than uncheck collision and limits ..Stop loops. or You using some other Tricks "that would bee Nice too Share with Us" .. I just combine I like you pig Tesan, probably Elon musk will too 1 Share this post Link to post Share on other sites
Librarian 636 Posted March 11 probably or Thomas Edison same Sh..t Share this post Link to post Share on other sites
Librarian 636 Posted March 12 (edited) @vinyvince this can be used for anything .Have Fun. Bound.rar Edited March 12 by Librarian Share this post Link to post Share on other sites