Popular Post konstantin magnus Posted September 18, 2020 Popular Post Share Posted September 18, 2020 (edited) Currently working on a from-scratch texturing procedure that simulates water running down surfaces. Models shamelessly taken from @animatrix course files. Starting with projected points, the curves run along a volume until they drop onto the next underlying surfaces using nested while loops. The watery effect is achieved in COPs where the texture is drawn based on measuring distance from texture positions to these curves. Alright, enough art, here comes the proof of dripping : Edited September 18, 2020 by konstantin magnus 11 1 Quote Link to comment Share on other sites More sharing options...
animatrix Posted September 19, 2020 Share Posted September 19, 2020 Super cool Konstantin! I love seeing this kind of very unique and original ideas. Would be a great tutorial I can imagine a dozen uses just off top of my head! 1 Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted September 19, 2020 Author Share Posted September 19, 2020 A minimalist generator for creating occlusion textures right in COPs. // INPUT vector pos_tex = set(X, Y, 0.0); vector pos_mesh = uvsample(geo_mesh, 'P', 'uv', pos_tex); vector nml_mesh = uvsample(geo_mesh, 'N', 'uv', pos_tex); float a = radians(angle); // OCCLUSION float occ_sum = 0.0; for(int i = 0; i < samples; i++){ vector2 u = rand(pos_tex * i); vector dir = sample_direction_cone(nml_mesh, a, u); vector pos_ray = pos_mesh + nml_mesh * 1e-3; vector dir_ray = dir * range; vector pos_hit; vector uvw_hit; int prim_hit = intersect(geo_mesh, pos_ray, dir_ray, pos_hit, uvw_hit); occ_sum += prim_hit == -1; } float occ = occ_sum / float(samples); // OUTPUT vector color = vector(occ); assign(R, G, B, color); texture_occlusion.hipnc 1 2 Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted September 20, 2020 Author Share Posted September 20, 2020 A texture generator for image based direct lighting. This example is just using a tonemapped JPG. Though by appending ToneMap Ql the same procedure works with HDRIs, too. // INPUT vector pos_tex = set(X, Y, 0.0); vector pos_mesh = uvsample(geo_mesh, 'P', 'uv', pos_tex); vector nml_mesh = uvsample(geo_mesh, 'N', 'uv', pos_tex); float a = radians(angle); // IMAGE BASED DIRECT LIGHTING vector clr_sum = 0.0; for(int i = 0; i < samples; i++){ vector2 u = rand(pos_tex * i); vector dir = sample_direction_cone(nml_mesh, a, u); vector pos_ray = pos_mesh + nml_mesh * 1e-3; vector dir_ray = dir * range; vector pos_hit; vector uvw_hit; int prim_hit = intersect(geo_sky, pos_ray, dir_ray, pos_hit, uvw_hit); vector clr_hit = primuv(geo_sky, 'Cd', prim_hit, uvw_hit); clr_sum += clr_hit; } vector clr = clr_sum / float(samples); // OUTPUT vector color = vector(clr); assign(R, G, B, color); texture_hdri.hipnc 1 1 Quote Link to comment Share on other sites More sharing options...
vinyvince Posted September 21, 2020 Share Posted September 21, 2020 (edited) On 18/09/2020 at 10:11 PM, konstantin magnus said: ️ On 18/09/2020 at 10:11 PM, konstantin magnus said: Currently working on a from-scratch texturing procedure that simulates water running down surfaces. Models shamelessly taken from @animatrix course files. Starting with projected points, the curves run along a volume until they drop onto the next underlying surfaces using nested while loops. The watery effect is achieved in COPs where the texture is drawn based on measuring distance from texture positions to these curves. Alright, enough art, here comes the proof of dripping : You are not weathering it, you are making art Konstantin! I haven't seen much example as obviously Subtance has more than enough but a very nice example of advanced weathing in Houdini which picked my interest few months ago was from Wiek Luijken, I especially like the rainstreak flow and the realistic procedural rivet placement, something which will make sense to do procedurally in Houdini without too much struggle hopefully. On my list on things to do. Edited September 21, 2020 by vinyvince 1 Quote Link to comment Share on other sites More sharing options...
vinyvince Posted September 21, 2020 Share Posted September 21, 2020 2 Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted October 2, 2020 Author Share Posted October 2, 2020 Point cloud based / smoothed occlusion texture going the 2D voxel field / SOP import route. This time featuring a butter squab ; ) texture_occlusion_VOL.hipnc 2 2 Quote Link to comment Share on other sites More sharing options...
Librarian Posted October 2, 2020 Share Posted October 2, 2020 Thank You for those beautiful Solutions and Tricks Quote Link to comment Share on other sites More sharing options...
Popular Post konstantin magnus Posted October 16, 2020 Author Popular Post Share Posted October 16, 2020 (edited) Here is the VEX version of the streaking texture procedure. It's pretty flexible now: Starting curves from uncovered areas to any angle, jumping over gaps, gradually changing target direction, measuring curve length for any point and of course texture mapping. Model taken from threedscans.com streaks_VEX_2.hipnc Edited October 16, 2020 by konstantin magnus 11 Quote Link to comment Share on other sites More sharing options...
Wout Posted December 1, 2020 Share Posted December 1, 2020 coool Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted March 3, 2021 Author Share Posted March 3, 2021 (edited) A caustics map generator rendered out in Karma using intersect() and refract(). caustics_map.hiplc Edited March 3, 2021 by konstantin magnus 4 1 1 Quote Link to comment Share on other sites More sharing options...
Wout Posted March 3, 2021 Share Posted March 3, 2021 Oooh, pretty ! What's the render time on that ? Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted March 4, 2021 Author Share Posted March 4, 2021 1 hour ago, Wout said: Oooh, pretty ! What's the render time on that ? Thank you. Calculating the emission map takes just a few seconds. The actual render time is not really affected. Quote Link to comment Share on other sites More sharing options...
Wout Posted March 4, 2021 Share Posted March 4, 2021 (edited) Oh really, so you get these beautiful caustics for mere seconds, nice !! I'll have to check out the scene file later Edited March 4, 2021 by Wout Quote Link to comment Share on other sites More sharing options...
PaulEsteves Posted September 17, 2021 Share Posted September 17, 2021 On 03/03/2021 at 10:03 PM, konstantin magnus said: A caustics map generator rendered out in Karma using intersect() and refract(). caustics_map.hiplc Really love this Konstantin! What is the cuastics/piclc file you're using in LOPS to render it? Is that a file you're saving out of Houdini or is that something else? If I open the file and hit render, i don't get the same results. Just trying to figure out why. Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted September 19, 2021 Author Share Posted September 19, 2021 On 17.9.2021 at 1:29 PM, PaulEsteves said: What is the cuastics/piclc file you're using in LOPS to render it? Hey Paul, I had to save out the caustics texture map because Solaris did not update data live from COPs to LOPs. Set the gamma to 2.2 and save the image as a pic-file. After you have saved the image, just update the file path in stage/materiallibrary1/principledshader1 under "emission texture" and set the "tint intensity" to something like 4. 1 Quote Link to comment Share on other sites More sharing options...
vinyvince Posted October 25, 2021 Share Posted October 25, 2021 (edited) On 16/10/2020 at 9:13 PM, konstantin magnus said: Here is the VEX version of the streaking texture procedure. It's pretty flexible now: Starting curves from uncovered areas to any angle, jumping over gaps, gradually changing target direction, measuring curve length for any point and of course texture mapping. Model taken from threedscans.com streaks_VEX_2.hipnc Im surprised the result looks accurate while there are lot's of overlapping UV , do you know guys if there is a way with autouvlayout to pack and avoid cross UDIM vertex? Im trying to establish better link with Substance and Houdini , trying to get the best of both worlds. Basically, if I create and get some asset a look made in substance of a given procedural shader like an edge and scratch procedural wearing material recreat live the mesh dependency map directly in Houdini, without any export, baking in substance, importing back blablabla... When I link that AO and curvature with an external prebake EXR map it's work (after I have to fix a naming error in the Lab tools) but not when I try to "live" connect. Like shown above The image plane doesn't seem to be recognized and taken into consideration in the SBSAR processing... Im totally bloked. Image plane are named correctly, single channel as expected by substance.. Ideally at the end, processing every asset with PDG. I haven't a post from you @konstantin magnus about PDG, are you not using it ? Im joining my hip and test substance file I quickly created.. Maybe it's a limitation of substance archive? It can't only take baked, but I guess if so we should be able to trick it isn'it? Has Anyone done PDG map baking for all element of a scene and don't mind sharing it by chance ? Im joining my hip and test substance file I quickly created.. Maybe it's a limitation of substance archive? It can't only take baked, but I guess if so we should be able to trick it isn'it? Many thanks guys!! testhoudini2.sbsar testhoudini3.sbsar Substance_automation_vince.hip Edited October 25, 2021 by vinyvince Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted October 26, 2021 Author Share Posted October 26, 2021 A simple setup for streaking paint on a texture: paint_streaks.hiplc 1 Quote Link to comment Share on other sites More sharing options...
vinyvince Posted October 27, 2021 Share Posted October 27, 2021 Her's my take. I quickly added few things to your setup, geting more color to our blessed duck. i tried to fade the leaking .I have not found yet how to only fade the streaks not the all thing in case I want this but I like it @konstantin magnus ________________________________________________________________ Vincent Thomas (VFX and Art since 1998) Senior Env and Lighting artist & Houdini generalist & Creative Concepts http://fr.linkedin.com/in/vincentthomas @konstantin magnus Quote Link to comment Share on other sites More sharing options...
vinyvince Posted October 27, 2021 Share Posted October 27, 2021 (edited) Edited October 27, 2021 by vinyvince Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.