Animating snowfall in Blender with seamless looping particle systems.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everybody i made this little animation recently and a couple folks asked about the falling snow and how that was done and how it loops seamlessly so i thought i would take that as an opportunity to make a video about how to do that and i won't model the whole scene that you're seeing here i won't texture it or anything like that i'll just focus on the snowfall part of it and we'll do three things basically we'll first start out with some objects and create a basic particle animation with those things and then we'll make it feel a little bit more like snowfall by working with a couple force fields and then finally we'll arrange things together so we get a nice fluid seamless loop so with that in mind let's get going and let's make some let's make some snow so i want to start out by just blocking out some big pieces of the scene like the ground and i'll just use a plane for that and i'll scale this up maybe like 4x and then extrude it down something like that so this will be our ground surface that the the snowflakes are going to fall onto and one thing i like to do pretty early on in any of these isometric illustrations or or animations is to add uh add an iso cam and i'll put a link to this add-on in the description in case you don't already have this and the reason why i like to do this is because i'm constantly interested in how the scene is coming together from the point of view of the actual render itself so just kind of compositionally i check in from time to time so i want to zoom in here a little bit something like something like that maybe that looks okay and then the next object we'll need is something for the the particles to emit from so i'll just add another plane for that and i'll scale that up for as well and i'll move that just out of view of the camera so the particles can come into view already being born and in motion and all that stuff and then uh and then we'll add uh an object that would be our snowflake itself so let's just add a circle this does not have to be very detailed or anything because they're going to be super small and you won't see any of that detail so we'll just add something simple and let's move this a little bit out of view like this and then let's do again this does not have to be uh very intricate at all so we'll just inset this face maybe extrude this up like that i think i'd like something a little bit more rounded so maybe we'll take these inset faces and scale them up along the z something like something like that uh yeah that should do and maybe we'll shade it smooth although that probably doesn't matter either and then finally let's just scale everything down a little bit and then apply the scale so that's our snowflake let's do a little housekeeping let's call this thing lake and then let's move it in its own collection we'll call that snow and then we'll name the ground ground and then the thing that's going to be emitting our particles we'll name that something like cloud and then let's move let's keep our camera separate so okay so i like that so we have our objects set up and we're ready to add a particle system so we'll select our emitting object go into particle settings there and then we'll just add a new particle setting here and we'll name this snow one and we'll name the uh the slot that contains our particle system we'll name that snow one as well and let's just see what we have so we'll play our animation okay that's something we can work with and right away you can notice that the particles are they're kind of jumping up and then they're falling down so what's happening is that by default blender adds a 1 meter per second positive so z is up so the normal so here's the normal normal is perpendicular to the surface that is emitting the particles and positive is up negative's down so it's adding a positive one meter per second velocity to the particles right at their birth and i don't really want that i want them to be moving downward when they're when they come into existence so let's maybe make this negative two and let's play it again so that's more that's more what i what i want and now we can see that this is moving way it's that's way too fast for snow that's more like rain so let's slow things down a little bit and there's a couple ways to do this the way i like to do it is to to best approximate the like real world physics so i want these flakes to be kind of moving through a fluid and air is a fluid and wind is air so let's add a wind force to kind of act as a as a counter force against the snow f the each flake is there as they're coming down so let's do that and let's add let's add a force field of wind and what that does is add a gizmo into our viewport and it doesn't matter where this goes because because wind acts in a kind of a global direction so it doesn't really matter where i put this but let's just keep it in the center and without changing any of the defaults actually let's make a new collection to hold our forces let's move wind into that just because i like to be organized so let's let's rewind and let's see what we have let's look from the front without changing any of the default settings on our wind so it doesn't really do a whole lot so i think what i want to do is increase the strength to something maybe like three uh not enough seven and a half maybe that's a little bit more what i like i think that's a i think that's a good pace for snowfall but now we made another problem for ourselves now since they're slowing down each particle doesn't have enough time to get to the bottom to get to the to the ground and what we can do to fix that is let's just increase the length of time that we have to work with and i'm just going to take a guess maybe six five or six seconds to reach the bottom so six seconds at 30 frames per second would be 180. and let's play again and they don't make it because they're dying out too fast so let's select our particle system and we can see the lifetime this is a default setting that blender adds to any new particle system it's only alive for 50 frames and we need those particles to stay alive the entire time and actually let's stop emitting at 180 as well so we're going to start emitting at the very first frame we're going to stop emitting at 180 and each particle is going to have a lifespan of 180 so that looks good so let's start again and they should reach the bottom before we run out of time here which is what we need when we loop it so that looks good let's look from the camera view that looks good as well and now is a good time to instead of rendering the default halo for each particle let's let's use the flick that we made so let's go into our particle settings we'll go into [Music] render and we'll change that from halo to collection and we'll use our snow collection that we made which contains our snow object and let's make the scale 1 so we can see it it's not bad i want a little variation so i want to scale i want to randomize the scale a little bit i want this pretty high and then lastly to add a little bit more variation i want to enable rotation and i want to randomize this as well so let's increase this a little bit and then the phase as well let's rewind and start so okay that looks that looks better and also i want to make sure to tick dynamic because i want the forces that we're adding to have an effect on each particle the rotation of them and let's give a quick once-over to any of these other settings these look pretty these look pretty good so let's let's play again see what we have let's look from the camera again okay that looks pretty pretty good and now i think i'm ready to make this look a little bit more like real snowfall so a good way to do that is to add another force in our forces collection and we'll use turbulence for this one this is a good one to use to uh to add that variation and unlike wind it doesn't matter where i put the origin of this force because the turbulent force is it's it kind of has a field that emanates from its origin like this and it doesn't matter where that is so uh let's just put it in the center to see what we have and again without changing any defaults let's see what we have let's look from the front so you can see the path of these snowflakes a little bit better that okay so it's having a little bit of an effect but not as much as i would like so let's let's tweak things a little bit i want to up the strength to something like three that looks pretty pretty good but you can see you can see how each flake is kind of they're kind of coming down like this which is fine but i want more of like a i want more of like a like a sweeping arc and i want those paths to kind of crisscross each other like this and you know as if there's like a breeze kind of blowing each each snowflake around more broadly so that's kind of what i'm after and the way to do that is to increase let's go back to our turbulence increase the size of the field itself so let's try something like let's try three as well let's see what that does and i think i like that maybe a little bit more let's try four look from the camera and i think i like i think i like that that's a lot more snowfall like right okay so this is good i think i'm happy with where we're at and now we're ready to [Music] loop this but before we do that let's just quickly review how this is gonna work and so for for normal looping animations where we're just moving things around it's not too hard if we have frame one and this is time and if we just stack animations together in series like this one after another all we need to do is make sure the first frame and the last frame of each of these instances are the same so we don't know when we're crossing from the end of one and the beginning of the other right we don't see a seam here and that's fine and simple enough for basic animations where we're just moving things around or rotating them and whatnot but if if we have something that's emanating particles like this one does so we have something like this we can't i mean obviously the for the first frame here there's not there's nothing here and then frame 180 there's a bunch of particles so we can't loop this what we really want is to start with a full frame of particles and then we want to end on that same frame so the way we're going to do that is first let's double the length of the time that we have to work with so let's use 360. and if you remember in the particle settings let's look at that again worse we're not emitting particles past 180. so if we go back here and start things over again you can see that after 180 it's going to stop emitting and we have a bunch of empty space here well what we're going to do is after 180 we're going to use the same instance of this particle system and we're going to pick up where the first one left off and it's going to fill in all this empty space with another instance of itself that's how we're going to do this so we zoom out a little bit here and rewind 180. what we're going to do is from here from 180 to 360 we're just going to duplicate this only we're going to offset it so by the time we get to 360 we will have filled in all of the space with a new instance of itself and there should be no perceptible seam between the two so that there'll actually be a seam here but we'll have one uh instance of itself following right after uh right after itself so that's how we're going to do this and then when we render it we're really just going to be interested in this section from 181 to 360. so that's what we're going to be rendering as our loop this is going to be what's going around and around again hopefully with no perceptible seams so let's go ahead and do that and the easiest way to achieve this is just to duplicate the particle system that we just spent a bunch of time configuring and we'll name this new slot snow two so we have both snow one and snow two these are just slots that that contain particle systems that are attached to the same emitter and they're both you can see they're both using snow one which is almost what i want i just need to make one small tweak to the second one so it so it starts at 181 and goes to 360. and i can't edit snow one because it'll edit both of them together so i just need to copy this one and make that one small tweak so i can do that by hitting this button here and that's going to copy this particle system which i will rename to snow 2 just to keep things organized so i have snow 1 mapping to snow 1. snow 2 maps to snow 2 which is identical except one small thing we're going to change is we want snow 2 to start emitting at 181 and we want that to go all the way to the end at 360. so now if we start things over again we sh as we cross 180 we shouldn't see where one ends in the next begins so the seam is actually somewhere it's like somewhere around somewhere around here so this is snow one and this is snow two so that's what we just did and to loop this uh there's a blender offers a fun little convenient tool called preview range and if i tick this little stopwatch icon i can now scope my timeline to the section that i'm interested in which is 181 to 360. so now i just have this section here everything else is sort of like shaded away and now if i play this it should loop back and i should not i should not see any seams so if i make this big i shouldn't i shouldn't be able to tell when snow 1 ends and snow 2 starts so i think that's pretty i think that's pretty good right so as we go from 360 to 180 things look pretty smooth i think i'm pretty happy with that so that's that's it that's uh that's how you loop particle systems one note though i want to make on forces is a lot of forces have if we go to the settings a lot of forces have this noise amount which is a cool setting because it adds some random variation to it it makes it look a little bit more interesting and real that's cool but we cannot we have to leave this at zero we cannot use this setting because it introduces randomness to the field and as soon as we do that then we cannot we pretty much guarantee that 360 our end frame will not equal the first one because there's randomness there's there's noise happening across the entire time and it's it makes things different so we have to that's the only caveat with this technique is we have to leave the noise at zero for any fields that are acting on the particles otherwise we're good to go so yeah i think that's it i think we'll leave it there and um yeah if you uh if you liked this video i guess this is where people say to subscribe or hit the bell button or like it or whatever feel free to do those things and also leave me some feedback because i never made a tutorial before so i know these can get better so let me know how i can do that and um yeah that's it thanks for watching and have a great day
Info
Channel: Aaron van de Weijenbergh
Views: 6,241
Rating: undefined out of 5
Keywords:
Id: UOXP4jGEgKg
Channel Id: undefined
Length: 17min 35sec (1055 seconds)
Published: Mon Aug 09 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.