I really liked this idea. Simple and fun. I just want to point out that I was able to get a cleaner and cheaper render not resorting to volumes. I keep the mesh and color its points based on their proximity. I do a bit of VEX where I get the neighbouring points for each point, then calculate the average distance to the current point to these neighbours. The color is then given by the inverse of the distance elevated to some power like 2 for example, I then scale the resulting value so it is not too bright. Color interpolation is thus nicely handled by the mesh. Also I keep a little bit of the height to avoid "depth fighting" when rendering and use a transparent fully additive material.
Love your tutorials guys, I start using houdini about two months and you make understanding the program so much easier. I'm not a programmer but I've trying to teach myself python to make some sense of VEX haha
I love this one and can't wait to use it in my future projects. Any follow up on how to make this even better would be greatly appreciated. Thank you so much and take care! Edit: A tutorial about how to make frozen methane bubbles would be cool. It creates really interesting organic patterns.
I am searching for a tutorial that explains caustics so I can implement them in my project, but... this is the closest I can get. My environment is 2D tile-based. I had to develop my own mesh classes and routines, including basic vector functions. Basically, I have to build this from scratch in a language that is barely above BASIC, and I cannot seem to figure it out. Snell's law is giving me one heck of a headache. Any insights? I have a mesh class with verts and triangles, UV coords and normals I wrote myself. I'm passing a vector through the triangles, using the vertex normals in a refraction routine I am sure is faulty. Nothing outputs, and I am at a loss. Lacunarity? You're using FBM? Uhg. I do have FBM implemented in a perlin project I have. I was just using value noise to rough up the surface mesh. I suppose it's not important to the refraction.
Heyhey, I offset the water plane's noise with a small expression: $FF * 0.02 in the mountain node's y offset. I'm also preparing a second tutorial going over some other tips and techniques with this setup :) Cheers, Mo
Write it out as an image sequence using a COPnet. Use SOPImport to import the volume, rename the layer to "C" and use a filerop to save to disk. Cheers, Mo
I am not a user of Houdini, but I think "refracted*= 100.0;" may be useless since usually ray intersection only takes into account the direction of the casted ray. It might be different within Houdini but it would be surprising, please correct me if I'm wrong. Interesting tutorial nonetheless
Heyhey, thank you for the feedback. Houdini's VEX reference explicitly states this: "This function does not expect a normalized direction vector. Instead, it uses the length of the vector as the maximum distance to search." So the vector's length matters in this case. Stumped me too when I first used this function. Cheers, Mo
@@Entagma Oh okay it makes sense in terms of optimisation actually. Thanks for pointing that out ! Your channel will be a source of inspiration for sure :) Have a great day
Dude, why this channel doesn't have 1 million subs already ? Is this the respect society pays for Houdini tutors ?
i think 1 m is all houdini society in all world
@@lvovvictor hahah yeah There is approximately 78.4K houdini artist in the planet so.. We're all in!
I really liked this idea. Simple and fun.
I just want to point out that I was able to get a cleaner and cheaper render not resorting to volumes.
I keep the mesh and color its points based on their proximity.
I do a bit of VEX where I get the neighbouring points for each point, then calculate the average distance to the current point to these neighbours.
The color is then given by the inverse of the distance elevated to some power like 2 for example, I then scale the resulting value so it is not too bright. Color interpolation is thus nicely handled by the mesh. Also I keep a little bit of the height to avoid "depth fighting" when rendering and use a transparent fully additive material.
your five minutes tutorial brought me into the world of houdini!It is so amazing and also easy to understand,just like this ! THANK YOU MASTER!
Great Tutorial. Proof that Houdini needs to develop caustics into their renderer. I won't hold my breath.
Love your tutorials guys, I start using houdini about two months and you make understanding the program so much easier. I'm not a programmer but I've trying to teach myself python to make some sense of VEX haha
I love this one and can't wait to use it in my future projects. Any follow up on how to make this even better would be greatly appreciated. Thank you so much and take care!
Edit: A tutorial about how to make frozen methane bubbles would be cool. It creates really interesting organic patterns.
Haven't looked into frozen methane but will do :) follow up tutorial currently in the making.
Cheers, Mo
Great stuff! This channel is the best!
Smart, I like the thought-process.
Love you guys, these tutorials rock, learning so much.
Hi hi, is there a way to render it as shape polygon?, i wanna try some 2d look for this. XD
Would you use this as a texture on a light or as an alpha on a plane?
How to render this in karma ?
really useful!
I am searching for a tutorial that explains caustics so I can implement them in my project, but... this is the closest I can get. My environment is 2D tile-based. I had to develop my own mesh classes and routines, including basic vector functions.
Basically, I have to build this from scratch in a language that is barely above BASIC, and I cannot seem to figure it out. Snell's law is giving me one heck of a headache.
Any insights? I have a mesh class with verts and triangles, UV coords and normals I wrote myself. I'm passing a vector through the triangles, using the vertex normals in a refraction routine I am sure is faulty.
Nothing outputs, and I am at a loss.
Lacunarity? You're using FBM? Uhg. I do have FBM implemented in a perlin project I have. I was just using value noise to rough up the surface mesh. I suppose it's not important to the refraction.
Great!
Thank you for this tutorial it looks amazing! How did you go about animating the caustic pattern?
Heyhey,
I offset the water plane's noise with a small expression: $FF * 0.02 in the mountain node's y offset. I'm also preparing a second tutorial going over some other tips and techniques with this setup :)
Cheers, Mo
@@Entagma Thank you so much! I loved this
Cheers
God particle tutorial
Please never make Another houdini artist beacouse hard :)
Thanks, great work, but how do you then export this to Cinema4D for octane or redshift and material creation? Thanks
Write it out as an image sequence using a COPnet. Use SOPImport to import the volume, rename the layer to "C" and use a filerop to save to disk. Cheers, Mo
Or just render it in Houdini. ;)
Entagma thank you appreciate the help
Thank you)
No problem 😊
I am not a user of Houdini, but I think "refracted*= 100.0;" may be useless since usually ray intersection only takes into account the direction of the casted ray. It might be different within Houdini but it would be surprising, please correct me if I'm wrong. Interesting tutorial nonetheless
Heyhey,
thank you for the feedback. Houdini's VEX reference explicitly states this:
"This function does not expect a normalized direction vector. Instead, it uses the length of the vector as the maximum distance to search."
So the vector's length matters in this case. Stumped me too when I first used this function.
Cheers, Mo
@@Entagma Oh okay it makes sense in terms of optimisation actually. Thanks for pointing that out ! Your channel will be a source of inspiration for sure :) Have a great day
@@ciphrd7672 yeah- I proved it too by disabling that bit of code (*=100) and then moving the grid plane up further- the result disapears.
Been looking for this but in blender