I love how you explained the basic principle behind how the nodes work and how it computes. Made me understand it thoroughly for future use. Great video! Thank you!
Thank you. Just some side notes on what I found when following this, the Noise Texture nodes and the Geometry Proximity node already operate on the Position domain by default without adding a Position node, but it maybe helps with readability to add one. Also the Compare Node has a dot product vector comparison mode
Great video and explanation.. Thanks a lot! Im curious. Could you perhaps explain why there has to be this extra step of calculating the mesh inside the volume. And why a simple mesh to volume does not work or why we cant run the noise into the density of the volume to mesh node? Thanks 🙏🏻
Good questions. The mesh to volume node can’t be used because it doesn’t accept a Field value as input for its density. You need this because the ability for the noise texture to drive spatial variations in density is captured as a Field.
3:57-4:01, we are not doing anything with the R vector. (The R vector is given by the output of the vector subtract operation in the R vector frame). What is happening here is, I am just using the Geometry Proximity (which I use to compute the R vector) to also find the nearest normal vector.
Very nice video, thank you for taking the time to make it! I have one suggestion for this and maybe future projects where you have complex node geometry setups. Could you provide the whole setup at the end of the video as a snap shot with high quality, so we can easily compare? I spent several hours investigating because I missed the connection from Geometry Proximity and thought you took the Distance instead of twice the Position for the Subtract and Sample Nearest vector calculations. It was just glanced over quiet fast and in the video the "noodle" connections are not super clear. Thanks and keep up the nice tutorials sir!
@@ryomizutagraphics Thanks for the quick response! I have applied scale to my object, it doesn't make a difference. The particles are still narrow. When I scale the width of my coin object the particles become 'equal' in dimensions (sphere/cube), which is what I want! So how could I change the particles without changing the shape of the coin? Can I apply a certrain node for this?
Ok, in which case, add a Position node, connect it to a Vector Math node, and connect that into the input Vector socket of whatever texture you’re using to create the porosity. Set the Vector Math to multiply and set the multiply values so as to stretch/compress your position coordinates as needed to fix your scaling
@@ryomizutagraphics This does affect the width of the particles in a certain way, but more like a 'stretch'. It extrudes them kinda, rather than turning the particles into a sphere/cube as it does with object scaling. Could this have to do with the Volume Cube? Like I said before when I scale the width of my coin object the particles become spherical. And when I scale them even further beyond that they stretch out. It looks like the sweet spot for the particles is when my object has a 'cube like' dimension.
Might be faster if I check your blend file. Do you want to just email me what you have + a sketch of what exactly you want to get? My email is ryomizutagraphics@gmail.com
Super tutorial. Very strangely, this works for any mesh I try *except* cubes... for some reason the default cube gives strange results but Suzanne, icospheres, and other weird shapes all work fine.
@@ryomizutagraphics can youtube comments include screenshots? :) When I rotate the cube in edit mode, my porous volume becomes some kind of truncated parallelogram-prism (as opposed to just remaining as a cube). I assumed that I made a mistake in my node setup, but then when the same nodes gave perfect results for Suzanne and other objects I couldn't explain what was happening. I haven't investigated in depth, but I'd be curious if anyone else runs into the same issue. (maybe there's some edge case when the r-vector and normal vector are identical or something like that).
@@ryomizutagraphics I just played around with this a bit more and realized the problem occurs when there the density of faces is small. So, I get strange results for a cube, but if I subdivide the surface of the cube several times (and sometimes I need to slightly bevel the edges too) then everything looks right. So, not 100% sure what is going on but I suspect something with the way surface normals are calculated.
Yep, I agree - I’ve also found that this doesn’t work well for cylinders. Something about faces that are orthogonal to each other seems to complicate something…
Thanks! This is great. Would there be any issue just creating the porous volume as before (as a cube) and then applying a Boolean "AND" after with the target mesh?
If you want to apply the Boolean operation after the volume cube, you’d need the operation to apply on the Volume Cube output (ie geometry), rather than a density field input. For this, you can’t use Boolean Math AND. Instead, you’d need to convert Volume to Mesh and then use a Mesh Boolean. But this is somewhat heavier to run
I love how you explained the basic principle behind how the nodes work and how it computes. Made me understand it thoroughly for future use. Great video! Thank you!
Your geometry node tutorials are always interesting thanks for the nice video
My pleasure!
thank you!
Thanks, the explanation on how to calculate if the point is inside or outside was very helpful.
Glad it was helpful!
Thank you. Just some side notes on what I found when following this, the Noise Texture nodes and the Geometry Proximity node already operate on the Position domain by default without adding a Position node, but it maybe helps with readability to add one. Also the Compare Node has a dot product vector comparison mode
I did not realise your point about the Compare Node's feature - neat! Thanks for letting me know
Great video and explanation.. Thanks a lot! Im curious. Could you perhaps explain why there has to be this extra step of calculating the mesh inside the volume. And why a simple mesh to volume does not work or why we cant run the noise into the density of the volume to mesh node? Thanks 🙏🏻
Good questions. The mesh to volume node can’t be used because it doesn’t accept a Field value as input for its density. You need this because the ability for the noise texture to drive spatial variations in density is captured as a Field.
HI. Thank you for your video. But I can't understand 3:57 - 4:01. How to connect the R vector?
3:57-4:01, we are not doing anything with the R vector. (The R vector is given by the output of the vector subtract operation in the R vector frame). What is happening here is, I am just using the Geometry Proximity (which I use to compute the R vector) to also find the nearest normal vector.
Thanks a lot 👍
excellent explanation!! Thanks!
please explain how to change the colour of the material after making it porous
Great video with clear and concise explanations. ❤❤ ❤ thank you for sharing your knowledge
Very nice video, thank you for taking the time to make it!
I have one suggestion for this and maybe future projects where you have complex node geometry setups. Could you provide the whole setup at the end of the video as a snap shot with high quality, so we can easily compare?
I spent several hours investigating because I missed the connection from Geometry Proximity and thought you took the Distance instead of twice the Position for the Subtract and Sample Nearest vector calculations. It was just glanced over quiet fast and in the video the "noodle" connections are not super clear. Thanks and keep up the nice tutorials sir!
Its a good point - thanks for the suggestion!
very cool, thank you brother
What node is in compare is it math?
Great tutorial! I'm applying this on a coin shaped object, but the particles are very narrow. How can I change the width of the particles?
Sounds like you might have forgotten to apply scale to your coin
@@ryomizutagraphics Thanks for the quick response! I have applied scale to my object, it doesn't make a difference. The particles are still narrow. When I scale the width of my coin object the particles become 'equal' in dimensions (sphere/cube), which is what I want! So how could I change the particles without changing the shape of the coin? Can I apply a certrain node for this?
Ok, in which case, add a Position node, connect it to a Vector Math node, and connect that into the input Vector socket of whatever texture you’re using to create the porosity. Set the Vector Math to multiply and set the multiply values so as to stretch/compress your position coordinates as needed to fix your scaling
@@ryomizutagraphics This does affect the width of the particles in a certain way, but more like a 'stretch'. It extrudes them kinda, rather than turning the particles into a sphere/cube as it does with object scaling.
Could this have to do with the Volume Cube? Like I said before when I scale the width of my coin object the particles become spherical. And when I scale them even further beyond that they stretch out. It looks like the sweet spot for the particles is when my object has a 'cube like' dimension.
Might be faster if I check your blend file. Do you want to just email me what you have + a sketch of what exactly you want to get? My email is ryomizutagraphics@gmail.com
Super tutorial. Very strangely, this works for any mesh I try *except* cubes... for some reason the default cube gives strange results but Suzanne, icospheres, and other weird shapes all work fine.
That’s, odd…when you say it doesn’t work for cubes, how so?
@@ryomizutagraphics can youtube comments include screenshots? :) When I rotate the cube in edit mode, my porous volume becomes some kind of truncated parallelogram-prism (as opposed to just remaining as a cube). I assumed that I made a mistake in my node setup, but then when the same nodes gave perfect results for Suzanne and other objects I couldn't explain what was happening. I haven't investigated in depth, but I'd be curious if anyone else runs into the same issue. (maybe there's some edge case when the r-vector and normal vector are identical or something like that).
@@ryomizutagraphics I just played around with this a bit more and realized the problem occurs when there the density of faces is small. So, I get strange results for a cube, but if I subdivide the surface of the cube several times (and sometimes I need to slightly bevel the edges too) then everything looks right. So, not 100% sure what is going on but I suspect something with the way surface normals are calculated.
Yep, I agree - I’ve also found that this doesn’t work well for cylinders. Something about faces that are orthogonal to each other seems to complicate something…
You are a king, your country thanks you
Thanks! This is great. Would there be any issue just creating the porous volume as before (as a cube) and then applying a Boolean "AND" after with the target mesh?
If you want to apply the Boolean operation after the volume cube, you’d need the operation to apply on the Volume Cube output (ie geometry), rather than a density field input. For this, you can’t use Boolean Math AND. Instead, you’d need to convert Volume to Mesh and then use a Mesh Boolean. But this is somewhat heavier to run
Tanks you so much for this
No problem 😊
works really wonky, i have to change seemingly random things to make it work
Oh dear! What geometry are you using?