Geometry Nodes Fields Bubble Dissolve Blender Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello and welcome to another blender tutorial in this video we're going to create something like this i know that this can be achieved with particle systems but this video is all about geometry nodes the fields implementation of geometry nodes to be exact finished blend files of the two animations you just saw plus the one we're gonna create today in this tutorial of course will be available to download from my patreon page so let's jump right into blender and let's get started [Music] okay here i am in blender 3 it is still in alpha at the moment i prepared a little file here to get started this is based on my startup file if you are already a patron first of all thank you and second you already know this file because you can download that from my patreon page so let's do this first of all i think i'm gonna clean up the scene a little bit so i don't need the stage right now and i think i'm just gonna delete all of these things here maybe even that one and that one and you know what i think i'm also gonna delete the one on the inside so we just we're just left with this okay then take my track to and put it down here because we know that we're gonna work with this and we're gonna have the bubbles coming out on top so by the way this entire idea is based on a video that i made here on the channel a while back which was called beam me up and it was very popular at the time that was done with animation notes and it was based on the the faces of the geometry so we kind of took apart an object into its uh faces and then made those faces fly up like beam me up um so i wanted to recreate that but in geometry notes at the moment at least we cannot manipulate faces at all basically or at least i don't know how to i could i couldn't figure it out so instead i thought well if we can't take the faces and animate them how about we just create something else we take um the mesh we sort of dissolve the mesh and create bubbles and make the bubbles like float up right so that's what we're gonna do now so this is our rendered scene i'm gonna take this um editor viewport down here and go to geometry nodes so this is like uh the very latest blender i think this is from two or three days ago i downloaded this and the geometry notes now have a lot of new notes because they're heavily working on this and we're going to create a new note tree so this is still a group in group out but you know uh with the new fields set up we don't have this whole attribute workflow anymore where we have all of those like the same looking nodes with geometry going through it then each node does some sort of function and uh it's very hard to read so i've complained about this in last in in previous videos um so now we have the field system it's much better it's much more like the shader setup and you will see very soon what i'm talking about by the way i have a video here on the channel where i would take a first look at the fields setup in that test implementation and that implementation by the way contains some nodes that are not available anymore they were just in there to have some sort of a like a test environment to to simulate demonstrate what the fields uh implementation will be like for example the extrude note so if you saw that video and you're looking for the extrude note it's not there anymore maybe it'll come back so anyway enough let's do this let's get started so first of all we're gonna have to i i still want to use the geometry of this object for like the base of my dissolve and for the bubbles so i'm gonna take this geometry this is uh the input here on my geometry nodes modifier and i'm gonna place some points on it because we can work with points we can't work with the faces like i said but we can do points and we know that we have a distribute points on faces node in geometry nodes but what that does is it either distributes some amount of points randomly all over or you can use the poisson disk distribution which is like it has a distance all the points so that they're not intersecting but that's not what we want we want to put one point uh where one face is like each face in our um base geometry should now be a point and there is actually a note in here now which is the word mesh two points here we go so let's put that in here and you can see where we used to have faces we now have points so like here it's very even but around here where that object had that bevel of course there's a lot more um geometry there a lot more faces so we get a lot more points and this is actually pretty cool looking when you dissolve it and make bubbles because you get more bubbles are spawning here and it kind of looks it looks cool i think it looks cool so mesh two points very good note to have um and here you can say um vertices edges faces oh by the way i have to set this to faces now we have one point per face uh one point per vertex or edge or uh face corner would also be possible here but this is fine now we have points now our entire original mesh is gone all we have left are points but we'll bring back um the geometry so let's just take care of that whole animation first so i'm gonna look at this from front view i'm gonna add a plane i'm gonna take this plane maybe scale it up a little bit and then rotate it to something like this why am i putting it at an angle well because if we're gonna move this plane from left to right and we're gonna take a geometry nodes and calculate the distance from each point to that plane okay and we're gonna use that distance to then translate the point upwards on the z axis so by tilting this plane a little bit and then moving that from left to right um we're gonna have points closer to the top first and then these points down here they will be closer to this plane at a later point in time so we're kind of dissolving from the top first and then the bottom right which is just just by putting this plane at an angle we already know that this is going to be that right so let's put this plane here that's fine let's go back to our object shader ball i have to click here okay now maybe we should take this and give it a better name let's call it dissolve controller right okay let's go back here we know that we want to animate or move these the points the position of the points and there is a node and it's called set position i think this is also pretty new but i mean everything is pretty new in geometry notes and here we can use our points how many points do we have if you hover over the the output socket here you see we have 8 947 points in this object and here we can set those 8 900 something points to a new position what is the new position well now we have to think from right to left so we have to think backwards basically we know that we need some sort of proximity calculation of each point to that plane first of all let's get the plane in here input object info we can eye drop this guy in so we have our dissolve controller and then there is a node it's called geometry proximity and you have to plug in the target so with this whole new fields implementation there's a lot of like backtracking going on so this node works on its input geometry those are our points and if we want to plug in a new position here that we have to calculate somehow then this node will ask we'll go back in this path here and ask these nodes for that information now let's just put this together so we want to move the the point on the z-axis we know that here we get the distance value and we're going to use that for the z-axis but we have to sort of invert it because when it's further away we don't want it to move and when it's closer then we want it to move so we're going to need some sort of map range node already know that where would that be utilities map range we can plug our distance in here and we're going to do something with it and this result is going to be the z-axis for our position so we have to create a combine a vector because that's a position okay now this is going to be something in on the z axis and the x and the y we're gonna need from our original x and y position of each point all right now they're all squashed up here x and y zero now ignore this offset checkbox just for a second because i have to talk about this whole backtracking thing a little bit more so what do we need we need the x and y position of the point and we only want to change the c where do we get the x and y from well in the whole field setup you will get it from an input position now this looks like the simplest note ever but think about it if i take this position and i separate the x x y z here let's do that x goes in here and the y goes in here and you can see that we have something here that's from this if i just plug the c back in and we have our original object so what actually happens here this node knows that it needs a position for 8947 points and it's going to backtrack here and ask these nodes for 8 900 and positions so even though we're not plugging this in here somehow this node knows or asks these nodes and then this node knows that it has to be the position of this geometry plugged in here so when i talk about it it sounds very complicated but think about it we've been doing this with shader nodes like forever right we don't tell the shader node how many vertices does the the object have or how many pixels should it be rendering when it's rendering it just you plug it in you tell it and use the geometry use whatever and here we're just telling this node basically through these nodes use the position of the point this point that we plugged in here this position is actually from here now how do we add our value here first of all of course we we have to plug our c in here and we're gonna have to add two oops add to this c so we're gonna need a math node that's i think in the utilities where is it utilities math so we're going to add 2 to c our result and that's going to be our new c so what does that look like very interesting very interesting um let me move this you know what i'm just gonna put in a little animation here oh no let's move it okay so this isn't doing much yet why not so we have a distance we know that the distance can be uh from zero so it's right on it to something like a maximum let's plug something in here and then we want to change this around oh also we have to plug in relative here so that we actually get uh changes when we move this controller object uh and then we want if it's really close we want to move it really far let's say 20 and otherwise we don't want to move it at all okay so now this looks like that interesting so here we're far away nothing's happening and when we come closer i think five is what i said then the points start to move up so this looks cool already so now i'm gonna plug in a little keyframing here so here we go on frame one we go i location then at the end of our animation we move this over i don't know how far maybe let's just go here eye location and so now i can simply scrub on the timeline to get my animation place this in the middle here somewhere so this already looks interesting and it's already kind of what we want but it's very uniform we need to randomize this a little bit right it's like too perfect um how do we randomize it well let's add a random number so utilities random value and it says random value one random value right how is this even possible we know we have eight thousand something points but again this node knows that it needs eight thousand something points and we're backtracking here so we're getting eight thousand locations and we're gonna get eight thousand random values out of here which we can just add to our ornament multiply i think we're just gonna multiply it in here so we're going to take this multiply like this and this is going to be that value okay and then we can play with this a little because we don't want it zero if we have c or let me see if we have some very low values in there multiplying by zero those dots will never move we don't want that so we say okay point two and then one that's good so we have see now it looks much more random looks much nicer especially for that if you think about it if you think about bubbles right looks much nicer and that's really that's all there is to that now let's go quickly back to this offset so what does that mean well here we're telling this notion don't use the position of the point but we actually don't need any of these nodes here because really what we need is a combined xyz with a vector of zero zero and the diff the delta c so we don't need this add that doesn't work because i need this value okay and then i switch on offset and i get the same thing because now this node uses the position and just adds this as an offset on top of it so we don't need this but i think it's really cool to have this in here because it shows off the fact that with this fields implementation this node is gonna get 8400 something positions from this node and we're gonna use this i think again a little later but for right now i'm just gonna leave this in here um but we don't need them because we have that offset checkbox very handy checkbox okay so now this is already working but if i split my screen here go to camera view and go to rendered view like this then we notice it is completely empty why because those points that we're creating here points are they don't have any visual representation they don't have any mesh no light can hit them bounce off of them so we don't see anything now let's make sure that we see something first of all we're going to create a bubble so mesh ecosphere yeah that looks good it's very simple icosphere this is going to be our bubble and when we go back to this guy we can go instances instance on points so now here we have the positions of those points those are our points and we're going to plug that into our output and what do we want to instance uh we're going to need another object input input object this which is supposed to be our pop bubble geometry instance is here and now we have a whole lot of ecospheres of course they're way too big so one easy way to solve that is to just go into edit mode over here and make it smaller so now we have this cool now i can actually click on it because it's something to click on and now we can play with the scale here and what we also want we want to dissolve effect so we want the original geometry and then we want to dissolve we have the bubbles here but the original geometry down here so we're gonna have to do that let me just scale this down even smaller so we just have some points if we want this rendered view over here we might as well right now take our bubble and give it a material so we can see something maybe the material new material bubble [Music] shader bubble no let's replace this with a glass bsdf pang like that so now we have little glass bubbles they're actually pretty small maybe we should make them smaller bigger but i'm gonna take the ior down to 1.2 the roughness maybe a little bit of roughness okay now let's go back here let's go back to geometry nodes this is a bit small okay here we have bubbles if we switch this off cool how about we plug our stage back in in in the background so we can actually see something there okay now we have a whole bunch of bubbles let's take care of that original geometry situation thing um so we know that this is our original geometry of the of that material preview orb with the blender logo in it and these are our bubbles but we don't want bubbles down here so how do we do that um well first of all we have to sort of we have to um remove parts of our original geometry and keep what we don't want removed and there is a node for that it is the geometry separate geometry node so we can plug our original geometry in here let's do this it looks neat okay and here we can plug in a selection which is just a like true or false which um part of the geometry should be included included in the selection and this would be the stuff that's not included in this selection we're also going to talk about faces again here so let's switch that to face now what do we want included um we have this value down here we know that this value is greater than zero if our bubble is moving as long as the bubble is standing still this value is zero right so we're adding with the offset here we're adding zero so it's very easy we just need a utilities math node and go okay this is the value if this is greater than zero then this is our selection whoopsie wow this is getting very small okay so now you if we look at this as an output now we get this as a selection and when we move we get more but that's not what we want we want this part okay so that problem is solved we're already dissolving our geometry it's a bit messy but that's okay um okay so this is our selection and also if we look at this for a second we have bubbles everywhere we only want the bubbles where the geometry is dissolved right so we only want those bubbles we don't want these so how do we do that well we already have our awesome selection thing here and look at this here we we're the instance on points where we're instancing the ecosphere onto the point let's just instant on those points right it's very easy so here we're cutting away here we're instancing points and then how do we put this all together because we can either look at that part of the geometry or those points but of course there's a geometry join and we can join those two together and then we have the original geometry and we have the bubbles and if i move my playhead let's start over here maybe it looks cool so we have this and then here we have the bubbles is it me or are the lights why is there like almost no light in this scene let me see fill light and where are my lights you can you be stronger i'm gonna give this guy a different material i'm gonna create a new material i don't know what to call it but let me just switch over to the shader here real quick let's make this a glass tool but here i want like point four roughness oh and you can also see that this hold on a second if i hide this you can see that this has geometry inside those bubbles do we want those yeah now let's get rid of them delete vertices alt alt h to bring back the other stuff and also these here they could really use some loop cuts let's put that in here and now we have a very nice object to destroy and dissolve into bubbles so this is rather rough here so we can actually see something and then these bubbles they're very shiny i still don't quite understand why my lights aren't working in this scene a few minutes later okay i couldn't figure it out but i just closed that one viewport here and opened a new rendered viewport and now we have lights in there interesting anyway well it's still alpha so now we have lights so now one one other thing we want those bubbles maybe i should switch this over because with the rendered view i only have one gpu at the moment then my recording starts lagging a little but one thing we want to do here is the bubbles should get smaller when they rise up might not be physically correct but it looks cool so let's do that let's go back to our uh geometry nodes here and then let's make the bubbles smaller so these uh this node here instances um the icospheres onto those points that we picked here on that selection this is cool okay so we want the position of the point and we want the position not the original position that we used here we want the position of the point of this these points so again think about backtracking if i plug something in here we're gonna get the position hold on just duplicate this guy if i get this position in there then that gives me the position of the already moved points so we do that vector separate take that guy we're gonna do something with the c what can we do well we're gonna need two math notes usually when you do stuff like this you need a an add or a subtract and a multiply multiply so this goes in here and the c goes in here because we're only interested in the c location and then this can be our scale so what do we get small okay let's subtract a certain value and when you look at it from here you can see we're moving sort of this range here this is cool so we want this to be up here like out of frame here yeah this looks good and then multiply we're gonna have to take the size down a bit so we get a nice size here where the where the bubbles are born and then we get small bubbles up here cool well this looks nice we have random we have a shrinking size this is nice um one more thing though is when we look at this guy where we are kind of ripping apart some of its geometry here it is like infinitely thin right we want to add a solidifier to this so let me just save this before i add a solidifier modifier um so if i add a solidifier here of course this is gonna work we can also go here and enable auto smooth and then on the solidify we can make it thicker but but if i select this geometry nodes we're solidifying this geometry so we're solidifying the bubbles and this part which is not what we want the bubbles don't need solidification now luckily the solidify modifier or almost all modifiers in blender has this vertex group input where you can say only solidify a certain vertex group so wouldn't it be awesome if we could use our same thing that we used here for the selection where do we want geometry and where do we want bubbles to only tell this solidify modifier only solidify this geometry and yes this is possible so let's figure out how to do this first of all we can plug stuff into these output sockets here and then they appear out here in the modifier stack and this is how we get attributes out of our geometry node into the rest of blender so we can even use those attributes in shader nodes or we can create or fill a vertex group first of all let's create a vertex group right so let's create a vertex group let's call it i don't know solidify let's just call it solid so this is going to be the untouched geometry this part okay and how do we fill this now well in here we're going to have to say okay this geometry here this is actually what we want to solidify so we have to plug that out here somehow but in order to get this into an attribute we have to use a special node and that is the capture attribute node so we plug that in here and then we to float that's okay and we plug the output out here and then you can see out here we have this attribute so this let's call this untouched untouched geo like this is our untouched geometry and we're gonna fill this attribute with a value of one right vertex groups have like a weight from zero to one and this part of the geometry this part down here should all be one so it is part of the vertex group we're getting this out here and then we have it out here and uh here now we plug that into solid which is the same name as this so you have to use the same name so we're plugging that into there and we can use that here and now we're only solidifying that part so if i increase this now i'm making this thicker but the bubbles have no thickness and they don't need thickness so that's that this is also very interesting now let's check out the materials quick okay so our object has um what material does it have it's called material this is that rough glass rough glass okay but our bubbles now also have that rough glass material because we're generating these bubbles using geometry nodes so basically they're losing their original material which would have been the bubble material so now how do we assign a material well we only want the bubbles which is this part here these pebbles bubbles should have a new material so shift a material set material on the bubbles the bubble material and then that's that cool so this guy is now just rough glass very rough obviously a bit much rough actually okay and then the bubbles are clear and then really all i did was i gave my uh stage background a different material oh also wait a second if we move over here we're gonna get this plane into our rendered view right we don't want to see this plane so let's select the plane go here and just make it invisible in the render so it's still there in the viewport it might even be in the way in the viewport so we could go viewport display and just set it to wire so that it looks like this here and here it's completely invisible awesome now what did i want to do oh background material because this still looks like a uh cutting board material let's make it look somewhat like underwater so let's go to the shader this is that cutting board we don't need any of this let's do something blue and a lighter blue like that and then for the mix factor here between blue and lighter blue we're just going to take a voronoi texture plug that in there and [Music] boom wait a second scale how can we do this how can we make this look like underwater yeah this looks this already looks like underwater i know that my recording is always lagging when uh the gpu is rendering but you can see voronoi texture is like perfect for underwater mixing dark blue with light blue gives us this effect you can even switch this to 4d that's what i did for the render and then animate this w value and give it a quick render so we can see what we've done in this tutorial i let me stop it right there because there's one thing that i don't like and this is these super checked edges here so how do we get rid of those well we have our geometry nodes then we have to solidify and after that we just plug a smooth in here we only want to smooth that same vertex group to solidify and then we can just increase this switch that off um you see and then we can smooth out these edges there they don't get too smooth but it helps a little so that we don't get like this stuff cool now one last thing where is this plane uh it's just going it's like hold on it's like this and it's going from left to right but it might look even better and i think i also did that in the in the render that you saw if we just rotate this guy you can see we're now sort of oh can we so now this in the back now we're gonna rotate him the other way we're gonna rotate him like this so we can actually see into our sphere here while he's moving over cool so we're dissolving the front to the back and because it's tilted this way we're dissolving top to bottom and then all we need to do is render this out as a little animation that's it for this tutorial let's just take a quick look at the original renders i made using this exact same technique you can find the finished blend files of what you're seeing on screen right now and of course the one we made in this tutorial on my patreon page at patreon.com let me know in the comment section down below what do you think about the new geometry notes the new fields implementation you like it you understand it what other tutorials should i make on this topic um there are new nodes being added all the time so they're really working on this very hard and all we can see right here now and all the nodes that we already have and we haven't even touched like the curve nodes and all that in text modes um they have been implemented in just a few weeks now basically so i'm very curious to see what's coming in the next few days and weeks and months if you have any cool ideas for geometry notes tutorial let me know in the comments down below thanks for watching crispy for more awesome content like [Music] you
Info
Channel: Chris P
Views: 23,338
Rating: undefined out of 5
Keywords: cg, 3d, blender, blender3d, b3d, tutorial, how-to, training, learn, eevee, cycles, bubbles, bubble, dissolve, geometry, nodes, geonodes, modifier, geometrynodes, attributes
Id: DSwEuHend2I
Channel Id: undefined
Length: 38min 19sec (2299 seconds)
Published: Wed Oct 20 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.