Making Volumetric Clouds in Unreal engine 4.26

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey and welcome to the dynasty empire youtube channel my name is michael one of the dynasty partners and today i'm going to be showing you how to make volumetric clouds like the ones you're seeing right now inside unreal engine 4.26 preview one now i've already had to record this tutorial once but then there were audio issues so i'm not going to record it again going through everything node by node how to make the material instead i'll be breaking it down into different sections and explaining the principles of each material and giving you a brief overview of how things are put together and then at the end i'll give you an overview of the final material and on top of that you can get all the source files and the final result on my art station marketplace for free so starting off in a empty unreal engine project all i have here is a cube for the ground that i just uh scaled up to stupid values i have a few other cubes and a mannequin and a point light just because there's no sunlight at the moment just so you can see where we are and in order to start getting things set up from the middle uh for the new volumetric system with the volumetric clouds we need to get both a sunlight a sky atmosphere and a hype fog in here so let's start with those let's start with the sky atmosphere so let's add a sky atmosphere and drag it in the middle nothing will happen because we don't have a sun to drive it yet we also need a skylight so we'll set that to movable set that in the middle and then we have this new feature on the skylight for real time capture for dynamic lighting we're going to want to enable that so we can move the sun and watch the skylight update at the same time so we can get rid of sky and then the last thing we need is a directional light so let's add this here and let's set this to the center of the world set it to moveable so it's not having any issues with the shadows and you can see it's still not lighting up the skylight and let's move all of these into just my lighting folder and that's because in this we have to tell this to be our actual atmospheric light so uh where is that atmosphere sunlight here under atmospheric cloud now if we tick that you'll see that this is now scattering light through the atmosphere at least emulating light scattered through the atmosphere uh very accurately and you can see it's updating the skylight in real time as i rotate the sun and then one thing we forgot to add is our height fox so exponential height fog and this is all you need you don't need an atmospheric fog anymore because the sky atmosphere also does what that does plus extra so let's reset this to zero and now if we rotate the sun you can see it's still scattering light we only have one issue which is that the sun is only scattering the light and the hype fog that is the uh in scatter color that we define in the height fog so we're not getting any of that gradient change from the sky atmosphere anymore in order to fix this we can go to settings project settings and then search height and then there's a setting called support sky atmosphere affecting hype fog now we enable that we're going to have to restart so i'll see you back in a second there you go my project has restarted so now if i close this and now if i move the sun you can see it's still scattering and that's because we have to go to the skylight and we have to ah yes under the uh exponential height fog apologies we have to go to uh now we can set these colors to black because what they do is they add on top of the atmospheric scattering that the sky atmosphere does so we have to set that to black and the directional in scattering also to black as well and now what we'll have is the color of the sky atmosphere affecting uh driving the skylight but also affecting the height fog so now if i move this you can see it looks like it's scattering things very realistically and this is the base for how everything scatters really well inside of the volumetric sky as well the volumetric clouds so to get the volumetric cloud started there's a new actor inside of unreal engine 4 called the volumetric cloud actor so [Music] volumetric cloud let's add this to our level uh uh so let's add the volume clouds to our folder actually so volumetric clouds to our lighting folder and let's get started uh another thing we're going to need before we can actually make some volumetric clouds is we need some volume textures um there's quite a process to making volume textures i'll link some resources by ryan brooks and uh in the comment section below but for now we don't actually have to make any if we go to settings and go to plugins and then search for volumetric and then enable the volume metrics and then go to restart so i'll see you back in a second after the restart so here we are and you can see that nothing has really changed in our project and that's because we have to go to view and show engine content and all the volumetric content is here at the bottom under volume textures textures and this is everything that we'll need uh so you can copy these into your own folder i've already bought them up into mine so if i go to my file tutorial uh hair textures and then i got volume textures and then using those volume textures i've made some examples to break everything down for you so here's the most basic way you can make volume a volumetric cloud effect inside of unreal engine but before we get into the full graph you're going to need to know that the you're going to know that the material domain name is going to have to be set to volume a domain type sorry and then the blend mode i set to additive and since the lighting for the cloud is calculated in the raymarcher that is tied to the atmospheric sky as well um that we don't need uh we don't need the material to be lit so you can set it on it and as far as the volumetric cloud settings and the material attributes that's all we need to know and then you can see that this very basic material actually makes some simple volumetric clouds and the driver of all that is this volume texture here it's a new texture type so i'm going to show you some of those i showed you briefly earlier so let's go to so let's have a look at this vironi tileable and let's get rid of the alpha so what this looks like is it looks like a tiling noise that kind of changes as it goes through and that's kind of what it is it kind of looks like a sprite sheet but instead of like a spreadsheet every frame is a frame forward in time uh every frame is an is the next slice of this volume as if you're slicing it through slice by slice in one axis almost like a ct scan if anyone knows how those work and then what you can do is so this is the end slice this is the beginning slice and it goes through and then we have a new volume texture type new texture type uh called the volume texture and you load that texture into this and then you can the one that we were looking at was roni so that's a cabaret i believe and then if we look at this you can see it's the same thing it's got a little better padding on the side uh to deal with mipmapping again uh ryan brooks and the resources that he made resources that i'm going to provide below on how that works if anyone's interested to know more about how that works but then we can also change the view mode type and let's go trace into volume and you can see that there is a cube here with the texture going all the way through and there's no break up on the edges here it kind of goes all the way around and that's because these textures are being written to this volume if you took a slice through yeah like in this direction here and then a slice slice slice all the way through that's what you would get in the the non-volume view of uh view mode and depth slice so each one of these is a slice through depth and that's how we're able to get the volumetric cloud effect uh rather than just being projected in one direction so let's add that material that i showed you so here under examples basic clouds this is the first one and all we have to do is actually just add this to our cloud material and you can see we already have volumetric clouds from that very simple material that i showed you and all we're doing in this is we have the well position we don't need to mask any attributes because it's actually it's got three vectors x y and z since it's a volume and then i'm just multiplying the cloud scale by a large number since it needs to tile a lot so we can keep our numbers small and then just doing some very simple maths here in order to be able to control the density of the clouds so subtracting 0.5 multiplying by 2 and then adding alert between minus one and one and that allows us to keep the range for the coverage between zero and one so zero is no coverage no clouds zero point five is half coverage and then one is just full coverage and then i'm making sure i'm clamping everything i don't need a double clamp here but it's fine because this is from another material and then i'm just multiplying it by a number which is our max density and then that just gets multiplied by this simple little color set up here and that goes into our albedo and then we have this new node called a cloud sample attributes and then what this normal altitude layer means is that the clouds have a minimum and a maximum altitude and this creates a gradient through that altitude so zero is the minimum altitude and one is the maximum altitude so this allows us to add a lap and then what this lap is saying is that the clouds go from being white all the way up to being more of a bluish color as the gradient goes up so it goes down so it gets darker as it goes down that's what that's saying and then i just multiply that by the actual gradient plug that into albedo we don't need a missive but if you're doing a day night cycle you're probably going to want some emissive uh in your clouds at night uh unless you have a second object like light scattering through the clouds like a moon now i'm not going to be covering that in this video and then this under volumetrics this is a new node and this is essentially the quirks of what drives everything for how the clouds render in the sky so this is a new node called the volumetric advanced output and then i'm not going to go through all of these settings here i'm also i don't understand the science behind some of these fully yet and i'm still learning uh but as i said all of this will be provided for you on my ad station you can get it for free and you can just use these values that i set here and since there are scalars you can tweak the values and see how this changes how your clouds render when you're playing around with this if you're interested and all that does is that generally just makes our volumetric clouds but the issue you can see here is one that it's static and two that it's just it's just going all the way through our volume and it's very low resolution so what we can do to up the resolution is the same thing that we do for a lot of 2d noises is we can just take either the same noise or a different noise and tile it more and then blend the two together and that's what i've done in the second material cloud breakup so let's add that now you can see we're getting a lot more of that fluffiness and clouds that you're used to kind of looks like a powder or a flower and uh although that's good the only issue we have is that it's as i said before it's going through the entire atmosphere like the entire cloud layer so we're going to want to have more control over our clouds but before we go further than that let me show you here all i've done is just like before i've got one uh clouds which is tiled huge so this is our large clouds and then one that is tiled in order of magnitude smaller so this is multiplied by ten thousand whereas this is a hundred thousand and then i am just doing some simple maths to add them together uh blend them together and then again making it so the coverage is zero to one and then adding some contrast and then adding a maximum value for the clouds and then everything here is exactly the same as what i showed you before and that's what gets us what you're seeing now this fluffy cloud effect uh but what if we wanted to actually affect and have multiple layers of clouds so what i used to build my layers of clouds is i looked at the horizon zero dawn breakdown for how they did their clouds uh and you can see they've broken down the different cloud types you have the cumulonimbus cloud that goes through the full cloud layer from zero to one uh in the cloud height i guess then you have your lower level clouds so we're going to make some cumulus clouds or closer between cumulus and stratus clouds and then in my demo that i showed you earlier i had cumulus cumulonimbus and then i had some zero cumulus and zeros clouds now just to break things up and have the that kind of parallax effect of being able to see the multiple layers through the atmosphere really adds a lot to a skybox so i'm just going to auto save quick and now i can show you the next step which is being able to limit everything by using curves and being able to affect the altitude of clouds but before i do that what i want to show you here is that i've actually loaded in a 2d welder line texture which i've kind of made in substance designer so let me show you this texture it's a very simple just channel rgba rgba channel pack texture so red i have this which gives us all of our wispy shapes for the like the cirrus clouds up in the higher high altitude and then we have for the green this is just a large clouds layer and this is what i'm actually using to drive the because this is tiling over such a large distance i'm using this to drive like the overall shapes of my clouds so there's no visible tiling and then full of blue this uh dictates the cumulonimbus clouds and what i have here is a linear gradient going from here to the edges and this way it allows me to control the actual size of the clouds by multiplying this and having some contrast so i can have a scalar that if i have it set to max the clouds will cover the full sky and then as i bring that scalar down it brings them in closer to the center and when i multiply that on top that allows us to be able to control the overall width of these cumulus clouds cumulonimbus gland sorry so that's what that texture is and it's only just a standard 2d texture and i'm projecting it in the z-axis so i'm masking the red and green from the world position and then all i'm doing uh to get some altitude from that is i'm multiplying it by a curves i'll go over the curves in a second and i'm just doing again so normalize everything values wise and then i make sure it's clamped and then i have a max density and then everything here again is the same so let me just save this and then wait for that so let me move this down here and if i add this to our volume clouds now there's clouds altitude what you'll see is there is a breakup here so what this is uh this is the wrong way to add let's add this one sorry uh you can see how smooth everything and that's because how smooth everything is and that's because we're not using our uh volume textures anymore but i wanted to show you that even though it's projected in the z axis here just using one like standard 2d texture let me up my speed so i can fly through you can see that it's still not even though it's projected in the z it's got some roundness to it and the reason behind that is that i have a if we look at the texture again just the green channel you can see how blurry this cloud's texture is and i did that on purpose so that there's a decent amount of range and softness in here for me to be able to tweak and then in order to be able to control the actual altitude of these clouds i'm using a curves and it's actually this curve here so you can add a curve atlas to your project and then you can add a curve to that curve atlas and you can access that atlas inside your material in order to be able to control the height of set of the clouds and i'm doing that here in the material so here's the curves that i'm using here's the atlas and then here's the curve and then what i'm doing is i am taking this normal altitude layer that we're using to lap the color over here same node and what we're saying is uh anything that we put in the curves between 0 and one will dictate wherever since we're driving uh we're having this from zero to one drive it will be able to control the altitude falloff and the shaping of each cloud in that zero to one range so here i'm using the red curve and i'm simply multiplying it by the [Music] by the 2d mask here the 2d noise so if i show you the curve now let me open that up actually here and let's make it square just so it's easier to see the curve and then we only want the red curve so let's get rid of the others and select red you can see it's here normalized focus and what this is saying is because we're using the cloud altitude from zero to one min to max to drive this anywhere from 0 to whatever this value is here 0.3 that's where the clouds will be and you can see that if i tweak the clouds here you can i can tweak that density and height and also because the curve has shape to it it's also and the noise has that softness to it it also controls the shaping of the cloud which i'll i use a bit later so i'll show you that for the uh cumulonimbus clouds so i can make them more billowy i guess uh have their fall off more centered but i like having them kind of have that sharp fall off and then go to a nice shape you can see that this is actually getting us a good base so if i now take this what i'm showing you before this material which doesn't have any volume textures and then i use this to multiply and combine with volume textures what we end up with is these clouds altitude here and there you go so this is what i showed before by being able to have the 2d noise that's just in the x and y and then what i'm doing is just multiplying it over the larger noise that i'm using to generate the larger shapes and then blending that with the smaller shapes and then multiplying it by the altitude so this is the same principle of what i just showed before just with breakup in them to give them that fluffy effect that you expect from clouds and if i go to the curves again here and i tweak this curve at all only the red one we need and if i tweak this you can see it will update the clouds based off of the shaping of this curve if i want them to go all the way to max altitude i can but there are limitations again to using a world aligned texture and it can cause some issues so you need to be smart about how you use them so if i go to z projected material here um if i didn't have that gradient everything will be uh sharp so let me show you here if i wasn't controlling the altitude for these and i just had it go straight to skip the multiply yeah and then i plugged this into the ad and then i hit save what the 2d texture does is it essentially just project projects directly down since i've mastered on the z so you can see here it just looks like it's cutting directly through from above so you need to be careful with these but you can use this to your advantage when it comes to shaping clouds uh which i'll show you next so now that's saved another way let's move on to the next example that's the fluffy wildline clouds and now here's the uh clouds projections for the like this is clouds projections demo material so you can see the numbered in order so what this is is to show you that you can have different types of clouds and in order to get this shaping this is what i'm using for the cumulonimbus oops this is what i'm using for the cumulonimbus clouds which are the larger clouds that goes from the zero altitude of the clouds all the way to max is not just can you uh control the altitude of clouds because you can see this goes from zero all the way to one max and it never maxes out it never bottoms out at that point you can see that this curve is actually an odd shape and that's because whatever i set this curved shape to i'm actually subtracting it as it goes through that zero to one gradient and if you subtract that from it you can see i can change the shape here and you can do a lot with this you can make a like a mushroom clouds if you wanted but this is just a cool way to break up and control the shapes of clouds this is just the best shape i found when i was testing just for this these specific clouds i've made maybe four different cloud materials now when i've been learning since uh this was released and this is the one i'll be giving away so these are curves here you can see that curves directly if you add or subtract them along the uh along the gradient you can actually control the shape of that curve just like if you're doing it inside designer or any 3d application so from that what we can get is since uh this is the green curve so the red curve i'm using for these lower clouds and then the green curve i'm using for these larger clouds and then in my material that's where this curve is from i have those uh zero stratus clouds which are high altitude so they're closer to one and then we have those cirrus clouds which are super wispy and those are just all the way up to the edge of like almost uh to one so 0.969 to 1. so that's how i'm controlling their shape and altitude inside of this material using curves i've seen a lot of tutorials that were using like exponents and getting quite technical with the maths but i found that the curves is just way more art directible and obviously you can have multiple curves inside of an atlas and inside your material and get a lot more complex than what i'm showing here but this is just more for the principal side of things so you understand the principles of how to make it and again that those volume textures are missing for some reason so i'm just going to re-add those so moving on to the next material from that now that we understand how to use curves we can go to our examples so that was example six let's go to seven now you can see that if we take those shapes and then we just add that volume texture break up again we can get that stacking effect of multiple types of clouds and then the types of noises that you use will dictate how the clouds look so in this material i to get the the large billowy shapes of the nimbus clouds i'm using the green and blue of this texture because that has the the billowy shapes in it whereas the red is just like a your standard purlin noise it looks like so it's got much more wispy shape so understanding how your shapes that drive your volume texture and also your 2d textures will affect the shapes of your clouds uh will help you along uh help you in the long run when it comes to putting your own cloud materials together so there you go now we've done seven we can break we can add multiple types of cloud layers control where they fall inside the cloud gradient to control different cloud types through the atmosphere and we can break up those cloud shapes using volume textures so the only two things really left principle wise for you to understand to go and make your own cloud materials is how to move the clouds and then how to phase the cloud so they're not just moving in one direction so we'll move on to material eight cloud movement and you can see here it's just nice simple just pushing the material in a direction and you can control the direction by controlling the x and y and then you can convert that into rotation if you have a wind direction so here it is i've just added this extra uh extra little node group here and all i'm doing is adding this to the coordinates of the materials and all it is doing is taking an x and a y and then multiplying that by time and then i've got a slightly different multiplication per uh cloud type so that they're not all tiling at the same rate so we can get some quite natural looking break up as they're tiling at different rates through each other and blending together and then same thing like i showed before we just have these are this is simple mass that controls the cumulus uh these are the stratus clouds with the break up and bring everything together modulating by the tileable noise and then modulating the tileable noise by uh all this simple maths here although it is as basic addition subtraction and a little bit of multiplication and then all you need to do is to add them together and then make sure it's clamped and then control your max density before you plug it into the final outputs it's going to save and close that we got the clouds moving then what is this last material and i've just called this phase shift because right now we have even though it looks quite natural is we have clouds moving in our desired direction through the atmosphere uh we also want them to make it look like they're rolling and kind of because it's clouds are a big fluid simulation right like it's just fluid dynamics we're not going to be doing a giant fluid simulation like that in our project but we what we can do to make them look more like a fluid is to do the exact same thing that we were doing before by just adding time to the coordinates but what i'm doing here is i'm also adding shapes to like the one of the clouds types to the coordinates after i've added time so here what we're doing is we're taking the larger volume texture noise and we're just adding that to the coordinates at the end and we're making sure to divide that by numbers so we're not going too high like here i've multiplied this by 1.5 and added that that's how we do the tiling but then i've got a parameter here that's set to 0.2 so quite low that just multiplies and then i mask components because this is a 2d texture and then i just add that to the the world line tiling noise here and then i did the same thing just at a much lower rate to the small detail noise to give to really break up those small shapes as well so now if i close out of this and then i don't need to save that because i know how the material works then we get this and we can actually see that clouds shifting and kind of phasing that's why i called it phase shift and that to me just gave a much more believable result so if i go to this material just one more time and i'm just going to turn up the time scale on this it's going to hear cloud speed let's just set this to something stupid like five you can see that it kind of looks a lot more like they're they're changing shape and uh kind of simulating even though it's just a really simple trick but you have to be very careful with the values that you put in this because what could end up happening is if you go too high is it's going to do that kind of gradient wispy thing if you're going for like some cool stylized uh smoke stimulation and if you have a volume this might be pretty cool but that's essentially the last thing that i need to show for you to break down at the breakdown for you and show for you to be able to make your own volumetric clouds so now i'm just going to close out of this and then i've got everything nicely named and organized inside this folder structure so it's going to take my volume texture which is currently broken again so let me just fix that because of that missing texture there we go fix my material so i'm just going to now apply my material instance to this and this is how my final clowns material works and then i'm going to open the instance so we can control that and i've made a lot of parameters i've exposed a lot of parameters here just so we can really control the and art director clouds like you can control the density of each layer individually so we have our stratus clouds here so let's go to our stratus amount the more there is the more it goes until it's max sorry the stratus coverage from zero to one zero no clouds 0.5 should be some coverage and then one is full coverage and then that's the same thing for the cumulus but that's dictated by the size like i said that gradient had linear falloff so you can control the size of your cumulative stratus clouds here and the breakup of them and their max density and so there's a lot of control here and i'll walk you through the final material now and you'll see it's familiar to everything i just showed you before we've got our noise panning and then we have our phase shift just adding the noises together just what i showed you in the material before we have our cumulonimbus and then i just have two different material uh two different cloud types that weren't in the others before that's our altitude control we have our zero cumulus which is just high altitude using a curve to control theirs and then a cirrus which is just using the red channel of that 2d tileable to make it look wispy like i can show you again this to get those high altitude wispy clouds and then all i'm doing is simple adding and then one of them i blend by a max and then adding again and then make sure i saturate uh choose the max density and then all of this again is exactly the same so i don't want to save that i haven't done anything to it but you can just go through and control each of these layers individually you can take a lot more care and naming parameters and setting parameters up uh but this is just quickly thrown together for the purpose of purposes of demonstrating how to make volumetric clouds for the tutorial so now we have clouds we have them interacting with the atmosphere and not just that because of the new dynamic skybox and the way that the clouds scatter based over that volumetric node as we can move the sun and it cast shadows inside the clouds on themselves based on how they scatter light uh but you can see that they're not casting any shadows anywhere else and that's because uh we have to change some settings in the skylight in the directional light sorry so we go to the direction light directional light and then scroll all the way down we have some atmosphere and cloud settings here so cloud shadows and clouds means that the clouds cast shadows on other clouds or it casts challenges from objects onto clouds sorry and then car shadows on atmosphere and then cast shadows uh cloud shadows will mean that if the sun is behind the cloud it will cast a shadow on the ground to be enabled that you can see that it actually does a really good job with that although the resolution is quite limited due to the uh the shadow resolution you can up that a little bit obviously at a performance and accuracy cost and yeah you can see my clouds we have the different layers you can see the wispy clouds up high up and you can control the falloff of each layer and this is the new volumetric cloud system in unreal engine 426 and then just to show you that it is really well done optimization wise is let's go to lit and buffer visualizations optimization sorry and then shader complexity and you can see the only area where it gets expensive is where the lighting is casting the maximum bounces through the uh through the volume but everywhere else is relatively low and this is dictated largely by our sun angle so you can get it quite performant by just not having the sun at a strong angle uh but obviously it's quite easy to now make a day night circle because all you have to do is move the sun and everything automatically updates you don't have to do a lot of changing your values so now let's go to back to lit and then uh to show how this ties in with our atmospheric sky system before we call this all done uh if we go to a sky atmosphere to you can really control the feel of the sky as well okay because i feel that this is looking quite good just a little bit noisy and you will get some weird banding due to the uh i believe it's due to the bit depth of the shadows and textures casting shadows so you're going to want to play around with your settings in your directional light uh for example if you it's your cloud shadow strength that will control that the most so if you get rid of the cloud shadow strength there's none of that so it's it's due to the the limitations of the uh the shadow casting resolution so let's get that back up but it's now visible i'm not sure how well youtube shows that off but you will find it in your own testing and then in the sky atmosphere if you want to get more god rays so let's go here and turn the uh here and turn the stratos coverage up a little bit so that there's a lot more cloud cover so only the sun can come through a few angles and now if we go to since we don't have a atmosphere fog anymore we only have the atmosphere uh the sky atmosphere this essentially does the same thing with the the rayleigh scattering over distance and the different types of scattering like your me sketching and your really scattering and you can control those all in here by i like to turn the rayleigh exponent distribution up a little bit to get more of a stylized scattering i usually go 10 or 12. you can see a little bit more going on there and that'll push things more towards red the the more scattering there is in the atmosphere so if you want to make more of an africa sky you want to turn that up and tweak the values a little bit and your rayleigh scale here to get more stylized softer looking atmosphere with more fog and then the me which is mie me scattering this is your closer up stuff so if it's raining and a lot in your game or if it's like a sandstorm you've got your i'll show that's really me uh if it's like a sandstorm or raining you got your me scale here which is just the density of your local atmosphere you can see the more you turn that up it's actually also casting god rays so it doesn't just cast shadows it also casts cod rays through the fog so all of this is very very dynamic and controllable and then in your volumetric cloud settings you can control your bottom altitude for the clouds uh or have them go as high as they need or the the max like density height of the clouds if you want to get more cloud layering through your atmosphere but the the more uh the thicker your cloud atmosphere the worse it's going to be for performance as it has to scatter light through a larger volume and but depending on your light position or effect performance more so uh and again uh if you're taking that into mind you're the size of your sky atmosphere and the size of your game level uh all of the parameters for this material regarding cloud size here are all easily tweakable as well so you don't want a cloud being one single cloud being larger than your entire level because if that goes over all you have is a gray sky so being able to tweak the size of the clouds for your skybox to match whatever you're working on is also a really powerful way to help with art direction and there you go that's the volumetric cloud system inside of unreal 426 as i said you can get all of these on my art station store for free because i'm also i'm using volume textures that i didn't make and this is for educational purposes uh feel free to use what you learned from this and any of the files that i made that i'm giving to you materials wise as well for anything you want there's no limitations there just i hope this helped you and i hope you liked it so if you did give the video a like and if you make anything cool with this feel free to tag me and at me on uh on twitter always give me a shout i'm always excited to see what other people are making so that's my volumetric clouds breakdown and kind of principles for unreal 426 and i hope you found this useful have a good day
Info
Channel: The DiNusty Empire
Views: 77,371
Rating: undefined out of 5
Keywords: volumetric clouds, ue4.26, unreal, clouds
Id: oWE_vYiQMoE
Channel Id: undefined
Length: 40min 36sec (2436 seconds)
Published: Sat Oct 10 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.