Blender 4.1 Flash Lightning Simulation!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right we should now be live hello everyone and welcome to today's live stream where I'll be going how over how I made this lightning effect with a few important geometry node updates but yes uh one thing that I should know is there is a very important and possibly very annoying change coming to Geometry nodes this week and that is that the rotate Oiler node is being depreciated it is currently removed from search so now if I try to look up uh rotate Oiler we will see that nothing shows up but there is rotate rotation which is the next version of it it's rotate Oilers replacement so here we can see there's Global local rotation and rotation 2 this will work with querian or Oilers what whichever one the rotation socket does both which is good but this lacks the AIS angle rotation method that the rotate Oiler node had so you would have to use axis angle to rotation in order to compensate for that so once again one node is split into two technically with more functionality but it will be very annoying because so many like the tutorials from since geometry noes were first created are now outdated which is a little annoying but anyway I just wanted to let you all know about that because because if you don't read the change log you won't know and you'll be very annoyed but anyway now that that's out of the way the lightning so this effect I I've made quite a few versions of geometry nodes lightning it was one of my first geometry nodes like proper effects and it has helped me out quite a bit but with this one it's the first that's just simulated the one that uses simulation nodes and since um simulation notes are now in a good State they finally got fixed in multiple ways they no longer break when you control Z materials are fixed and so on uh I feel free to like do a lot more with Geo nodes so in 3.6 there was the material bug and the cash bug those have been fixed and then in 4.0 and 4.1 I forget if it was in 4.1 only but there was the control Z equals cash just gets wiped but those have all been fixed so now simulation nodes are good and fully usable which is very nice so in this one uh the lightning bolts are now simulated which means that if you're moving a mesh they won't jump around this does have the slight side effect that the bolts once they spawn in will not follow the mesh which that makes sense like they spawn in and then the noise affects it it's not quite being dragged along because how exactly would lightning be dragged Along by a mesh that's something that I could implement but would be a little bit weird but yeah that's that so with the lightning let's start with the several parts of the F the first part of this effect so here is the lightning setup you may be wondering oh no this is complicated this is the most complicated part of the effect everything else is fairly simple given that you have my uh uh particle simulation system which is up for free on gum road so let's take a look at this part let's see here we can see that a curved line here let's go and hide everything else is being spawned in every single frame now I have this little setup right here which can make it so that it'll spawn in every other frame or however many frames I want but the goal is to have a curved line spawn in however many times we want that is our lightning strike and then then after that so all this is just spawning in a curve line and then setting the positions to be snapped to the object uh with a random kind of start position and then we store the hit normal because that'll be important for making the arc later on I also offset the entire thing by the hit normal by a little bit so that the particles don't clip through the floor just a little thing that makes it a little more stable I give each one a random value uh just giving each spline a random value for every single frame simple enough I also store the length but I haven't used it yet it's just for experimentation at the moment all right so now that we have that let's take a look at the simulation output so here is the magic behind the effect we can see that these splines are now being deformed by noise and it looks pretty good so now let's go over what this does so let's start with the age this just means hey every single frame one value gets added to this age value pretty standard stuff and then actually why do I have the delete geometry before that probably doesn't matter all too much uh but if the age gets greater than a certain value that we decide it gets deleted now if I wanted to make this a full-fledged effect I would also store a lifetime attribute right over here for each uh curve or spline whatever you want to call it and then I would have that be referenced there but that would would make the not tree bigger and I don't really want to do that just yet but for the longevity of the effect I would recommend doing it because it makes it a lot better and more usable for potential clients okay so here is the actual noise offset this is what makes it look like lightning so here we can see that we have uh a 3D noise texture that's offset by the random value pretty standard stuff it's it's not normalized and then we scale it by a bit then we also offset it by the hit normal and then we make that uh affected by the spline parameter factor and we give it an arc if you're wondering why this is low instead of all the way to the top that's because it just looks a bit better and then I just compensate with this not the best reasoning for it but it's good enough so and then after that I turn down the uh the noise displacement and the arc and all that over the age of the effect so if it's at an age of zero it moves a lot and then as we can see as it gets towards the end of its life it slows down you may want this you might not I just found that it looks the best in my scenario as we can see it not too much changes but I just found that it looks 1% better and if there's something with my effects it's that once it's 1% better I cannot go back okay now here's another very important part so we we mesh the curve nothing special here uh if I were to use this in production I would do the crisscross uh plane methods so that I could put an actual texture on this but at the moment it is just planes with a lot of well not subdivisions I use the resample curve to well give them a th000 vertices so that they look like they're stretching even after the noise displacement so yeah there's that I also store the gradient just in case you want that in the Shader editor but there's also another part of this which is I'm not sure if you can see this I think you can but it is the curves to points so at the end of these splines here let's go here uh there will be these points and I give them the is hit attributes and I only keep the end points as we can see here so those are separated from the main curve as we can see here there's a ton of points I only separate the ones at the ends and have the is hit value and the reason I give them the is hit value is so that my particle system can see that is hit value and then spawn child particles off of that so let's go and look at the output we can see that that's happening another little caveat if this was used in production I would give the points a scale of zero a radius of zero my bad so that um if you were using Cycles it wouldn't render I'm using Eevee at the moment and well when Eevee next if it comes around with all the two years of delays uh Point clouds would be rendered then as well so it would be good to give it a radius of zero so that it cannot appear but needs to be a point Cloud so that the other systems will not look at the actual mesh it'll just look look at the points different data types well different geometry types I guess but there's that and then we can look at the particle systems so let's look at the lightning spark Sim as we can see that's a little bit simpler just because I made a system for it geometry noes famously is the kind of do-it-yourself kind of thing we have very few uh high level nodes most of them are Legacy stuff from when geometry nodes was only supposed to be an instancing thing for one the blender open movie projects and then it changed to be a lot more General all the nodes were very Baseline very building block style which is good for creators like me because I can now make these kinds of nodes but it means that you know if you want a particle system it won't come default in blender you need to go and download it from for uh from someone who actually made it which when it comes to the new hair system which uses geometry noes as well uh the blender devs have said yeah we're not going to be making a hair simulation system anytime soon but people in the community can which is why I've been attempting to create a robust system for hair simulation but it'll be a while because uh there there's still a few things missing and I need to figure out how to get the local rotations to have physics and stuff like that so that you can get twists working but that's a story for another time when I do have time so here uh I just spawn in the child particles from the separated Point cloud from the lightning I give it you know I make 10 child particles with a lifetime of 300 and we spawn them in on hit which uses the isit attributes just something in my particle system Eco uh particle systems ecosystem that works out pretty well and then for the velocity I just set the velocity to be the hit normal which is from the lightning then I give it a random sphere velocity this could probably be simplified but it just works so we do that and then we feed it into the actual particle simulation which in this one I really love the drop downs it makes everything look so simple if you don't need to take a look at it so here with the new particles there's just a child particle input so I just put it in there I wish we had sub panels to make this even simpler but it is what it is and then for the movement it's just this this node setup pretty simple Collision is enabled with the Collision being the collider collection delete on hit is enabled and I I really wish we had nested sub panel so that I wouldn't need these kinds of uh spacers that was a workaround from the old days no custom attributes are needed for for this version and then I just instance the spark particle on there uh scale is like that and then I have the Velocity effect the orientation and scale so the perks of having a custom particle system I think it's pretty good and then there is the spark hit simulation it's pretty similar to the other one I just have these particles Spawn from the previous particles that we just took a look at and then the velocity is just this and then as we can see pretty much the same setup there but I like how three nodes and then some you know support nodes shall we say uh make it all work pretty well and those particles are just when the main ones fall they create uh you know the kind of I was referencing what was it the steel wool kind of effect where you uh make steel wool do you like you no you don't you don't light down on fire you like attach a battery to it and then it glows and then lots of particles fall off of it but when those hit they turn into smaller particles and Scatter that's what I'm doing here so that works out pretty well so yeah um that is the effect so for today's project I want to make a character that's running and make the lightning follow it uh correctly oh and also I should probably uh talk about the elf in the room I meant to mention this a lot earlier but uh this calibration scene I just one day I was like you know what I'm just going to try the classic you know put the Shader spheres in there with the color calibration thing and with the actual human mesh and let's see how it goes but on the flip side I realized which I kind of knew this like subconsciously but just seeing it was very weird you forget get just how massive the blender Primitives are like the default cube is not a Minecraft Cube size it's twice its scale so if you were to go and have a default Cube cube in your living room it would be taller than you which my sense of scale gets very warped by that because I assume because I play Minecraft that the cube is this size which is like oh okay that makes sense but no it is significantly larger and yeah oops didn't mean to do that but yeah for this color palette thing I don't know if it's actually useful apparently it is for like it's for V effect calibration so for stuff like lightning it would be useful but from what I've seen online it's been a little overdone so it could be useful but it feels a little bit like oh I'm trying too hard to be a you know to make it look professional shall we say but it works it has a function and you can see the hdri that I'm using in here which is very cool it's a very scale down version of one because I wanted it to be light enough just in case I was ever going to make this a gumroad product which I should say with this linning when 4.1 comes out I might make it a product we'll see which by the way 4.1 is in beta no new features uh just bug fixes which is really good because uh 4.0 was a little iffy in that regard but yeah um I think I went over all the new nodes in 4.1 last week which I think we have like four or five if we don't count the rotate Oiler replacement cuz it's the same thing just querian compatible um yeah so uh I'm going to import a mixo animation to make the lightning spawn on and then yeah let's get that going so please bear with me for one second while I go and import that animation I got a few so I need to go and uh see which ones so import fbx yeah see let's do fast run okay this should work pretty well okay so we should now see that the animation is in here we're already at 30 frames per second which is good I guess if I wanted to make this even more standard I would set to 24 frames per second because that's what movies and films do but it should be fine for now so I'm going to first order of operations is I'm going to join the two meshes together this will H actually you know the joints we don't really need to see at the moment the main thing is I want the Armature to be going that way so that we can actually see what's going on then I'll need to take where is the origin bone for this see I will read the chat in just a second yeah where is let's normalize this where is the source ah okay there is the source so this one we want to be modifiers Cycles repeat with offset repeat with offset pretty good pretty good pretty nice let's go and lock this one so that when we copy everything let's switch this to the dope sheet and let's just go and copy it and put it like that so we should see yay it's now copied now usually you would want to use the nla editor but since the root bone is like that I'm just like eh it's fine now does this run look yeah no it should be fine uh okay so I could move it back by a little bit I'm just going to add one more part to the Run should be good okay and I could go and just clean up all of the unused stuff but H should be fine graph editor let's go and move the this part down by a little bit just hide everything else I could just move the yeah no let's move the actual Armature object there we go I don't know why but the Run seems to nope it oh wait I knew something was wrong okay looks like I need to go and fix that part one second everyone man you are killing it lately big up it's it's been good things have been going very well I've been working on a lot of cool effects quite a few that I cannot show due to uh reasons but one day you'll see it and it will be extremely cool I don't know why that foot sliding is happening like in one part the foot sliding is happening and then another yeah that part's fine did I just misplace that by a bit yeah I might have H oh well that's not the important part okay so now let's see what happens if I put this into the uh colliders collection let's take a look oh no oh no oh no oh no that is laggy that is not good but maybe I can fix it h so actually let's move that out of there cuz let's redo the lining setup because the goal is to make it so that it'll actually follow the character something that is missing in the base effect so how would we do that well to tie one part of each spline to a part of this mesh we would have to H Let's see we would have to sample the index so I'll do this per face no per point that would be easier we need to go and get a position of one of the points randomly so I would use the domain size Point count to get the amount of indices in there we can put that in there so now yeah that should make it so that I can pin one part of the spline yeah no that that'll work so let's give this just a little test to see if it'll function now this will just spawn it in in that state but it won't fall along in point selection let's set it to be just that end so that'll be like that okay okay we can see that is spawning on parts of that but the seed is not changing so I would make that perfect per frame yep it is working but as we can see the lightning is not following it's also oh right yeah that that makes sense that it's still trying to trace over there okay so the goal is that we need the lining to also follow along rather than just do that so I need to think about how to do that well and not just make it super duper gimmicky H well I could go and store okay yeah let's do that I need to store this random index value the kind of parent index value on the spline when it spawned in and then I need to make it so that in the simulation it'll follow along with a bit of an arc so that it won't look like just one point is being trailed along so let's um let's try it out let's try it out store named attributes uh let's store this one and this will be on the spline domain actually no wait that's the wrong one we need it on the actual spline so curve line this feels super janky like I would need to clean this up I apologize if this is confusing it is I would need to redo a good portion of this to make it better and actually I could do that now but that would be a little bit confusing don't you think yeah it would I just don't like how much spaghetti is being thrown around at this time okay let's try to simplify this just a little bit so we need the hit normal there but we also need that as well oh but that means I would have to get the hit normal live okay so turning this into more of a live effect will be a bit of a pain in the butt but we'll um H what the heck we can do it we can do it so let's just chop all that out let's try to make this as simple as POS possible so this will be uh parent ID so now that that's stored we can now do this and it should be accurate so named attribute parent ID wait let's let that run wait why is that not there so let's make this integer okay so now that that's there we should see there we go that is working oh that looks so cool that is working but also why is why are they spawning oh no wait yeah I know that that that makes sense so we need these ones to follow along even after the running is happening which is good because we already have that index stored so let's go and put that here so this will be attach index or parent index so whenever this is referenced it will work as it should so I would need this is becoming very large a big node setup which is not good I'm going to delete the stuff that is not necessary to keep everything nice and organized so I'm going to put another uh set position right before the offset just to make it a little more readable and this will attach part of the spline to the parent index oh this is going to be fun so let's put a mix in here set it to be vector and we want to mix from the current position to the sampled position here so if we do this and then just plug it in right here and then make this the spline parameter that'll need fine tuning at the moment okay so that seems to be the wrong input so I need to here let's just flip these two around let's make it so that the end has that affecting it so now we should see yay it's now following which might look a little bit weird but it should be it should be [Music] fine it's following and that is the important part I could also go and change the power to make it look a little bit better so let's go and do this at the power to be like five there we go okay that's making it look a bit better it should make the fall off look just a little less stretched potentially but we'll see okay and now I need to make it so that since the first set position happens I need to make it so that the other part of the spline will be a random part on the original collection so to do that I would just need this to be like this let's set that to be that and that put that right there and where oh shoot where did I put ah there it is so I would need this to be the geometry proximity and I would have that that would have to be a random position by time yada yada sorry if this is not the most understandable thing on the planet uh it's just H wait why is that oh it's still referencing the low poly human I need to bring that out of there okay so now we can see it is actually hitting where it should but I need to fix one other thing and that is that the sample position does not have the position input there we go so now we should see that whenever a new one spawn oh right because that one does that okay so if we do this then it should look like there we go it's following along quite a bit better yeah there we go so I'm technically setting the position for everything to be that and then I'm just offsetting the second part so if we look at this it should be imperceptible because both parts of the spline are being put at the same place but then over here we can see that oh it's not even highlighted here we can see that this is happening so all that just for a spamed curve line which works as well as it should so we have that and there's still no hit nor normal because that kind of I could store the hit normal now and it would work the same just because the only part that's moving is the part that's being dragged Along by The Source mesh H so yeah we could still do that I will need to organize this so if you're kind of lost that is perfectly fine I am not making this easy for you so now if we do this we should see that yes that is working but the hit normal on this part isn't because technically the Collision collection does not include the surface which it should even though it will make it a bit more laggy as we can see H geometry nodes never fast enough which is very funny considering that this whole effect is oh wait a second no we can't have that because is we can see that this part is being attached to that as well so I could make it so that H yeah know that needs to be outside of it which is unfortunate so I would have to make it so that the sample normal includes both which actually that that's not too bad just need to use a join geometry node right over here here and we just join these two together put it into there and then boom should be good it still looks a little bit funky we can see that let's just isolate the lightning and hide everything else so here we can see that that's looking like that okay okay it's mostly working so let's clean it up by a bit so let's go and do this delete that frame put it all in here collapse that keep that like that okay good so that's one part that is cleaned up let's go and put this right here curve line let's just do um lightning line okay oh and I spelled line wrong how did I do that okay let's put this in to a frame and then label it uh attached surface and I spelled that wrong as well okay so that makes H attach index see one second everyone all right so that should work but I could go and just make it so that the sampled position is that yeah I could just optimize this by bet okay let's optimize it and then I could use a switch node and make everything a lot better we go let's just chop a lot of that out do a bit of this make sure to clean up your no trees because you won't be the only one looking at it usually usually okay so we want this to be like that so that's being sampled for both of those and then we're just going to use a switch node to switch between the end point and this point so let's do that so that we can eliminate that that and that just making it a bit cleaner overall I hope see NOP there there's still quite a bit of spaghetti at the moment we need to uh bring that down by a significant degree attach position now H if I were to do this correctly I would just have another one of this over in the simulation stage [Music] but I don't know see mix attach so I just need to make this part cleaner then it should be good hit normal okay let me read the chat once again hey what is that particle system add-on you said you can get on Gum Road for free I should mention it's not an add-on it is a node group well they're assets they're node group assets that are out on gum Ro for free for blender 4.1 where you just get let's go over to here you get the node groups like the child particle particle simulation particle instance basically the node groups that would enable for particles to be simulated with regular you know physics it doesn't use Delta time just because I found that simpler for now maybe in the next version I'll use Delta time but it basically makes all the particle bouncing and spawning that you see here possible so it's it's available on gum for free um and yeah it works out pretty well it basically all this kind of boiler plates well no this isn't boiler plate but a lot of this like the simulation nodes and all that are just bundled up into one node so that you never have to look at it again cuz that's the goal with most of this you make it once so that you never have to look at it again so this is snap uh snap to surface just like that here we go and this part is [Music] um switch to attached or H switch end I guess yeah that's good enough for now so here how do we make this look better cuz it's a logic problem it's like okay we need the original geometry here to also be referenced into there but we need the Collision to also be put into there and it's like oh which one do we do how do we make this look pretty even though you know it's very convoluted I could collapse this to make it a little bit better but then people might be a little confused as to why that works out but so that's like that that gets fed into there so that's the surface and like I could put that into there but that means that that happens which we do not want to occur it's very start position as much as I don't want to say it this seems to be one of the this seems to be as clean as I can make it currently even though this is a mess it is quite the mess so that's the randomness and I could go and just turn that up and it would be a bit better and all this just to make it compatible with a moving uh person actually you know what I'm going to make this a little bit better by just copying this and moving it over here so that we don't have to possibly mix it up so here let's go and put that over to there there we go that's a bit better so now that part is a bit isolated there we go that's pretty good now this part is a bit more isolated okay not the worst not the worst okay so it's still a little bit iffy with the way that this looks but it should be fine like I could I don't know like I don't want these floating points to happen I could fix that by just making it recalculate where the attach point is every single frame but that doesn't feel good that doesn't seem like it would be the best option uh oh wait a second no I want want that to go there okay so that seems to be the best option for now even though it's still not Stellar so we have the index happening there that happening there then that like that still doesn't feel great but here I can make this look a little bit better just putting that in there okay yeah it seems like that's the best we're going to get for now we're at 40 minutes oh not bad I thought we were almost at an hour okay now that we have that the effect is now up and running again and pretty much to the degree that we want the only thing that I can think of is maybe taking the velocity into account but that's that is prob that's not necessary I don't think so all of that just to make points that are attached to this object by the actual points here and then making it so that you know just temporally consistent lightning which I know quite a few people want there we go the only downside is the lining that attaches down here is not temporally consistent or well the lining won't be purely attached so that means if I were to move the part down here it would just attach and then be broken after that which isn't great ideally you want both of them to be attached to where they're supposed to be so the question is how do you make that work with moving topology like potentially changing topology because this right here all the uh all the topology is consistent how would I fix that I could make it top topologically independent which would work just make it so that yeah no that would function correctly H I know that would work why do you put single nodes into frames instead of just rename the node I do not like renaming nodes no I like seeing exactly which nodes are there and then putting them into groups instead because that tells you what those nodes do their actual function rather than just renaming the actual node just a better naming convention because you want to see oh that's a random value that's a scene time that's a scale I have seen setups where people do rename the actual nodes and that makes it more difficult to see what's going on especially if they're collapsed because if I were to rename this uh snap it's like oh that's a wait that's not a snap node that's an ad node so it's just let me control Z that it's better to show what groups of nodes do so that it's easier for someone who has never seen the node setup to see what the heck's happening cuz you know it's just a bit better that way okay so speaking of that I should make it so that where the lightning is snapped to is fixed for every single frame which is a little annoying because H I need to think about this one cuz right now this is resampled to be like a thousand uh points on the curve but I want to treat the end points I want to treat it as if it's a spline with two with a start point and an end point and nothing in between which I have done in the past but I have forgotten isn't that funny when you remember that you did something but you forgot how you did it cuz right now I'm just evaluating this for the entire spline or no not really but I'm doing this which isn't [Music] great hm I could just make the end position do that and then blur between it but that that does not seem right I could feed um a snapped like this snap to surface input to here for every single frame but then I would need to make it so that it's not um the random ad doesn't happen because we would see that some weird things happen ah it's beautiful okay I would have to make this so that is just the end position or actually no I could just do that that would actually make it so that stuff like that would happen so that it would be really snapped to the floor and I don't want that to occur so it would have to be a multi-step process which is wonderful actually wait I could just actually no that wouldn't work out either evaluate on that index and I could try making that the end point of the curve but that just feels worse to do okay uh spline let's see points curve of Point points of curve yeah it would have to be that and then it would have to be the max end point so I'm forgetting how that's done let's see oh it is kind of working already just not quite as good as I was hoping cuz here we can see that's just yeah that's a bit annoying isn't it here we can see that the noise isn't accumulating because it's snapping is just redoing itself every single time which I don't want to happen which I guess is another yeah no this is an interesting problem what's the deal with the lightning are you modeling Goku uh no this is referencing The Flash which is actually interesting because the lightning is blue instead of orange totally unrelated to actually no there was a Flash movie that had blue Lightning yeah so this is an interesting problem so I need to make the lines temporally consistent but then I also need to make the accumulation happen after that which I could make it completely independent from a simulation Which is less than ideal H H let's try that out we can make this a multi-step process so for here I could just have a simulation for the spline over time and then I can do the offset in another simulation making get a little bit better so yeah no that that could H basically doing what I did here again so I could just attach that there and then skip all this because it's most mostly uh weed doing what I was originally doing but that makes it freak oh that makes it freak out because of that dang it so if I were to just have this right there I no still not temporally consistent okay it looks like I'll need to do the same thing that I did over there but yeah okay okay okay okay okay okay we got this we got this so doing that and it should fix it up there we go so now we can see that the lines are a little more temporally consistent so even if this word wait a second excuse me ah there we go so even if the meshes move the lightning still does what it should so okay we're breaking this down a little more molecularly but that makes sense so now that that's temporally consistent we now have the lines that are where they should be so now we would need another simulation to make those lines have accumulated noise so that is another difficult thing to do dang we have a spamming user in the chat and I have no idea what you're trying to say oh well I will try to comprehend it for 3 seconds and then you're getting muted yeah no I have no idea what that user was trying to say all right so now that we have this okay where was I we have that and that's good it's weird that it's such a complex setup for just that I could yeah I could make it simpler I could just chop out a majority of this but I need the start positions to be good oh wait I could just make it so that I could make it so that if the age is zero you know I could just eliminate a majority of this but I still need the hit normal so I can't get rid of all of it unfortunately dang this is this is something this is is something so I could get rid of all that and just switch the snapping to have the to include the random only on the first frame okay yep that okay optimizations and and cleaning all this up wow so it looks like we can clean up a significant amount of this that's good I can do that like that oh apparently uh people it it's come to my attention that people don't really know that the join geometry node where the inputs are is important so whatever object is up on top the indices will be not shifted so the first one the indices won't be shifted the second one they will be shifted by a bit and then everything else they'll be stacked on top of of each other I'm not sure if that makes sense or not okay so lightning line and all that so that's optimized as much as I think I can do at this time but now I need to make it so that if the age is zero or at least no zero or one then the randomness won't affect the snap to surface so age oh wait a second yep yep yep yep yep yep so I would need to switch Noe to switch between the attached position and then the random or the position plus the random wow that's no yeah this is this is just a little bit annoying just because it's so it's wanting to be so complex when I'm trying to make the node group as optimized as possible okay yeah looks like we'll have to yeah okay I think I'll just need to bite the bullet and then make these spawn conditions what they should be I should make this a node group as well so yeah let's do that let's make it a node group so that it'll be easier to deal with so the start positions will be what they should be should have been from the beginning all right just go and put this back over to here a little annoying but you got to do what you got to do okay so that and that's like that we can put that over to there so annoying but it's what I I can't think of any way of making it easier so annoying so these are the spawn conditions do that put that right over to there and then we do not want anything like that to happen so I'm just going to copy this and bring it out that's good okay we're getting there slowly so let's go and not uh make that into a group so that we can isolate it and then hopefully make it less of a mess okay let's put that over to there wow okay let let's let's cut all the connections and try to do this better so that is necessary for there that's necessary for there okay good and then for the snap to surface we want it to be only the Collision geometry so let's do that there but then for the hit normal we need it to be both which is wonderful so we need both that and this so yeah no I don't know of a way of making this cleaner let's just do that like that and that like that okay so knowing that it has to be that spaghettified but I do not know of a better way of doing it it is what it is it's because one needs a consistent topology which we attach well we set the attachment Index right there and the other one needs to be unattached as many objects as you want moving or not moving it just does what it does I don't know if you've answered this already but will you participate in the Eternal Ascent challenge uh this is the first time I'm hearing about that so no just because I well I do not have time for it I'm working on the big the biggest projects of my life and career at the moment so yeah it's um unfortunately this is the time that I have to work on personal projects you're seeing that right now okay maybe sometime in the future I've always wanted to do one of those kinds of uh events slash uh challenges but unfortunately don't have the time so here this is um spawn lines I guess lightning spawn lines yeah see how much cleaner that is that's better and now we can have this and a much more a much easier capacity here we go okay okay see how much yeah okay node groups I forget to use them by need to okay there we go that's a bit better but now that we have this we need to worry about making the lightning have the noise again cuz right now as we can see the light lightning has no noise but it is temporally consistent which is a good advancement so the things I'm worried about is one how do we accumulate the offset like I could just make this an animation like I've done with all my other lightning presets which are very good quality I must say good enough to use in production but I want this to be simulated because you know it would just look better that way cuz if I did just have it as a offset thing with no accumulation whatsoever um let's see how do we make this look better okay oh H it's not showing up why show me why hello oh that's because yeah resample isn't attached what about the accumulate field node h no that's a completely different um effect to what I'm trying to do here I'm just saying accumulate as and stack them up because the accumulate field node it Stacks up things according to an index like the index list well this I don't want I want to Stack Up the noise offsets over time so here we can see that oh the lightning looks like it's working and to a degree it is but it's not temporally consistent which is not great what I want to do is to make it so that you know like the the lightning will look less less like this it'll look like it's actually being affect Ed by a turbulent Force rather than just oh it's moving like that it it's a bit hard to explain but eh just needs to be better than what it's currently looking like I could just make it so that this data affects the end positions and then it's blurred with the old position and then that stuff happens but that doesn't feel doesn't feel better I could do it and it would work but H let said that's what it was before it could work and it would simplify the process but I would be combining the two different parts into one which is something that I kind of want to avoid cuz here as we can see since it's kind of being re-evaluated that happens but dang this is a little bit this is a little brain scratcher H okay let's try with different simulations first try to keep as isolated and compartmentalized as possible but no that wouldn't work because the topology is constantly changing and I don't want the topology to change dang this is wow H yeah no let's just put it all in into one and then call it a day cuz we're past 1 hour and to make this as solid as I would like it to be so okay hindsight in hindsight I should have started this from scratch just to make the lightning lines show up and then to do the displacement off of that and then doing all the resamples and stuff like that it could be H dang yeah this is this is an interesting uh an interesting problem H yep or actually no let let's make this I can try to figure out how to make this work with two simulations on my off time but for the time being let's make this an animation instead so the temporally cons actually no no I can't do that I need to make this better than it was before H I could wait a second no I could try it no since the topology is changing that won't work this is wow yeah for such a simple effect it's very annoying to try TR cuz doing everything in one simulation Zone that would be okay that's that's all right but doing everything doing actual simulated wind noise anything that I want in another simulation in post after this has already been simulated that's not great cuz things are being added and removed so I can't do that H okay let's do it all in one let's do do it the right way let's not uh cut Corners here let's do it right so we have that we had the resample and everything like that happening I'm still wondering how to make it better than it was okay so we need to mix between the old position and then the ones that are snapped to everything just like that also need to put the resample before for this and yada yada yada yada okay so yeah would it be faster to limit the selection of the resample topology by distance no no it wouldn't cuz this is this resamples the curve it has nothing to do with the out the uh surrounding topology like the actual curves resampling them that's fast and we don't really need to worry about it now I resample it every frame to redistribute the point so that there's no visible stretching so if you're wondering why I'm doing this here instead of right before it gets joined so that never has to be done again it's for you know so that we don't have to worry about the displacement making stretching happening making stretching happen so here we want to mix yeah this is this is annoying I want to mix between the snapped end positions then for that it has to be evaluated and I need to think about this okay so evaluate at index we need the points uh points of curve so if we connect this into here I need it so that only the start of every curve happens which I forget how to do that curve index is that per curve I forget yeah no it should be so this should be the start point of the curve so if I use the parameter this should work as intended I think I've shown this a few times uh okay no it's inverted so I need to find out how to get the snapped start and snapped end we can see that part is working okay that's good good good good so now I need to evaluate the other one which I could just invert the spine parameter in order to do that but that feels hacky AF [Music] so I could just multiply by negative one that would work I could use the sort index no H that would n doesn't need to happen Okay Okay I I think we got it now like I'm making this very difficult for myself because I'm trying to make it as high quality as possible but it's what you got to do to make uh movie level effects like that's then goal make stuff that's good enough to be in movies in shows and actual Productions that's the end goal oh that is hilarious okay so we don't want this to be the spline parameter we want this to be a float curve because I want the middle to be dragged along so um loat curve I want this to be the middle so that the middle is dragged along not entirely but mostly so here here we should see okay one of them is being snapped to the middle which is not good and also that could be the index that would probably be a little bit faster computationally but I'm not sure okay so that maybe I need to flip that around no whoa it's interesting though it's very very interesting I also need to make sure that this is her spline instead of okay wait let's take a look at this put that into there so here we should see yep that seems to be working as intended actually wait a second no it's not why does it look like it's jumping constantly are these not correct do I need to flip those around okay wait wait wait wait wait I messed something up okay so those are attached to where they should be yeah no I messed something up big time so the attached position okay wait wait wait wait wait wait I need to think about this properly okay so the start should be like that so we should see that the start points are where they should be okay good good good good those are attached those are working okay you are working let's not worry about you anymore so you right here collapse you put this over here we're good it's all good and then you need to be the end point so we attach that to there so we should see okay good that is working as intended maybe wait why why is it jumping I think I really messed something up I could just use an accumulate field node to guarantee that's only that value but that's the most hacky thing on the planet index and I could uh evaluate on domain spline in order to try to make it correct but something oh God that caused it to lag significantly but yeah no that that's the default input [Music] H is there any way to find out when I stream ahead of time nope because I don't even know when I'm going to stream I've been thinking about Sundays at noon or 1:00 uh but it's because my schedule in my off days are very sporadic different things are happening all the time so I do not know when I will stream unfortunately but I do upload the streams to YouTube afterwards which should be good for uh people let's wait how do I find the endpoint I'm I'm blanking blind blind length like something tells me if I just do that then it should work but I don't know why all them are defaulting to one am I did I just forget something very crucial cuz it should be I have forgotten how to find the end point of a spline dang huh Temple position should just be its own position so it should be fine I don't know my my brain is not wanting to I know it should be like that we can see oh that looks pretty cool oh wait no that's not even correct yeah know oh whoa yeah no this is messed up okay so these were two layers of messed up okay yeah my as you can tell my brain isn't fully in the geometry nodes game at the moment not quite but I can mix between the no I'm already doing that if I mix between the two factors like this we should see yeah that part's working yeah it's working it's working perfectly so the curve index I thought that would default to be oh it's not oh I forgot about that wait then why why is that one working and that one isn't huh all righty then I'm not going to worry about that part if it works it works but wait does it change it's lagging now which is less than ideal actually no it's no kind of is hey what the heck is happening I am failing to understand attachment points are working as intended this part seems to be working as intended I don't know why that would happen do I need to evaluate this on C bline that fix it wait why does that fix it what well I'm not going to question it I am not going to all right well we evaluate that on the spline domain that that's apparently what we have to do I have forgotten why that happens but if it works it works and you don't question it even though you should because if something just works and you're like oh no I don't know why this works that's just a sign of well things will be a lot worse for you in the future figure it out now so that when you really need to you uh yeah I'm still a little bit confused why that needs to be evaluated on the spline domain but I mean in a way it makes sense but it's still it still feels janky still feels janky anyway okay we got that working yada yada 1 hour and 15 minutes yeah this took longer than it should have uh mix new end positions got to do a caps I don't know why I put caps at the end maybe maybe just because it looks better okay let's put those right here this is um evaluate start of curve and then the other one is evaluate end of curve and by the the way the evaluate at index node does the same thing as the sample index node but on its own but on its own geometry I've seen people and even blender devs use uh the sample index node where you could have used the evaluate at index node which it's not bad if you use the other it's just you know less spaghetti sample end of curve or no I should make this sample yeah that's a little clear sample even though is it technically a sample I forget anyway okay we're back we're back in action and we can see that it's now working as intended yay so here we can see that the lightning is even though it's now temp let's wait for the cach to reset seeing how it's still temporarily consistent even when everything is moving now it'll only be truly attached to the object that we gave the attachment index to so the character will be running and it'll still work but everything else it will try to attach as much as it can so now we're good we are good okay that wasn't the worst solution like it's still not the best but it's not that bad okay now well a person who was very forward thinking would put all this into node groups so that it could be very easily organized but I'm not going to do that at the moment this is good enough as is this reminds me of Sonic's powers from the end of the first movie interesting yeah Sonic lightning is uh interesting I'm basing this one off the flash it's very interesting that they switch to lightning for uh the Sonic movies well in the regular games it's more of just an energy Trail but it does make it I guess just because it's more visually interesting to have lightning and Sparks and all that may yeah they had a lot of lightning on that they had it on yeah there yeah H I should probably look into that more or would probably be quite a some pretty good reference there okay another point of reference would be the Thor movies obviously particularly in Thor Ragnarok when he's decimating the ton the tons of faceless kind of zombies I guess were they zombies I forget uh on the bridge that would be a very good point of reference which I really should do so one artifact from the way I'm doing this is that since it's mixing between the new position and the old one that means that the lightning will try to reconvene at the straightened part which isn't great and I wish I knew how to properly compensate for that like I could try saying no that wouldn't work either cuz this isn't how lightning would usually act the whole purpose of the whole like Lightning's whole thing is that it's a it's a trail that just shows up and then like not it doesn't follow stuff like when dark breaks it breaks like once it gets too far it dissipates and then a new bolt forms so this is going against what lightning usually does IRL but I'm you know art Direction and stuff like that like here I'm making lightning that's consciously following a character all right let's go and show the uh Sparks again cuz that could look pretty cool oh and that also makes me realize that the ends should not have the or the start should not have the Sparks just the ends oh shoot why did I make it so that the end would be we're going to have to flip this aren't we huh that's fun okay so the start should be wait no yeah the start is that wait then why oh wait no this oh right right right okay just need to go and flip that around okay how are you doing uh why why why why why why why why why why why why why okay let's take a look at this again I would have to flip around which index is being yeah but I disabled the Sparks on the start and it's only on the end looks like I need to take a look at the viewer node which I haven't yeah the end should be there but this is in the incorrect part where it's trying to flip everything around okay let's go and flip this back around so when it was actually working let's take a look at this so now the starts I think yeah the starts are there and for some reason yeah that doesn't really make too much sense to me huh oh maybe in here it's wrong so the start oh yeah okay that was wrong the top is the start the bottom is the end okay top is the start the bottom is the end okay now this should fix it and it does not it does not [Music] why actually yeah why is it snapping a majority of the stuff that's uh happening because it should just be evaluating the start point and then doing that is that because the mixing is all wrong or something else that just doesn't all right let's try this one more time how come that looks a bit better and then I need to fix the other thing yeah I don't know what what I did wrong okay let's try to do this in the simplest way possible okay if there if the splines are oh not going the right direction oh no it's like well um let's just uh make it so that only the star points will have the Sparks instead I don't think like that shouldn't be a bug but maybe it is we'll see so here we should see that whenever a lightning uh strike happens why are the particles clipping through the floor oh no that should not be happening oh that's why it's oh right right right because this part it needs to be offset by the hit normal by just the tiniest bit order for it to work yep that makes sense since we're snapping it live yeah yeah yeah yeah yeah okay I could just go and offet by the normal here or I could just make it completely irrelevant from the situ situation so I could just go and eliminate this and then go and put it in the particle system so that I don't need to worry about it in here but no it would make yeah no I should do it inside of this so I'll do it just so that there's no clipping makes it easier for everyone else so we should see yay particles no clip that's good all right okay we're almost at the end of this and it's it took a lot longer than I thought I'm a little out of practice when it comes to these kinds of effects I've been out of 4.1 for a bit Ah there we go ah nice now some people said that there's too many particles here and I disagree no I agree but I say what the heck it looks cool like the main problem with this effect is that the Run looks a little bit funky but then again this is running at 21 frames per second which is a little bit less than ideal yeah let's do a little speed test let's see what's taking up the most time timings come on you can do it let's take a look okay so this one right here 2.1 3 that's taking up 3.6 milliseconds really I guess I okay we can we can lower that to be uh 500 that part whoa what's taking up 15 milliseconds that's taking up 9 whoa whoa whoa whoa whoa whoa what the heck is going on whoa that is not right there is no okay something went horribly wrong in here that's 4.4 that doesn't make sense even know with the laggiest thing on the planet it should be that's just two vertices uh two points on the curve what the heck why would that happen like even that is way more expensive expensive than it should be maybe it's because it's referencing a ton of mesh data yikes I do that then it wait what that cuts it down the join geometry was what what I I am horribly confused wait is that just that high poly it is whoa okay then wow that is something so this brings up a little optimization thing that is with Geon notes that's weird like whenever you use a geometry proximity node a sample near surface node or something like that the data keeps getting recalculated all the time even if the position it hasn't changed I think at least for my test testing so uh I've been thinking about making my own sample surface node which is very painful to do because you need to figure out like all the triangulation stuff and all that because again if the mesh has anything besides a triangle it'll be difficult to mix between those and figure out what the value is but the ideal is like the sample index node you can store that data once and then you never have to look at it again you don't have to re-evaluate all that you can just sample the indices and then it would work but no we don't have no that wouldn't work because we don't have uh field lists so I couldn't say hey you're stored on actually no I could no I couldn't because it would be like oh you're this close to this verticy this ver like the weights for all the vertices and how much to yeah that sucks so that means a lot of redundant samples to figure out where the mesh is compared to another mesh happens as we can see here now I have no idea why this mesh is that expensive to calculate decimate oh maybe that's why why on Earth are you 100,000 no no no no no yeah no that is not happening we are not dealing with a 100,000 or faces how many wait uh I keep forgetting that there's an actual thing for this Statistics right now there are oh wait did I just read that completely wrong yeah oh it's 7 wow my brain put in another thing there okay wait then why is that expensive it's only 177,000 it's still you know not exactly cheap for a collision mesh and that run is funny it is map data but why would that lag everything out so bad and it's on one like it's evaluating it on just one or two points why would that do that that makes no sense why why would that take 4 milliseconds I resample the curve oh but it doesn't get any more oh wait so it does get wait what I'm getting cons like way more confused goes to 5 milliseconds and then it jumps to 12 to 13 wait what am I using a proxy mesh for collisions no but it shouldn't be that slow it shouldn't be that slow and why would it jump from five whoa this is weird it's only one if I use original and that take wait something's not right okay value on domain Point yeah something is horribly wrong it it seems to be changing something about the mesh for some reason let me disable that nope same thing like here I'm evaluating the normal on the point which yeah it makes sense that's all weirded out by that yeah something's not right okay maybe here let me use a sample nearest face sample nearest let's do face and then let's do just the standard thing sample index going to sample the normal dire ly rather than it having to go through hoops to average out everything it'll make it faster which I didn't think that would be an issue I thought it would just be easy to do but apparently it's slow as oh both of them are slow as hack what wait no there's no way let me clear their precious custom split normal data what's the speed now no same speed how is it that slow impossible well anyway anyway okay well it is what it is for some reason that's just extremely expensive to see what the normal data is but we just can't avoid at all wow that's terrible that that's really bad maybe because like it's here let's take a look and see if the mesh is not moving whatsoever no it's the wow well looks like I'll need to decimate a 17,000 verticy mesh wow that is okay I I did I truly did not expect that at all but it's good to see where the bottlenecks are now we can see that this went from like a ton of milliseconds to quite a few wow okay now we can see that the effect is working quite well even though that run is still the funniest thing I've ever seen in all my given days all right it's hilarious all right yeah so apparently I'll need to use a proxy uh Collision very weird very weird okay and now for another thing I could make it so that let's see if I set the age to something like four I can coordinate something pretty cool with this effect so with the actual lightning let's go into the Shader editor so since I have the gradient at my disposal I can make it so that the lightning looks like it uh spreads out from the origin to the end points so I can use the age and the other thing where oh yeah the age parameter and that in order to make it look like the lightning takes a few frames in order to go to the end so let's give that a go oh I am lagging nope I'm back let's multiply here we go plug that into there that into there there we go and oh wait I forgot to actually do WI I wanted okay looks like I need to take a look at the gradient because something oh wait no okay that needs to be that and that okay so we need to invert it there we go so now this should mean that when that happened there we go we can see that the line goes out and then when it hits the Sparks spawn in now this is the part I like about Geon notes you can see like you can sync up different things with the Shader editor thanks to the very handy attribute node I wish we had an attribute node that powerful in GE noes but anyway even though in this case I'm using the same mesh data oh that's cool that's some cool stuff okay I could make it so that it takes 10 frames for it to do that so and this is just so that the Sparks spawn in oh that's cool okay yep yep yep yep yep yep it might be a little hard to see but here let's play through it frame by frame yeah that kind of makes it look a little bit more like a actual lining even though oh the fade yeah I should probably make it so that it um it hits before it fades out yeah that makes a bit more sense okay let's do seven I think that should be good let's go into the Shader editor all right let's set that to be seven okay yeah I should have started this project from scratch but you know having the shaders already here is pretty good that's some good stuff right there and I feel like I should try out a different run for this okay I'm going to save this file because I haven't done that yet I have a very bad case of not saving okay let's save that let's import another fpx which run um standard run I'll just do running or wait was that same one okay okay now we have this so we have two runs I'm going to just make it so that it duplicates okay and then I just need to make it so that the trajectory keeps going so I just need to go into pose mode select the root bone hello root bone you there there you go or the pelvis bone I guess blender's autosave has uh saved more of my sanity than anything else it is very good there have there's only been one time one no two times where like my computer has crashed like fullon just hard crashed and Autos saves have saved me a majority of those times but there was one time where it crashed and every auto save was broken so I had to remake the effect which I think it was caused by a literal power outage I I forget but it was it was not great but like blender's autosave is really really good it it has it has helped out so many times because and it does encourage me to not use the regular save and just be like oh let's just go and see if the project turns out good then I'll save it but be sure to save your files don't do do what I'm currently doing save your files because uh you know there will be that one time where you actually really really need it okay let's delete all of those is music a little bit Loud N it should be fine I could lower it by one there we go just by a little bit okay Cycles let's go and make this uh repeat with offsets wait hello oh that was weird repeat with offset repeat with offset here we are oh that's a better run I think okay so all I need to do here is just object node we keep by 90° other side bring it over to here and you know what we're going to do just going to delete you and you we're just going to swap out the one that it's using wa even that one looks a little bit funky maybe it's the mesh not the actual M cap data anyway let's go I think gray out the um oh yeah that looks a bit better I could keep the spears there is a a um oh no I'll need to swap out the parents as well AR matur one looks a little bit better so I'll keep it joints I should join into the original mesh but we'll yeah I'll do thato one there we go let's just swap it out for wow nice and diffuse I'm going to decimate the hell out of it okay no no uh well we can bring it down even more yeah that's fine join it into the rest there we go here we go now that may be good enough for a product it would need a lot of cleanup but it's close to being uh production ready there's quirks with it that I'll need to fix but it seems to be pretty good let's change this to be yellow like uh or orange like the flashes lightning let's put this into to one frame this is yep like that should be good so yeah let's swap it out with that one let's take a look also makes the the uh Sparks look better maybe I could have the lightning have different um speeds or no uh thickness and also Let's uh duplicate let's make more blindes nice okay now now we're cooking now we're cooking and now we can see that yeah there there's way too many particles so I I can tone that down by a little bit like I do want to use my particle system a lot because you know I I worked hard on it we're not going to be getting a particle system from the blender devs anytime soon so oh wait a minute L straya wait how did that one oh wait a second one of them just decided that's cool yeah I wonder why that happens one of them must not be attached which I was worried about well I need to see why so I have a theory oh wait I either need to add one to that or subtract cuz the point count indices start at a a different kind of range let's go and see if that still happen nope still happens so that's not the issue maybe I need to subtract that seems to have fixed it okay cuz the point count and yeah the point count starts at one well indices start at zero indices will never start at one unless you're working in Lua but who works in Lua these days some people do here we go oh that's funny how's there's just a waterfall particles when it's going I should probably replace the monkey head with a like a cube or no I should have kind of like a city backdrop environment like just randomized cubes let's see e next eeve next is delayed we'll see if it comes out in 4.2 has been delayed every update since 3.2 and we'll see if it ever well it it will come out I'm there's just been so many delays that um I've been a little dejected from holding out hope for it let's just say cuz there have been many effects I've wanted to do that rely on either vertex displacement or the ssgi or Parallax while no The Parallax got canned I think pixel depth offset wait did that get canned there were were a lot of things that were proposed for eeve next and most of most of those effects are not going to be an eeve next on release and it got delayed even with all those semi cancelled improvements uh ssgi is going to be in there uh Rotex displacement is going to be in there better volumes will be in there better uh volume calculations I they also mentioned Ray marching volumes but I'm not sure if that's going to be a thing there were just many delays and it two years worth of delays and waiting that long has been not great cuz all of these small updates that Eevee's been really really needing got pushed back with Eevee next even though there have been a few that have gotten through but it's it seems like EV next they're focusing on it to for it to be completed at on the 4.2 LTS so maybe we'll get it this time around but it is just very incredible that they said it's going to release in 3.2 and that was two years ago I do not know why it's delayed that much probably due to a lack of availability for like the devs haven't had enough time for most of the blender projects recently so that that's most likely the reason why it's fny that starts gliding that is too funny okay oh no here we can see that uh problem I was talking about since we're doing that kind of folling along stretching that light lightning famously does not do lightning does not fall along like this I'm 90% sure just with the way that works it it starts from a straight path and then it gets noisy and then dissipates the noise is part is it's part of its dissipation it heats up the air causes turbulence and all that but here since it's mixing between two other points it um it straightens out when it goes to there cuz one it has to but just just one of the ways that the math works yeah the fading out I could make it look a bit better because I'm not the biggest fan of it at the moment I could change it to be a little more like that I should change the radius to be variable like there's a big jump from an experiment like this into making it an actual product which is to add in tons of parameters to make everything better that's set point radius pet curve radius it's one thing on the kind of bucket list is to make it so that uh the geometry inputs can see whether you're working on a curve or points or something like that because the amount of times I've have said radius and it goes to set point radius on a curv geometry has been way too darn High all right there we go we now have variable sized v v variations in the lightning size okay and I don't really need the secondary particles like if I were to make a if I were to make this into a product I probably wouldn't have the secondary particles just because it would make it a lot more inconvenient will this be available on gumroad if I have time well okay I want to release this for 4.1 because I am just tired of I in 3.6 making things for simulation nodes isn't great for like many other well no it it's serviceable but making products for it isn't the best because actually no 3.6 is all right but I want to use the sub panels which are not in 3.6 and also not in 4.0 but 4.0 I've made products for and due to the control Z bug those products would stop working which I've gotten emails about and it's like dang that sucks I can't fix it because it's a bug with Geo nodes with simulation nodes so I'm just double- checking in my brain that was 4.0 and not an experimental thing I'm 90% sure it was 4.0 on one of my products someone was like wait why isn't it working and I was like oh there's a bug where you have to restart the file and they were like ah okay which in 4.1 I would be confident in releasing products because it seems like all the simulation nodes bugs have been fixed like for stuff like this the material bugs don't mean anything even in in my work uh the simulation nodes bugs with materials and the cache haven't interfered because well the cash you just keep it on makes sense or if you want to avoid the bug keep the cash on you just need to be more aware of it having the cash off is very good for testing but and then the material bug there's workarounds for that for the most part I haven't run into anything that desperately needs materials in my work besides the well in my personal work I have but that's another story but now 4.1 I can resurrect those projects when I have the time some of those projects are over a year old which is very sad that we had to wait that long for it to be fixed well no it was they found out that there was a bug like 9 months ago nine months ago I think either seven or nine months ago and now it got fixed like a week ago so in 4.1 it'll be fixed it just took a really long time but now making products I can feel confident that I'm not working with uh something that's future completes all right this is pretty good I'm happy with it I could make the lightning better as I've mentioned before using the crisscross pattern so that'll actually look volumetric and not just a tube but that's a story for another time I think we're good for now we're almost at 2 hours this took way longer than it should have wait a second why is it that bright it's a little bit too big for for my tastes so maybe maybe that range is fine oh wait it's not dissipating as much oh that's not good all right uh I think we need to make it so that the displacement will happen over its entire lifetime because of that stretching [Music] issue let's take a look at this in slow motion yeah okay yep that that's fine I can keep that in there just to change it but not necessary okay so overall the system isn't that bad should I use more node groups absolutely Ely am I going to not at the moment just because I need to set the point radius to be zero to make it an actual usable products for on the points so that they won't be visible in Cycles renders that's good all all right just looking through this again it's a little hard to tell when they actually hit because there's so many spawn again yeah also this should mean that when objects do move we can see that let's wait for the cash to reset Oh that's oh that's so cool okay we've got it nice nice okay man a project that turned out very good I'm happy I'm happy with it could use some optimization some you know just make it wait what oh that was the old Armature okay let's move the real one over a bit so that it just doesn't collide with the Shader spheres now I will replace you with yeah let's put the finishing touches on this so that it can be good enough to post let's see let's go new uh you need to be in the uh collider collection let's go and make you distribute points on faces instance on points instance on points yikes okay yeah I should mention again because we have 34 people here the rotate Oiler node is going goodbye you can no longer search to it uh you can no longer search for rotate Oiler uh it's being replaced with the rotate rotation node which has almost the same functionality I'm just a a little saddened because it will break so many tutorials and guides from the past like 2 years it's a little unfortunate but if you want to get the full functionality just use uh AIS angle to rotation and you can then do it like it makes sense that's more generalized the global and local it was kind of funny this node almost didn't make it into 4.1 and it just had rotation one and rotation two uh as the inputs a no Global and local and then one of the community members pointed it out and then they uh added it added the you know proper naming in the global and local and then the rotate Oiler node was then hidden and it will be removed and I was like oh we won but at what cost but yeah that's how you do you know rotate by an axis angle it makes sense but it's still kind of like how we have the RO Vector rotate and uh rotate Vector node rotate Vector wait what Vector rotate there like we have these two nodes that do essentially similar things this one has axis angle and Oiler this one has rotate vector and then we would have the rotate Oiler and then the rotate rotation they would be the pair pairs of nodes but unfortunately uh I guess for bloat reasons they just removed the rotate Oiler node but it's still still a little bit sad I can still feel sad by it by its removal and I'm still annoyed that you cannot hook up a random value node to the rotation inputs yeah it is a little unfortunate that geometry node keeps changing like it's always like oh yep this part's going to change this part's going to change this is no longer this node is split into two and so on I'm looking forward to when that doesn't happen because I want geometry nodes to be complete or stay well for people who want to learn people ask me oh if how should I learn geometry nodes it's like well the more you wait the more stable the workflows will become and we'll see like with the rotation sockets I highly doubt that a lot of more things will be changing like maybe when the Matrix socket comes out things will be changing again but I don't know a bunch of my projects are going to break they won't break the rotate o Oiler node is still technically in blender it's just not going to be searchable and then they will remove it when versioning comes out so it will replace itself automatically with the rotate rotation node so um nothing will break just a lot of the tutorials and guides will no longer be applicable because people will be like wait where's rotate Oiler node and it's like well but it doesn't exist anymore yeah no it won't be a breaking change geometry notes breaking changes I think are done cuz the first iteration geometry notes they spent like a year on that and then they realized oh this version isn't great and then they completely remade it so we've only had two years of the good geometry nodes the usual one so I could just use the rotate the rotate rotation node instead yes the functionality should be almost the same except you need to use the axis angle to rotation node to replace the axis angle uh in input so a little annoying but it is what it is it seems to be a habit of geometry nodes to split one node into two which gives more functionality like with the sample nodes like there used to be just like sample or transfer attribute it was and they split into sample index and then sample nearest but it it's still a little bit annoying when established workflows get changed little annoying but I think we're 95% past changes happening there might be a few left but I I highly doubt that we'll be getting any more all right um okay I think this is good uh I can get rid of the gigantic monkey head which is very funny then I could just do this and then boom we have a a Showcase of the lightning and I'll just move the Armature back so we can have you know let's set up another camera or no I could just use this one I've also marked uh this test or this calibration scene as I like to call it as an asset if I ever do intend on sharing it I'm a little hesitant to share the like color calibration and all that because it's really been overused from what I've seen people are like oh it'll make me look more professional which true it will because that's what professionals use they use the Shader spheres and the color things to make sure that everything is a okay okay so it's good to have but some people use it when it's not needed but anyway like in a scene where you're making effects like lightning and such I would say yeah no that that's a perfectly reasonable uh reason to use it oh look at that too much lightning but it's kind of cool anyway wow I'm just checking the form if I were to really let the lightning go seems to be mostly okay okay so let's set that back to 10 pretty good pretty good maybe I'll go and make the angle like this looks pretty nice pretty nice all right then maybe I'll make the grid a little more apparent a little more apparent there we go then maybe I'll track uh one of the [Music] bones so that that the camera can follow along I'm looking forward to the day when we get uh some simulation stuff for bones so that we don't need to like oh hey let's put this to an empty and then let's put this back to a bone in order to make physics apply it would be nice but that that's like 5 years away I wouldn't hold my breath about that like that's the thing you you need to have realistic expectations with blender development cuz with again with Eevee next the expectations were it'll come out in 3.2 and then 2 years later it got delayed again so if something's said it'll come out at this time maybe maybe give it a bit longer for it to actually come out just manage your expectations because they've been uh a little okay where's the hip bone yep there's hip bone okay yeah now I don't want it to be just tracking it like that we need to make it a little bit less I could no I'm just going to manually do it how do you quick favorite nodes oh that is rather simple you can just go over to here attribute right click assign to Quick favorite and then boom you have it yeah manage your expectations with blender development or maybe wait maybe I should have the camera on the other side there we go maybe more like this wait why is H okay I could just start this out a few frames late just so that it doesn't look you know weird motion blur do I use motion blur potentially maybe I should turn down the amount of lightning strikes because you know it looks better with more but you know you know just because there's more doesn't mean it's better yeah no that's a lot more readable and maybe I'll place the camera over here here we're past oh we're past 2 hours I need to I need to go but I hope you all enjoyed this project again took way too long but I'd say the effects are the end result is good should be useful and I may make this a product if I can pretty it up if I have time again I have been quite busy working on huge projects but uh it's not bad like maybe a little better color grading on this and technically I could release this for 3.6 I'm I'm not going to re release this for 4.0 because simulation notes are just bugged out I'm not dealing with that 3.6 you need to have the cash on for everything to go according to plan materials being removed doesn't matter in this case so I could demote this to 3.6 but that means I would have to demote the entire particle system which would be a shame that would be not great but it's possible I could do it here we go there we go I'd say I'd say that's pretty good okay I'm just going to read the chat one last time just to see if I missed anything okay how does the oh the spark particle I should yeah I should show that looks like this oh it wait let me actually show the mesh it's just crossed planes and then on the Shader it's a little more complicated like there's some noise just make it look a little more broken up from a previous project I could just straight up eliminate that and it would be fine like just ignore that I just have a gradient across the the planes that looks like this Alpha blend is having a field day as we can see and then I just mix it with like a random value in the life because that's part of the particle system so we can take a look at the output and it should work just fine that needs to be cleaned up for if I plan on releasing it but for the color I need to work on the color all right I have prolonged this for too long oh wait the chat I feel like I'm talking over the music no the music's fine it's just my headphones that's that it's a little bit loud and okay hello how are you could you help me with a problem uh let's see I want to make earth rise and vision and blender but the circle is very curved I wouldn't be available for that unfortunately I would recommend like asking on forums and posting screenshots so that people know what's going on let's see see I'm a beginner do you have any advice on how to learn simulation nodes um It's Complicated I would say my streams can help a little bit but just think of simulation nodes as applying a node group every single frame and that's that's basically what it does to learn the physics that's a whole another problem that you'll like to get accurate physics and all that sometimes you need to read read college papers I've tried reading College papers to do rigid body physics inside a blender but I'm still not sure if it's even possible yet at least at speed uh let's see excellent problem solving and great watching your processed lightning looks great good luck with the production content ah thank you it's been going well it's been going quite well uh but yeah the lightning I could make it look a little bit better like 1% better and that will mean probably like two more hours of work on it but yeah and then I would need more work and time if I wanted to make it uh production ready I feel like there's too many buildings here but yeah anything else um nope that should be everything can you please tell me what's your PC specifications and thank you for this amazing work ah you're welcome I am using an RTX 3060 which for geometry nodes is mostly useless geometry nodes is pretty CPU bound so make sure you have a good CPU I have an Intel i5 11th generation or 12th I forget which uh processor I've been told that that is very mid to low range for a processor which yeah fair enough so with geometry nodes if you want to do Geon no stuff get a better processor uh again gpus are most mostly useful if you're rendering they're useful if you're rendering but for other stuff it's not the most important thing but in this case since I use Eevee even that is not the worst because my render times are like 2 seconds flat which since this EV is supposed to be a realtime engine it would be nice if we got that down to frames per second instead of seconds per frame maybe well actually no an eeve next performance has been very not good in like scenes with grass blades like I did a test I think I streamed this but it would be 60 frames per second regular e and then in E next we would get a crisp three frames per second which wasn't great and then rendering would probably be even slower because you know the samples need to actually go through but yeah oh and also 3 32 GB of RAM I would recommend uh upping that if you decide TI to work in any kind of production environments so what I would recommend is 3060 you're probably good unless well unless you're your own render Farm uh like 64 gbes of ram should probably be okay and then get a good processor with multiple cores the more cores you have the better most of geometry nodes is multi-threaded which is good so yeah so if if you have a if you have a big budget like my computer wasn't the most expensive it was kind of mid-range so you pay mid-range you get mid-range but if you're using it for work you probably should have a better machine or you know on big projects okay all right thank you all for watching I'll see you next time have a good one and uh yeah thanks for watching
Info
Channel: Cartesian Caramel
Views: 8,234
Rating: undefined out of 5
Keywords:
Id: kAe0RPzxXlQ
Channel Id: undefined
Length: 134min 46sec (8086 seconds)
Published: Sat Feb 10 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.