Houdini Tutorial | Setup and make ICICLE in 1 HOUR!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey everybody how's it going welcome to another houdini tutorial so i haven't been around much and it's because about two weeks ago i got covered and my throat is still a little sore i still uh cough sometimes so i'm trying to keep this video uh short and to the point uh but before we start uh this is my behance profile uh you can check out my stuff there i usually post here before posting on instagram or twitter so you can be one of the first people to view my project so if you're interested just give me a follow uh yeah for example this is my latest project awaken i am thinking about turning this into an nft but i still haven't decided yet all right in this video we are going to be talking about heart of ice well uh we're not going to be covering uh this project entirely we are going to be covering the uh icicle effect let's take a look at the video uh we have this ballerina dancing we have a snow simulation we have some simulation on the ground which gave us this uh snowy effect we have some modeling here everything is done in houdini and yeah this is our icicles we are going to be covering uh how to generate these icicles i'm going to be using a sphere instead of this model which by the way the model is by paul marks it's available on sketchfab you can just download it from there or you can just follow along with the sphere i prefer doing it on a sphere because it's simpler here and after that i'm just going to show you my own project we're going to i'm going to do a simple breakdown on other stuff but yeah our main focus is going to be on the icicle effect these are just some other shots from this project i particularly like this one and yeah let's jump into houdini all right so we're in houdini uh i'm just going to put down a sphere and jump inside uh i turn this into a polygon let's bring the frequency up to like uh 150 yeah a lot of frequency i'm just gonna put down an attribute warp dive inside uh p to p displace lung normal and let's just put down a a noise connect it to mount yeah this is good i'm going to copy this uh and here this noise and just connect the noise output to this position and change this into a 3d noise all right good now i'm gonna bring the roughness down yeah this is an interesting shape i like it uh let's play you know what uh let's actually before doing that i'm going to put down a mountain in here yeah this is better i'm going to bring the roughness down i want my shape to be a little more interesting so something like this and then i'm gonna apply oh oh yeah this is very interesting so by the way you can just use any model that you want we're going to be covering how to do a frozen effect it doesn't matter what the geometry is uh you can do something else in here as well if you want you can put down another anti-aliased noise and just connect this to your scale and now on some parts of your geometry you're going to get this now let me connect it to cd we can see where we're going to get our displacement so just connect it back if you bring the amplitude up you can see how you're manipulating your geometry i'm going to put down a fit range in here and the alias noise gives us a value between minus 0.5 and 0.5 so you can just put that in here and yeah uh this is an interesting shape we're getting some displacement some parts are going to stay clean you can just play with the uh frequency something like that oh i am not going to be doing that in this project because i actually really like this effect let's let's play with it a little bit maybe yeah okay offsetting this thing as well and maybe actually going back here on our mountain node and offsetting our shape and these are all very interesting i like them not this one in particular but okay yeah i like this one all right we're going to put down a null by the way you can colorize your nodes by just permanently colorize them by holding down control and clicking on these colors while you're selecting them and from now on every time you put down a null it's going to be in this color i like keeping them red and i'm just going to say in geo so i know that this is my initial geometry i'm getting some intersections in here i don't like them so let's let's do this let's put down a vdp from polygons bring the voxel size down and let's convert back to polygons and it's fine now in between you can put down smooth sdf and yeah this is better we are losing some uh some of our details in here maybe play with this value 0.005 okay yeah something like this uh you can also just uh let's let's not do that actually let's bring it back to 0.01 uh you can go back here play with your values maybe another shape for example something like this seems actually much better it's not intersecting that much we do have some intersections in here you can just play with your values and find something that isn't giving you any artifacts any intersections maybe something like this okay this looks better let me look inside make sure not having any intersections i mean some small intersections in here but i don't think it matters right so actually we didn't need the vdb but the bdb workflow is actually the standard workflow whenever you have like intersections or something like that you can do that and uh i mean you can actually keep it and put down another mountain load mountain node for example after it for example this is our shape and then we just put down another mountain bring the height down play with these values and we can add details on top of it it's it's pretty awesome i i like it and how many points do we have here about 200 000 yeah on a good number right and yeah as you can see we're adding details it doesn't really matter i'm just going to put this on the side connect it directly it's fine no need to worry about it so uh we're gonna do the uh frozen effect with a pyro note let's put down pyrosource i'm gonna come here say surface scatter in the particles particle separation i'm gonna go with 0.025 maybe 0.02 okay yeah this is a good value i'm going to click plus i'm gonna say temperature and i'm gonna set it to zero all right let's come back here i'm gonna scatter let's say three points maybe four points yeah i'll put down a sphere make the sphere smaller select both of them put down a copy points okay yeah this is uh good i'm gonna come to my pyrosource and put down a group node connect this to the bounding object come here uncheck this go to bounding regions and go with the bounding object and we need to change this into points all right so i'm going to call this start group and we're going to put down an attribute wrangle don't worry it's not complicated code uh i'm just gonna type f at temperature it goes to one that's it and right now if i visualize my temperature we're gonna be having this so let's put down a pyro spread very simple uh let's bring the cooling rate back down to like um 0.4 maybe yeah this looks good you can actually bring the rate down or up to fake the speed uh if you bring it too much on the low side it's going to be too slow but i kind of like it in here i think i think this is good now let's take a look at our diffusion maybe bring the element size down a little bit let's see let's look at other uh noises this one looks interesting but it doesn't really look like ice oh no uh manhattan worldly yeah this is this is interesting i like it and let me bring the element size down maybe make the cool parts a little bigger okay let's take a look at our temperature now it's going i like the shape or having these parts in the middle that are not being affected i like that and yeah overall this is a very good very good uh shape effect all right so we're going to put down a group expression i'm just going to call this infected group change it to points the pyrosource pyrosource spread gives us a lot of attributes i'm going to be using the burn attribute i'm going to say wherever burn is not equal to 0 select that point all right cool and i'm just going to put down blast and blast infected group and i'm just going to check delete now selected so we're getting this shape all right very interesting uh now we are going to be uh basically uh generating two branches in here so on one branch we're going to be generating our ice effect basically this thing let me show you the ice on the geometry and on the other branch we're going to be generating the actual icicles so i'm just going to come here on the left side we're going to be doing the ic effect i'm just going to type vdb bdb particles and we need to bring the search radius down uh point trade you wax the size let's set it to 0.01 for the time being and the point radius 0.02 for example too low uh 0.05 still too low 0.1 we're getting something but it's actually not that good so let's make it bigger until we can see it right yeah something like that and i'm just going to put down a reshape all right yeah this is good okay yeah this is good enough for what we're going to be doing here uh very interesting shape and it as you can see it's pretty fast we can manipulate your pyrosource add more points and you can get a better resolution here all right let's generate our icicle so we're going to put down a pubnet we are going to come up here we have this ngo i'm just going to copy that dive inside down a static object merge them together you can put down a static solver in here it doesn't do much but it's better uh i'm gonna point to my in-geo all right i'm gonna check this guide i'm gonna come here and say points because i don't want to have it on all my points uh if i set it to all points it's just gonna uh put everything on top of each other it's it's not nice i'm gonna say points and i'm gonna come to my birth tab and i'm going to say 5. so we are going to be getting these values now my static object is actually not that good right now as you can see yeah and we're scattering them on the surface so i'm just going to come out here let's take a look why is there a distance oh yeah it's a p scale attribute i forgot we had a uh p scale attribute so i'm just going to put on attribute delete and i'm gonna actually let's just delete all the attributes we don't really need that anything right go so we're generating our points basically these points are going to be our starting points for the icicle effect i'm just going to dive inside i'm going to put down a power angle in here i'm going to say v at v point y uh is equal to a random number based on the at sign pt now so what's gonna happen here uh let me just jump right here i'm gonna visualize my v attribute right so i'm generating a random value for my uh velocity now it's pointing up and we don't want that so let's multiply it by one minus one so they're going to be falling down all right good i'm also going to add a uh gravity note in here gravity force so everything is going to be pointing down all right good uh actually uh let's just come here say v at v equals to zero and now all right yeah it looks correct now because uh it wasn't uh functioning the way i want it uh yeah and i'm just gonna come here say fit 0 1 because uh this random number is putting out the output of this function is between 0 and 1 and i'm just going to fit this value between 0.1 because i don't want them to have a velocity of 0 and let's say 5. i i think we actually don't need the gravity right now yeah actually we don't need that when i enable it as you can see it's not doing much for us all right so came back down yeah i'm going to put down a pop drag because i want to slow it down let's say like 100. yeah that looks good so we're generating random points based on uh the points that we're already having in here so we're giving this input to our pubnet and our pubnet is just randomly selecting some of these points basically five of them each second we can bring this up select 10 we're going to have more but they're gonna pile up especially in the beginning so i prefer putting down five and also in the constant activation i'm gonna write dollar ff bigger than 24. so what's going to happen here is that on the first 24 frames we're not going to be having any uh particles and the reason is uh all the first frames everything is close to each other and i also don't want any icicle forming uh in the first second uh i don't know if it makes sense uh it's gonna make sense uh in a little bit i'm gonna come back to it uh all right so we just let this thing run good i'm going to put down a trace off i'm going to come here say connect as polygons and let's type dollar ff and check why is it escape uh i forgot i should put down pop in here so that we're not actually bringing everything and yeah it's fine uh you need to uh put down pop or actually the better way pop object one or pop object what's it called pop object yeah uh because we don't want to bring the uh static object out here so yeah this is good uh we're trailing them these are going to be our icicles i'm just going to put down a resample node in here and i'm going to check curve view it's always good to have the care view attribute it's very useful so curve view is giving us this attribute on each of these curves starting from zero and ending in one and well we're just going to put down an attribute swap dive inside bind and bind export just select both of them type curve view or actually i mean if you don't want to actually affect your care view you can just call this on a width something like that just connect them here put down a bit range maybe before putting down the fit range we can actually put down a ramp parameter as well change this to spline uh we're going to come here right click go wax options and create input parameters all right so when we come here up here we have some options now what i wanted to do here is putting down a poly wire now i want to use this curve view which well it's now with i'm just going to type at sign with and well it looks terrible i know that first of all let's change this to eight now we're going to come here and on our uh attribute warp we are gonna [Music] change it like this and now we're getting our isofield shapes cool looks good and we can use this to manipulate the shape for example maybe you want to make some part smaller some part bigger something like that i'm not going to touch it i just put it for yeah in case i need it so maybe from polygons 0.01 yeah looks good and then we're just gonna combine these two uh branches together so let's put down vdb uh combine come here uh change to sdf union yeah this looks good maybe put down a smooth sdf before that in here on our icicles and this was the original shape this is this one and then just put down another uh smooth sdf after that yeah and if you don't like the shape you can just simply change the speed if it's too short i don't know convert vdb again convert it to polygons and yeah we have our shape looks pretty nice i'm actually very happy with this uh if you don't like it again you can just uh manipulate your geometry manipulate uh this reshape node if these are sticking out too much you can just go with like a value like three and it's going to get resolved i mean it's going to make it bigger but it's fine let's come inside let's say let's put it between 7.5 so we're gonna get more movement also maybe actually just go to 10 so that we have more icicles all right yeah this is an interesting look i like it so let's come here we're gonna select these merge them together and now we have our geometry with this ic effect and you can put down a mountain node in here obviously bring the height down play with this so you get something interesting okay something like this and maybe colorize it so it's obvious which parts are our frozen geometry oh yeah this is nice and again you can just put whatever geometry you want here and i think it's actually pretty fast as you can see i'm scrolling through the timeline and it's pretty much real time it's awesome all right this is too thin so maybe 0.05 something like that again if you're not happy with this you can actually put down an attribute warp i'm just going to come here copy this attribute the whop that i have here let's dive inside one and here this noise is enough let's bring the scale to 0.0 no 0.1 it's it's not not that interesting yet oh 3.5 uh frequency let's play with the frequency okay yeah we're getting somewhere and now we're going to just put down a fit range because again as i said this value is between minus 0.5 and 0.5 and now uh we're not going to be getting any artifacts on the inside but you should play with this k to get something that you actually like and yeah uh something like this i'm still not really happy with this shape so let's just play with it affect the amplitude maybe okay yeah this is much nicer oh i like this it's actually really good so again whichever you prefer i kind of like both of them let's stick to the uh attribute wap version now in the end you're just gonna have to put down two groups let's just bring it down here i'm going to call this one geo group call this one frozen group grows in frozen group i'm going to put down a material note i'm just going to say frozen and then geo i'm gonna give it to material slash matte slash frozen and slash matte slash geo all right so uh i still haven't made the actual material rs matte builder let's grab this one geo and as you can see when i apply it they become lighter the color so i i know i'm uh applying everything correctly and frozen and yeah we're good basically what i did there is same with just generating this rs material copying it going here and just paste it since i know this is going to be the address i just type the name and then specify it later in the math section i i don't like going between context so much so i just generate everything in here and then i'm done and i can focus on the materials all right uh this is good all right so we're near the end i'm just gonna put down a camera let's look at our uh object from i don't know maybe some from here yeah this this this looks nice all right uh i'm gonna put down some lights our slide the left side let's come here our slide on the right side good and we're gonna have a rim light okay let's jump back out make it bigger select all of them come to light and check visible yeah good save the scene go to camera save render view see what we have all right yeah looks good uh huh now we're gonna go to frozen uh we can use the water preset or okay tinted glass and come here change the tin to something like this okay yeah this looks good uh also uh let's just come here under red shift isolation and check enable displacements oh i like having displacement on my uh ice material uh displacement connect displacement in here save the scene uh maximum noise make the scale 0.01 look at the maximum noise maybe fpm i love fbm such cool noise disconnected here probably still needs some manipulation yeah we're getting there i kind of like the shape now uh let's just go to our geometry maybe change it to like iron or something like that oh no it doesn't look good yeah let's just create our own material we can put down noises stuff like that color like this don't want any roughness all right good let's go back let's look at our lights number three right this is the rim light okay yeah light number two let's look at it from the side something like that night number one sorry all right yeah this is good i like it i mean you can just put down different stuff in here put down material blender copy this one connect it here maybe change the color i don't know like this down make some noise again create something interesting i don't know i i feel like i've done this technique so much over all videos that you guys probably know what's gonna happen here we're just gonna play with the values maybe something like this i don't know uh maybe bring the roughness down a little bit all right maybe add some color in here too much yeah something like that looks good uh let's go back to our frozen material we can play with the roughness make it rougher uh i mean obviously this is not a uh icicle anymore so be aware of that uh it's pretty much like it goo or something like that but yeah you can just play with everything you can actually play with the color of your refraction generate something interesting there maybe play with subsurface add some scatter scale yeah something like that let's make this lighter and then just play with the absorption scale yeah that's the basic process uh you can put down a maximum noise uh let's go to electric let's look at it something like this maybe just connect it to the reflection roughness maybe it gets more interesting i don't know uh it all depends on the scene that you're trying to generate here overall this is a good shape i'm kind of happy with it we're not going to be focusing too much on the rendering part in this video and just move around is too late uh pick a frame that you like maybe something like this maybe a zoomed in version and again as i said best part about this setup is that you can change your geometry to whatever you want and you can still get the results it really doesn't depend on your input maybe actually add the tessellation here as well just to make sure we're not getting any weird artifacts or anything like that but maybe play with this material let's go with like copper it's kind of interesting uh what else let's just put down another material rs material maybe keeping it simpler is actually better it's a unified color uh make it a little lighter no and yeah that that's pretty much it and you can also enable volumetrics let's do that i love volumetrics advanced volume scattering uh let's come up here click on the rs slide let's bring the contribution scale up a little bit and just spread down yeah too much forgot to select light lock it all right can move it now so yeah you can do uh whatever you want interesting shapes for interesting designs uh yeah that's pretty much it guys uh i am going to uh show my uh version of the setup next because i think that might also be interesting oh by the way let me actually put down a curvature uh i kind of want to try that as well uh convex 2.0 to 0.02 yeah this looks interesting and uh yeah let's use that as the mask let's see how things look here and yeah this is much more interesting i kind of like it now uh you can play with our values come to our copper maybe change it a little bit just something like this oh yeah this is very interesting oh i like this and you can actually put down a bump map if you want connect this to the bump and this to the input and just put down minus one here if you want you can also put down a displacement instead of a bump if that works better for you i don't know uh displacement is going to change the curvature so you need to be careful about that now 2.01 shouldn't have connected it directly because now it's going to get crazy uh refresh the scene okay as you can see we're now adding some displacement uh again uh it's up to you whichever you prefer i'm kind of good with the bump i think that's a good look uh you can again come to your first material put down like a color layer uh connect this to the diffuse color well black is actually kind of nice kind of like that maybe i should just stick to black dark value yeah this is actually quite interesting so yeah let's connect the color layer down axon noise connect it here uh to the mask maybe change this to light value so that i can see what i'm doing here uh booyah maybe let's let's take a look at our booyah noise directly it's gonna be something like that make it bigger something like that right yeah change the color to whiter shade such as this thing and yeah we're good to go i'm happy with this pretty happy uh the only thing i'm not happy with is the color of the light and the overall shape of the volumetric light so let's make it smaller i mean the volumetric light isn't actually necessary in this scene just kind of want to have something going on in here uh why am i actually not getting any maybe yeah okay getting something to spread play with the spread let's add to something like this all right yeah uh maybe add some octaves to your uh booyah noise and maybe add some color in here as well it's more interesting maybe something like this actually kind of helps the effect and yeah that's it okay so we're done here i'm just gonna let this render uh i'm still gonna play with the uh final version uh for the thumbnail uh let me bring my own setup i'm just gonna talk very quickly about what i did in my own version uh yeah let's take a look at the ballerina we have a simple rotating shape in here it's not anything fancy and we just have this thing i just did the same technique uh with the frozen effect i just showed you guys uh this is our effect our icicles uh they look really nice i'm really happy with this i just combine them together again and just add some colors very simple we have our snow simulation which is just very simple particle simulation i had to cache it because i have a collisions and yeah this is a very simple uh particle simulation i have a i shouldn't have jumped inside i have a pop access force pop wind pop drag all the normal stuff i have some collisions i generated this shape right here kind of looks like a uh snow thingy particle it's no shape whatever you want to call it it's so small doesn't really matter very simple i just generated the basic shape and just use the copy transform we have our dry ice which is literally the preset for dry ice here was it dry ice uh i have the glass and i have a attribute in here which affects my roughness i i just generated an attribute warp use the noise i call this attribute matte roughness and on my material section on my glass i just import that as a particle attribute what else we have these lines in here very simple uh i'm just using a uh using the outside of the glass i just remesh it uh sort the points put down i start starting points in here uh put down end points and then just put down the find shortest path very simple uh use the start group and end group and just when i put down a carve note just gonna grow take over the whole thing i fuse them together because there's gonna be multiple points on top of each other as you can see here very messy so when you fuse them together everything is resolved and then just define a p scale and by the way the fine shortest path by default puts on an attribute called cost which kind of actually works like a resample node but it goes on the overall thing so you can just put that use that uh to define your pc oh very simple uh what else do we have in here we have our base which is some very simple hard surface modeling basically put down a circle affect it uh blast parts of it extrude them copy stuff it's very simple very very easy so yeah that's the base what else do we have here we have the floor just some object some uh boxes copied to some points and then just clipping them and stuff like that yeah uh what else do we have in here we have the gears again very simple i just bring in circle blast these parts using the add stop i just bring the points extract the points and scale them with the uniform scale merge them together another add with the attribute id which i'm defining here and setting this to equal to pt knob and then just sweeping them uh sweeping the inside sweeping the outside and then just merging everything together we have our gear shape uh i want this gear to go up and down so i put down a motion a chop network motion fx i use a wave let's take a look uh this is my wave this is my noise and then i'm just using them combining them together this math and multiplying them and then just exporting it out as this noise and yeah it just goes up and down very slowly so when i look at them all together it's going to be like this and i just put down a transform with the keyframe or you can just keyframe or put down a expression minus frame here so that it moves around and yeah we're pretty much done just subdivide it copy it over in here creating another version of it and by the way i'm subdividing this one because i'm going to use it as a collision in my snow simulation and then just uh caching everything you don't have to cache it but i wanted everything to be as fast as possible outside here and moving parts can make it slow so yeah that's why check this cost and yeah that's the scene very simple very easy it just takes some time to set up the materials and the lighting and stuff like that uh let's take a look at this and yeah it's done uh i hope you like this tutorial i tried to keep this one very short where to the point i'm still going to play with these values for example the roughness on the frozen object isn't quite right because we're having a lot of roughness on these parts and actually that's not very correct so let's i'm just gonna change that real quick and then we're gonna be done with this tutorial we shouldn't have too much white parts in here that's basically uh the thing so in all honesty maybe electric wasn't the best noise here what about booyah let's stick to booyah but i'm gonna scale it in this direction to something or actually maybe this direct no this one maybe but uh yeah something like this maybe [Music] i don't know let me uh check it uh if it's good i'm just gonna stick to this one and if i don't like it maybe change it the other direction yeah maybe this one's better i don't know i know that's it we're done here uh you can just continue working on it you can change the material if you don't like the colors you can just play with them change it to something that you enjoy something that you like uh if this thing the copper material is too much you can just make this one bigger the value and just it's gonna affect the overall look maybe make it actually smaller uh not bigger something like this 0.01 yeah that's kind of maybe more interesting i don't know uh again everything depends on your taste maybe something like this is much better maybe cooler i don't know why did i close that so yeah i'm just gonna let this thing render one more time and we're gonna be done all right so uh at the end i just changed a couple of uh values here for example on the attribute walp i changed the frequency of the noise the displacement values i disabled this smooth sdf here which is going to give us a longer icicles and i just came to my material the frozen material and bumped this scatter scale to 6 which as you can see is giving us this nice value on top of the geometry like these parts are going to pretty much stay the same but as i bump this up you can see we're actually getting uh something that looks like an ice uh you can uh cheat it in here and like straight up put a uh solid material which by the way kind of looks cool and play with the values play with the color maybe something like this i don't know it's up to you if you're happy with it then it's okay uh again you can just add refraction maybe a tiny bit of refraction i don't know uh i mean this is pretty much cheating but i mean the results kind of look nice and you can add some scatter scale in here maybe some absorption here bring the refraction up a little bit and yeah you can have something like this again uh i prefer approaching it in a more physically correct way but it doesn't really matter you can just you know do whatever you want in here as long as it looks good then it's fine i just brought down the diffuse value to zero to just play with this uh maybe add some absorption it's kind of interesting i mean it doesn't look like ice but it is interesting you know or maybe have something like this and obviously the absorption scale should be way way down i just realized i ended up with the exact same material that i had there uh so in the end i think you're going to want to use the same technique all right we're done here i think it's a cool effect it's actually going to be very helpful if you want to simulate freezing stuff uh you can just combine it with like a particle simulation and it's going to look nice so as a kind of another example for this project i decided to bring alfred which is one of 3dscan's awesome models which you can just download from the website uh i change the size about it to the uh center and yeah i just did the same thing with it there i change the input use the same points everything is the same i played a little with the uh points here i added 50 and i played with these values a little bit because i wanted to get better results and for example this is our icicles yeah and we also have the uh frozen part and i'm not the biggest fan of this shape in here let me take a look at my virus spread and yeah it's probably because of the diffusion or something like that yeah uh i'm just going to delete this bring it over here look at the values a little bit yeah this seems better so let's just play the simulation okay and why am i not getting anything oh i'm frame what uh good okay yeah we're getting our icicles yeah this looks pretty good now as you can see we can just get very different results uh just changing the geometry changing the shape i added this smooth note in here smoothing things a little bit then i put down the warp match with warp i subdivide it to get better results you can just leave it at this original subdivision it's fine i just decided to subdivide it a little bit as well and yeah that's it again another example it's going to end up looking something like this uh you can also tweak some stuff in your material uh let me show you for example well i'm not doing anything there uh you can just add a bump map and it's gonna help with the setup and bring it over we're adding these tiny parts in here and yeah as you can see very simple very effective uh it's a nice effect you can just use it whenever you need any sort of freezing effect or something like that i also changed a couple of parameters on my subsurface for example i brought the scatter scale way up to five because i think it's giving us better results i played with phase uh i changed the uh or is it the ior for example if you leave the ir at the default value you're not going to see this top part the light is not going to be broken enough so i just uh brought this value up and as you can see it looks better and yeah that's it uh i promise this is the final time i say that's it i'm just gonna uh show you how this thing looks and you can just change your values you can change the geometry you can bring whatever you want just resembles and yeah that's it thank you bye bye you
Info
Channel: Motion Designers Community
Views: 1,851
Rating: undefined out of 5
Keywords: motion designers community, tutorial, motion design, video, copilot, greyscale gorilla, greyscalegorilla, eyedesyn, brograph
Id: vHAew3gmJnk
Channel Id: undefined
Length: 59min 6sec (3546 seconds)
Published: Fri Dec 17 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.