DaVinci Resolve 16: Particle Temporal Distribution in Fusion

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone so today i wanted to talk about a property of the p emitter node that i didn't cover in my p emitter tutorials and that's the temporal distribution so the reason i didn't cover it is going to become evident uh sort of towards the end of this video when we start talking about the p spawn node but essentially what is temporal distributional temporal that's talking about in relation to time so distribution over time so let's set up a very simple particle system to sort of explain what we're what we're talking about here so i have a fresh fusion composition here i'm going to grab my particle emitter node here place it here and i'm going to grab a renderer and the renderer by default is set to 3d but as soon as i connect that directly out to this media out node it's going to switch to 2d output because we have no 3d renderer which is fine and i'm going to grab the p emitter node and i'm going to link it up to the render node and now we have all our particles here being emitted from a sphere region so we want to change that a little bit to make this a bit easier to deal with so first i'm going to select the p emitter node and i'm just going to drag this down to the bottom left corner then i'm going to come up here to region and i'm going to keep it as a sphere but i want to set it as a point source so i'm just going to take the size and bring it right down to zero then i'm going to come back to the common controls over here and i want to impart some velocity on this so we're going to keep the angle set to zero meaning it's going to be shooting out this way along the x-axis and i'm going to push play right now so there's a bunch of particles being generated there you can't see anything right now until i put some velocity on and there we go we start to see our particles being sort of shot out here now we see a little visual anomaly here where some of the particles are missing but if i were just a control and middle mouse button to zoom in you see they're all sort of filled in so this is just a display thing in any case i want to make these particles a little bit larger and make them easier to see for everyone so we're going to come over to style and i want instead of point i want to change this to blob that's going to make things a little bit larger there but we're going to come down to the size control and we're going to make them a bit larger still let's put them up to a value of 1. now i'm going to click back over here on controls and you'll notice here that i have a number equal to 10. so what that means is every frame 10 particles are being emitted so if we just stop this animation we're at frame 28 right now for example when i hop over to frame 29 well we have 10 more particles emitted they're all overlapping directly overlapping one another so the problem with this this might be what you're looking for but one of the potential issues with this is there's no there's nothing filling in these gaps in between and that becomes very evident when you take the velocity and you start to crank up the velocity um obviously as you crank up the velocity the spaces between where those particles are sort of dropped off are going to increase so you can kind of look at these particles almost as a marker in time where they mark each frame but what we want to do is we want to have particles being birthed between frames just to fill this in so first what i'm going to do is i'm going to take this down to a bit more of a reasonable not reasonable number i'm going to set it down to three okay so you see things didn't get quite as bright because there's not as many particles stacked on top of one another now let's come down to this temporal distribution so what this means here it's set by default all at the same time and that's exactly what's happening all particles for that particular frame meaning these three particles are going to be birthed at the same time in the same location in space there's a couple other options down here one is randomly distributed and one is equally distributed let's leave random for now and we'll just come down equally distributed and you'll see what that does that really fills in the gaps between each of those main particles so now we have birth particles in between frames and that is dependent on the number that we've chosen here if we wanted to increase the number of particles that are birth put this up to 10 for example we can start to approximate sort of a line if you zoom in you can kind of still see the delineation between each of the particles but we can bring that up even a little bit further to 20 and and and so on and we can sort of fill in that gap so we're going to set this back to three for now and we're going to zoom to fit and off we go so that's what equally distributed temporal distribution is it's really filling in the gaps between frames in terms of space so let's also take a look at randomly distributed and randomly distributed is going to sort of drop those off at a random time in between those frames so if i play this this random kind of looks like this sort of weird pattern that we got going here but let's keep that to equally distributed for now okay so that's all well and good so temporal distribution in itself when we're talking about a p emitter node it's not really all that complicated but it is something that can be pretty valuable to to fill in the gap so to speak just keep in mind that the size of those gaps is always going to be related to the velocity that you impart on those particles so if you're changing velocities for whatever reason you may need to also change the number of particles that are burst or that type of thing and sort of play with things that way if you wanted to have something that's sort of smoothed out or you can start to look at motion blurs and that type of thing but we're just focusing on the p emitter right now so that's all well and good what happens now when we put a p spawn node in there so to do that i'm gonna go shift spacebar i'm gonna type p s for p spawn here's the p spawn node i'm gonna click add i have my p emitter selected so when i click add it's going to go directly in line already linked up and ready to go so that's nice and what i want to do with p spawn first of all notice i had the animation off it's always good when you put in a p spawn node to turn off your animation because essentially what's happening is each of these particles are going to be emitting a whole other family of particles as defined by this p-spawn node so you can see how you can get out of a hand pretty quick and bring your computer down to its knees okay so let's take a minute and set up this p-spawn node so right now we're set up to a number of 10. i'm just going to put this down to one for now so one per frame will be emitted i'm going to come down to the velocity and i want to take my angle and i'm going to change that to 90 degrees which is going to be straight up so these particles the the parent particles if you will are going to be emitted in the z direction and my spawn particles in the y direction so let's put a bit of velocity on there and we can see those particles start to come into into life here and again these are a little bit hard to see so let's have the spawn node selected and we're going to come into style and i'm going to change that from point and we're going to go to blob again and we're going to come down to the size and we're going to crank up that size to one as well now all the they all look the same so what i'll do is just change the color just so we can have some differentiation there we go so a couple quick comments so essentially as let's sort of go back to the start here so we look at frame zero and we see our three particles but they're distributed sort of as if we were spread across time a little bit even though they come out at the start of the frame so i go to the second frame and three more pop out so just to keep things simple for now i'm just going to take my original node and i'm going to change this to one okay so this is where the tutorial kind of changes from a tutorial to almost a a cry for help so to speak here because what i'm about to show you with temporal dis distribution for the p spawn node just makes absolutely no sense to me and it's very well that i could be missing something major here or there could be potentially some bugs i'm not really too sure so really what i'm presenting now is a series of observations that i've made and hopefully between uh all of us we can sort of figure out what's what's kind of going on here because the p spawn temporal distribution does not behave in a similar manner to the p emitter nothing would make me happier than for me to have missed something here because this issue that i'm showing has actually caused me a lot of problems in some of some of the other things that i've i've been working on so in any case let me run through my series of observations here and we'll see what we can come up with so again i have our p-spawn node selected and we'll just take a look up here in the inspector and i'm just going to go over these values really quick so we're set to a number of one right now so i'm gonna increase that in a little bit but for now let's just leave that at one everything else is set to defaults i've taken the velocity transfer and i set it down to zero i'm going to play around with that for in a little bit but just to keep things simple i've set that to zero so that means that none of the velocity from the p emitter node is going to be passed on to the p spawn node the only velocity that the p spawn particles are going to have are what's defined down here by its own velocity which is set to 1 with an angle of 90. so what does that mean over here for our example well we're at frame zero and we have our first p emitter particle here and this p emitter particle has a velocity going this way up here is the very first p spawn particle and it has a velocity going straight up this way so in the second frame we expect this particle to move over here a new particle is going to be born in its place this particle is going to move up to here and a particle from the particle which replaces this one here is going to move up is going to be born into here and then over here there's going to be a new particle a second particle that's going to be created from our original our original particle as it moves over here so let's take a look at that so fair enough so this so these two particles here belong to this particle this is the first one this is the second one this particle here belongs to this new particle here and we sort of continue on i'm going to skip a couple more frames up and we see this pattern continue so these four particles here are all related to this particle here and so on and so on and so on so before we get into the temporal distribution discussion i just wanted to talk a little bit about velocity transfer so right now because the velocity transfer is set to zero as this particle here so let's just look at these four particles here that belong to this particle here as this particle here travels along the x-axis this way these particles aren't carrying that velocity along they're just going straight up so they're going straight up and they ignore the x velocity that's imparted by this particle here when we take this velocity transfer and i'm going to scale this up and i'm going to slide it up to 1 meaning 100 percent of that velocity from this note here has been passed along to its child p-spawn nodes so let's just slide this up and we see this kind of thing happening so now what we see here is these four particles here that are all birthed by this initial particle here are all lined up in the y axis and they happen to be offset by the amount of distance a particle would cover in one frame so these particles here are leading their parent particle by one frame's worth of velocity if you will okay so that's all well and good i just wanted to show a little bit about velocity transfer but to keep things simple we're going to take this off so again we're back down to the situation where all these four particles here are related to this particle here okay now let's talk about temporal distribution and i'm going to start playing with this and here's where things just really just don't make any sense to me what i would expect to see let's just look at these two particles here so this particle burst this particle here and it came up in this last frame this current frame that we're on so let's take the number and we're going to change this to 5. so again things got a little bit brighter here but all these particles are stacked on top of one another and that's because our temporal distribution is set to all at the same time now just as a very quick aside you might ask yourself hold on a second what's the point of this number here if everything's going to be spawned on top of one another well we can use some velocity variance for example and that will start to kind of spread things out a little bit but in any case we'll keep that velocity variance down to zero we could also play with these other variances down here the angle variance as well in any case let's keep these all set to default what i would expect to see when i take temporal distribution and i change this to equally distributed i'm not going to click on this yet what i would expect to see is five particles equally distributed between this point here and this point here and that's kind of what we see when we use temporal distribution on this p emitter node but now remember these green ones here are all a result of the p spawn mode so that's what i i would expect to see and i may be wrong in my thinking there but that's what i would expect to see so i come up to temporal distribution and i'm going to change this to equally distributed let's see what happens okay so something funny is clearly going on so instead of these being equally distributed there seems to be some kind of non-linear distribution in space here so when i look at the sort of the grouping of these the space between this and this is greater than the space between this and this and so on and so on down this little particle chain because remember these five particles are these five particles up here so these are all sort of a group they were all sort of born in this last frame from this particle here but they're not as far as i'm concerned distributed evenly it's a non-linear distribution this here kind of reminds me of a log a logarithmic graph versus a linear graph which would see this kind of pattern here so mathematics is is definitely a play behind the scenes here i just don't fully understand what's happening behind the curtains so again let's take a look at these four groups here so this group up here this group up here and so on and so on those all belong to this first particle here and you'll notice the distribution pattern is similar amongst those groups when we take a look at this particle here which is related to this group here this group here in this group here again we see a similarity in the distribution pattern and so on and so on down the line and you'll see what's happening is as we go to i'm going to call them older particles so this particle here would be the fourth particle in line that was that was birth the pattern of spawned particles that it shoots out will always look like this the fifth one will look like this sixth seventh eighth ninth tenth so we're kind of asymptotically approaching a single point in space for all these birth particles as we go along in time so i'm going to sort of crawl back here to what are we at our fourth frame here so and again we're talking about this sort of exponential behavior that seems to be happening and and i see a curve here if i just sort of trace out a curve here you kind of see this exponential behavior here so the math behind the scenes is kind of revealing itself a little bit but i just can't sort of put all the pieces together together to figure out what exactly is happening so this here is sort of my current understanding of what's happening with the temporal distribution for the p spawn node so if there's anybody out there that understands how this works a little bit better please let me know and and i'll absolutely do a follow-up follow-up video because to me this is such a fundamentally important part of any particle system is the ability to equally distribute spawned particles and an application of where i see that was for the fireworks tutorial that i did a month or two ago the trails that were shot out from sort of the central explosion of that firework were a p-spawn trail of particles and one of the things one of the problems that i was having was sort of filling in these gaps between these particles and what i had to resort to is to do some blurring to essentially smooth things out a little bit but when you really look closely there's still these sort of gaps in here so that's it and i apologize for anyone that started watching this thinking it was going to be a tutorial and has turned into a uh more of a a series of questions than a tutorial because of the less than ideal documentation on the particle system in particular these types of things are very challenging and it's really tough to figure out exactly what's going on so this is where i sort of want to turn to you know us as a community to sort of figure out things together i have submitted this to blackmagic design um as a as a as a question i suppose to see if there is a misunderstanding on my part and as soon as i hear back from them i will post their reply and we can go from there if this does turn out to be a bug perhaps 16.3 which is going to be released shortly in i think it's in beta right now maybe that's going to be addressed we'll see but in any case that's a current snapshot of my understanding now thank you all so much for watching and we'll talk soon take care
Info
Channel: Darren Frenette
Views: 1,249
Rating: undefined out of 5
Keywords:
Id: qK5suFg-t1w
Channel Id: undefined
Length: 15min 45sec (945 seconds)
Published: Sun Aug 16 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.