From Ants To Outer Space | Inside Unreal

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
areas, questions that were raised online, and look into some of the things that were shown earlier a little bit further. Before I go there, just to quickly give credit like I did in the initial video. So I've used Quixel Megascans, and I've used a number of things from the Marketplace including this very cool shader from Nightshift Studios Tropical Jungle Pack from PollyAset3D, the Meadow from NatureManufacture, and the Fictional Aircraft Pack from ModelWorks. And of course, thanks to Sebastian Hillaire and the whole Unreal Engine Engineering team. Now let's get going. I'll quickly walk through the slides that I've got just to give you overview of what I want to talk about. I want to talk a little bit about how I made the landscapes. It has nothing to do with the sky, but just how did I make the landscape. Quixel assets workflow, gradient coloring, fading landscape overlay, far off terrain, that kind of thing. And you'll see what all of this means as I talk through it. Spherical Planet-- let's take another look at that. The ground material that I'm using. I did something special with the sky material, essentially the clouds. There is a bounds problem if you do this that I didn't highlight in the initial video, so we'll talk about that. And the center of the world doesn't actually move, which is an important consideration for how I've done this. Sky and scale in general-- so just a general discussion a little bit on scale, precision errors, just looking at the whole thing. Foliage-- I'm using all three types of foliage that we have in Unreal. I'm using something that I call a double layer foliage approach. I also have a slope trick. I have distant color fading, and I have ground sinking. So a couple of specific things I do with foliage that I haven't seen that many people do necessarily. I'm sure someone has done it, but not super common, I feel, so I want to highlight that. Take a look at my Blueprints. There's not a huge amount of Blueprint in there, but there were some questions that were raised on the initial video. How is the Blueprint done? What am I doing in there? So I want to walk through it a little bit slower than I did in the first video. The moon and the stars-- so reviewing the material set up for both of them. The star set up is rather special, has a few weaknesses, so I just want to highlight that for transparency sake. And the moon material is special. We'll take a look at that as well. And then eventually, take another look at the volumetric clouds and a much slower look at my material set up. And there's a few random things that came in just talking about the real-time sky capture. I saw someone post on the forum, I believe, can I do a basic day and night? Yes, I can do that. So I added that in. And there was a request about performance. I'm not going to go very deep into performance, but I've added it here just for the sake of touching on it lightly, and I'll get back to why I'll do that later on. Cool? >>Victor: Sounds great. >>Sjoerd: Good. So I'm good. OK. I got to look that way. I have too many screens, but that's my screen I'm going to be working on. You guys are over there. So let's go all the way back, and let's start. Right. So in terms of how I made the landscape, and you can see I also have three editors open here by the way. I've got-- this is the cloud version because it's a different version. This is the normal one I'm working in most of the time, and this is one-- a test project just for the sake of something I want to show with the foliage. So I'm going to be working in the main one over here most of the time. The landscape is this giant thing. In fact, it's really, really big. It's the whole planet, right? The way I set this up is I actually tried a new tool that I haven't tried before, and I got into it, and I really enjoyed it. So what I started using is something called World Creator, and here you can see the original landscape that I started from. So this has been altered in here. I have a rather complex setup here to do this. But so this is what I came from. You can see it's actually mirrored here. You can see all the way around. Here's the valley where the main camera position is in-Engine, and the river is here. So all the elements are here that you see in-Engine. I really quite enjoyed working with this because it's first of all, the camera control is regular WASD. It's very nice to work with. It's completely real-time, and it was very fun to edit and mess about with. So for example, you can do edit shapes, and it's not going to look very good when I do something now. But the fact that all of this kind of stuff is in real-time was very nice. It's going to rebuild it, and the rebuilding here is going to take longer than it should because I have a very complex setup again, as mentioned. You can basically take all the layers away, make layers, and this whole experience was really, really pleasant. You can create filters through it, and you can preview that in real-time, and so on and so on. So I started off over here, including baking the textures. The textures is just a bunch of gradient colors. It's recalculating them. You can see all of this is just done with filters. got baked to a texture and a height map, imported those into Unreal. So nothing too special over there. I basically just imported height maps. Sorry. Imported the splat maps for the texturing on the landscape, and then I had the main area itself, so everything minus the static meshes, which is this. So I have this. And then the surrounding terrain was done more or less in a similar way. So it's only actually this that is a landscape to be clear, because I saw that question being raised on YouTube a few times. This is the actual landscape. Everything else is a mesh. So the rest of world is a mesh. These surrounding worlds-- so essentially these mountains-- are done the same way, but it's a mesh baked from World Creator. So the mesh looks like this, and this is kind of a cool preview because the scale is kind of weird. It's basically a single mountain more or less made in World Creator. It's a different project to this one, but same workflow, baked down as a mesh. It's fairly high poly-ish It's 11,000. I mean, after Unreal Engine 5, nothing is high poly anymore. So it's kind of difficult to say that. Relatively speaking, it's high poly. I pull down the axis here a little bit to help with gaps, but that's it. And then I place that mesh all around the central area. So you can see all of this, it's just a copy paste of that mesh to make the nearby area kind of blend in, and I also have a little bit of the green valley stuff look a little bit more detailed. So that's what you're seeing around the environment. That works very well from a regular camera perspective. If you're above here, you get obviously some really rather ugly intersections, but you don't see that too much, especially once you're over here and not a direct position. And then beyond that, there is a second mesh, which is this big thing over here, which is-- and this is going to be really kind of difficult to preview at this kind of scale. You can see it goes outside of the preview dome as well. It's the same thing. It's made in World Creator, but it's more just like a noisy, generic terrain basically. I'm trying to do wireframe. This is 83,000 triangles. Of course, this was a demo. There are some certain performance considerations with meshes like this I didn't have to take. . So in production, probably would want to have a little bit less over the top. So that's baked there, and then I did that again because the stuff over here is actually a different mesh. Again, you can see how big this chunk is. So it's basically tiling meshes over here-- these pieces tile. And camera speeds a little bit difficult to get under control sometimes because I deal with such large numbers. And this is a bit too soft again. Sorry. Now, let's do a 64 with WASD. Wide frame here-- you can see what happens, right? And so you don't really notice that, but that's what's happening over there. And then you've got these giant meshes surrounding that in turn. Those giant meshes are spherizing themselves. So if you're at the edge of the world, you can clearly see what it does. It does that, which is really weird. If you turn off that effect, you can also see clearly what it would have looked like if I wouldn't be spherizing the world. So it's actually in the material. You can see I've got this-- that's the thing doing it, the material function. So if I turn on the switch parameter, which I have over there, or I turn it on rather, which turns it off-- I confusingly named it-- then you get this giant thing. And so that's the world. That is the whole planet without spherical effect. And these are all the same. They're just tiling. You can clearly see the pattern here. In the middle, there is a bit of a lower area because that's actually where the key central playable area is located above that central spot. So it's all fake, basically. And you can see there is a landscape in the middle. That's it. And we're talking really large slices here. This thing is 8,000 triangles. It's low poly-sh. It's 1,600,000 units across, but it scales to scale 16. So it would be-- and then, I counted earlier already. I have 11 of those. I've got 11 in a square. So it's 11 times this thing. And I think my calculation's still here. I have a calculator somewhere. I came down to 281 million, I believe. So that's the planet. That's half the planet because the planet actually ends at the equator. I didn't do the bottom. So yeah, it's 281 million for the world. You can see-- that might be visible. There's this tiny gray spot there in the middle. That is my giant 8k resolution landscape, that right there. Just slightly over the top, but there is my landscape. And actually, if you really want to see, there is an actual ant in there. So there is the ant, and there is the whole world. >>Victor: There we go. Presentation done. >>Sjoerd: Yes. In fact, the coolest thing is if you select it and then fly up, and then you press F, which there's an interpolation to it, so it fits good, and it's like there, ant. Actually, there. Anyways-- let me turn off the spherical distortion disabler, and we're back to the planet as we have it. There's a few other things I've done as part of that. I've used a lot of Quixel assets. So all the rocks are Quixel assets. All of this is Quixel, Quixel, Quixel, Quixel. The foliage itself is often from a couple of different Marketplace packs, and it's soon going to spawn, by the way. When you go way into space, I've noticed it's trying to rebuild the foliage, and it goes through it step by step. As you can see, it's happening here, so it'll soon come back. But all the rocks are all Quixel and also the terrain textures are Quixel. One problem I had, though, was in building the cliff here, it was, first of all, really difficult to deal with the separate pieces because you had gaps everywhere. I actually modified a few of these assets to have more-- be a bit more bulgey. Like, what is it? Convex concave? I always mix the two up. But like a bit more bulgy so it's easier to push the sides into each other. That helped, but then my next problem was that all the colors were different, right? This rock is different than that rock, had a different tint, so it all looked very mixed and matched. So what I did is I built a gradient coloring thing. And what that means is if you look at the rock in itself-- here's the rock. I'm going to make it bigger. Actually let me do uniform size. And this is what happens. You can see it's orange at the top. As it goes down, it starts getting gray, and then eventually, it will get green, which is not visible on the rock, but it's going through a color gradient multiplication here. And by doing that, I got all the rocks to look pretty uniform. Not entirely, but more than sufficient once you're in this view. It also kind of aids a little bit with this weird green style that's on top of it. It's also partially post processed, but it's partially from that as well. So the way that looks in the material-- So this is the instance as generated by Quixel. This is the master that's generated by Quixel, except I copied one of them, and I injected this thing in it. And this is the gradient colorization. So we can see it's very simple. It takes a world position. It's offsetting that slightly, but this is the actual texture that's being multiplied, and that is the grading color you're seeing. And that works quite well, and that's actually a trick that's going to come back a few times in everything I've done to multiply an image on top of this to pull the colors together. And it gives a special kind of style, I think. It makes it look different. And if there's any questions, Victor, or anything you want to add, feel free to step in because otherwise, I'll just ramble on for the next hour. >>Victor: There was one question that came in about how large the landscape or the total size of the map, which you already covered. Someone was curious if there are any hierarchical instant static meshes. I think they're referring to the individual static mesh landscape pieces. >>Sjoerd: Individual, no. They're all regular static meshes, actually. I haven't done anything special with them. Except there's 11, so there's 100 in total, a bit more. It's not like a huge impossible amount. That being said, and this is a topic that comes back later, but I can talk about it right now. One problem I had with the spherical world doing this is that I'm offsetting the vertices way down from where the mesh is because this mesh should be there. That means that if you put the camera there, the mesh would have disappeared if you wouldn't have changed the bounds because the bounds are still saying it's over here. So what I did, and this is messy, so do not do this at home kind of messy, but it works, obviously. The bound scale is 50, which is messy. >>Victor: Yes. >>Sjoerd: Yes, but without doing that, I couldn't do this huge offset. The meshes would disappear because it wouldn't understand. The bounds would be used for collusion and culling. So that's one thing to consider. Going back to the main area here, and you can see the foliage is gone again. It'll come back. So that's one thing I've done there. I did something similar with the landscape itself. If you'll look at-- this is going to be difficult to see. That's kind of the intention, but without light, it's more visible. If you're up close, you can see the terrain texturing, right? There's some more brownish rocks there, grayish rocks, it's all there, the whole landscape texturing. If you move away, it actually fades over to the image as rendered by World Creator. So you can see at a distance, I'm looking at the original image. Up close, you can see this on the desert ground as well, I fade over to the tiling sections. This prevents me from seeing this huge amount of tiling in the distance, which would be a problem. You can see the tiling of the textures. That never looks good. So that's why on a pretty close range, you can see here's the normal textures, and it fades roughly around here already to the distant one. It also ties to the landscape more together with the style of everything else because it literally looks the same in distance, as you can see. I would've never been able to accomplish that if I would have tried to do this with tiling textures. And if you do this with lighting, it's actually really difficult-- [DOG BARKING] --to-- and my dog is barking, which you might hear-- it's really difficult to spot that transition, you see? >>Victor: Yeah. I can barely tell over here. >>Sjoerd: Yeah. I mean, you see the rocks popping out, but the texturing itself, you can't really spot it. Now, you're seeing a bit of the tiling over here, right, and then it's gone. So that's a really neat trick, and I'm doing this for every landscape I've been making the last two or three years, I think-- that fading out, and it really helps. Good. I always forget my slides when I do this kind of thing. So we did all this, and I have to take questions on these things later if needed. We've done a little bit on the ground material for the spherical planet. The sky material, the bounds, we've covered, but then, these two-- sky material and the Fresnel effect, and the center does not move. OK. Now what I mean with the center does not move is that I've seen some discussions on YouTube where people are thinking it over, how was this done? Did I use world position offset for everything to turn it into a sphere? I'm only doing that for these big meshes. I have the wrong editor open, but it doesn't matter. I'm only doing it for the big meshes over there. I'm not doing that for the center of the world. In fact, this is the center of the world, this somewhere here is around 0 0 0, and it never moves. You don't want to have to do a vertex offset on every piece of foliage on the landscape itself, not to mention any gameplay problems you might get. So I'm not touching any of this. When I'm in space, none of this is deformed. It's everything else deforms around this single spot in the middle of the world here, as you can see. So the center of the planet is essentially at the top, not in the middle. Because otherwise, this would not be doable. I just wanted to highlight that as well. Then also, let's go back to space actually. These surrounding clouds-- so the clouds you're looking at over here are the same clouds that you see on the surface. There is some very thin clouds over here. They're the same in space. But I have a few problems there as well. I have a few challenges there. So first of all, the cloud mesh itself is not a sphere. It is also a giant plane. You can see this is the thing without material assigned, and it is absolutely massive. It is 1 million units, and then, that wasn't enough. So I made a 1 million scale to 384. So it's 384 million units, and it's using the same spherical trick. But the issue with that is that at the edge of the planets when the clouds are visible here, you get a really-- it's really flickering like you see-- like all the pixels basically compress at the curvature of the planet, and it gets really crisp in the wrong kind of way, if you know what I mean. It's very-- it's not smooth at all. So what I want to do is Fresnel effect where it basically fades out near the edges of the planet. And that was kind of special because you can't do a regular Fresnel because you're using world position offset to move all the vertices to a new position. All right. I'm doing this. If you were to use a regular Fresnel-- because this is why we're doing that-- this Fresnel with the regular normals, the regular normals would not understand that this has actually deformed it. So it wouldn't match that. So this took a little bit of additional setup to essentially recalculate the world normals to do the same thing. So we went through this setup to accomplish that, and that was that. And you can see I'm actually taking this, and I'm multiplying it. I'm not multiplying in lerp, but same effect. I'm having it affect the opacity where the Fresnel is visible. So all the things I've done here-- and these are similar tricks that I can do-- somewhere in here is a pixel depth, I believe, over here. So I'm changing the scale of the regular cloud texture. This is the regular cloud texture that you're looking at. I'm changing the scale so that when you go into space, you don't notice just how much the clouds would have been tiling. When you're on the surface of the planet, you need quite small clouds. When you go into space, you would have noticed that those small clouds are essentially just the same texture tiling over and over again. So I'm scaling that up as you fly up, which is a very basic little setup with pixel depth, I divide it to make the number basically control the scale of it-- This'll control the scale-- clamp it for safety, and that went in here, and it switches between that texture or stuff I have over here, but it could have been the same texture with a different scale. >>Victor: It's very impressive. There was a question that came in that was wondering how long did it take you to finish this? >>Sjoerd: So I started around I think-- when did I start-- first week of February maybe, maybe late January. I can't remember, somewhere there. It was meant for GDC. GDC didn't happen. And I think actually, I started in the beginning of January. Anyway, I'm thinking 150 hours, 200 hours. I can't remember anymore. Quite a bit. It took quite a bit of trying things out and just trying to get the style together. And some of the weirder setups took quite a bit of time. So yeah. Cool? >>Victor: Yeah. >>Sjoerd: Yeah. So we've talked a little bit about these things and the whole discussion of scale and precision errors. So to be clear and transparent on this one as well, I'm not using any special kind of build. I mean, this is an internal build. You can see here at the top, it's depth rendering, but there is nothing in here that inherently changes the way we handle scale. All the changes in this build are related to rendering things like the Sky and Atmosphere itself, a few additional things in there, and for example here, I have volumetric clouds, but that's it. So nothing has been changed about the scale. So yes, I have an absolutely massively large world. In fact, that planet over there, the moon-- this is always really difficult to do-- but if I try to manage that in top down, you can see what happens here. I can't even find the moon anymore, and whatever number I have, it's around billions and billions and billions. The only reason that really works as is is because I don't have anything small. Once I'm in space, I'm really far away from world center, but there's nothing near the camera that is small enough to show any precision errors. So also the moon as well, since it's billions of units larger, a billion or whatever it is, I don't know if there's any precision errors with it. It's not flickering. It's simply works as is. That doesn't mean you will be able to do gameplay on this. It doesn't mean you will be able to land a spaceship on the moon, besides the fact that it's rather low poly, and I mean, very low poly. You would get massive precision errors indeed, if you would actually try to do anything with this at this scale. No, it's not a special build, and it's simply, at this scale, things are working. And there's a few small things that don't work. Like, you can see here, the Control L gizmo, it doesn't survive at this scale. At some point, what I wanted to do-- and this was even more crazy-- I wanted to have this titled From Ants to a Galaxy. So I tried to make an entire galaxy. There is a point where Unreal gave up. >>Victor: Yeah, there is a question that came in. The user said I thought you had a limit on world size. >>Sjoerd: Well, there is a property called max world size or something, but I believe it's just for gameplay purposes. In terms of actual limits, that is a good question. I'm not sure if there is a real limit built in, but the precision errors will prevent you from essentially using any of that. Now, if you're doing what I'm doing, which is meshes that are so massively big and so far away, you don't notice some of those problems. But eventually, as you keep on going, yes, you will get more and more problems. So like I said, I tried building a galaxy. So I tried doing this with the camera, which works reasonably well. It's not enough for that. More speed. This is speed 1000, and that's still not enough. So I'm really pushing it, but you know, you can do this. You get some zed fighting here on the Sky and Atmosphere component itself at this distance, but other than that, it's going to be really small, but you can still see the planet and the moon, and it's holding up. This worked. So I went to these kind of distances and beyond, and then I tried to draw and render a bunch of stars, like actual-- they were basically just sprites-- but that started to flicker. I had problems in Sequencer where the camera started jumping back and forth and all those kind of things. So yeah, that's the real limit. It's simply starts preventing you from doing that. But the fact I can be here where I am right now is already insane because right now, I am in-- and I can do this. You can see on the gizmo here, I have placed a light. This is a light, and the light is currently placed-- so sorry, wrong window-- the light is, placed and this is my way of calculating where I am, at these coordinates. Yeah. So it's amazing to see how well it survived doing this, even though we're animating gameplay or anything else. I'm at 4.1 billion right now. Anyway. >>Victor: Yeah. I didn't know you could actually place an actor at such a large distance from 0. >>Sjoerd: You can. It's just you can't go near it. We'll look at it-- it's surprising you can do this with camera too, like I'm doing. So that was really fun because I always had the same impression. >>Victor: And to know-- we should probably mention that the problem that would occur there is little floating point errors if you try to sort of run or fly or play a character all the way out there, right? >>Sjoerd: Yeah, yeah, yeah. I mean, I can go back here, so anywhere over here, and see if I could play something simple. I'm not sure this is going to work. I'll just place anything here. Here is a cylinder. So first of all, is it being difficult to do this. It's kind of disappearing and kind of moving erratical. I mean, you can see. It's also my camera speed is very high, but with something where it moves in steps, it's not normal. So yeah, you would get serious problems like that. But if you don't do it. It's just a camera, again, like I did, it works around that problem. OK. Good. So yeah, the conclusion to this is nothing special in this build. I'm just working around the problems and avoiding touching the weaknesses. That's really just what I did. But now let's go to foliage, and this is getting more specific now. So the foliage that I have-- I'm using all three types. All three types means I am using the landscape-- actually, sorry. Let's start there-- the regular foliage tool and painting things with the foliage tool. So in particular, I painted the area here. I'm sorry, let me move the sun. The whole point of the feature is that you can move the sun, so let me do that. All of this is painted by hand, with the foliage tool, including some of the smaller flowers and rocks and all that kind of stuff. So I'm using that one. I am using the landscape grass layer. Opening up new material. Here's my landscape material. It got a little bit messy by the way. That's all set up, and not related to foliage, but while I have it open, I have around 10 or 11 or so different layers in here. They're all using shared source, which allows me to have up to 128 different textures in the landscape material. So essentially, that's what I did, but other than that, there's nothing too special in this whole setup other than having done that trick that I mentioned in the beginning where I overlaid the original texture from World Creator on top of it using pixel depth. If I can remember where I have that over here. Over there, just like shown on the class. That's it. Anyway, there is a grass layer over here. You can see I have different types-- a landscape grass type, and then, this has the meshes inside that I'm displaying on the landscape. This is doing the majority of the work. So around 90% of the work has been done with the grass layers, and could test this as well. On the desert, a lot of the rocks that you can see over here were placed with the procedural foliage volume. Find that in back, and I've hidden the volumes at the moment, but there's procedural foliage volumes in here, and they are responsible for-- sorry, too many windows-- the rocks and small dry plants, shrubbery on the desert, as you can see over here. So I've tried all three approaches. Now where this gets more fun, I think-- one trick I do-- there's a few different tricks I'm doing. So one of the tricks I'm doing is that when I render-- I'm going to go to a spot with a lot of red flowers anywhere in here, and it's a bit undense, so again, when you move the camera far enough away, it tends to unspawn them-- but so it looks like this. And you got all of these red flowers, and I'm going to take the red flowers because they're the most visible. The white flowers, doesn't matter. But I'm also doing this for the grass. I have ridiculously long viewing distances. I have the type of viewing distance you should not do. OK? Just to be clear on that, don't do this. I did it for the sake of the demo, but my viewing distance, this is around 150,000 units for grass. Do not do that. It runs surprisingly well, too, having done that, though. But in production, even if you were to put a shorter upright, one problem that you have is that if you make the grass or any type of foliage disappear quite soon, it's going to be visible. You obviously see it disappear. That's a problem. You don't want to see it disappear, right? But if you have to put it far enough away that you don't see it disappear, you have this huge performance sync of having to render all that stuff. So what I typically do is I do a double layer approach, which means that every foliage thing that's in here is here twice with two different distances. And for the grass and the red flowers in particular, that would mean following. So in here, I believe we're running here on green grass, and I think the one-- sorry. Green grass variation, doesn't matter, and these are all the different meshes I have in here. I've got the red flowers over there. Red flower, and I've got that one again. So I've added each and every one of them twice, but this one has a start cull distance and end one here of 160,000 units to 180,000 units. Again, do not use such large numbers at home. I wouldn't do it, but for the sake of the demo, I went overboard. But it has a density of 5, whereas the other one has a density of 45 but a cull distance of 25,000 to 32,000. And that's what I mean with a double layer approach. So I've got it twice, one really dense one that culls very early and one undense one, a sparse one, that culls very late. And by having done this, it is no longer visible. You can see the red flowers, and you can kind of spot it a little bit if you really look at it, but you can't tell that the red flowers are disappearing. I mean, if you were to look at a magnifying glass, you would still see red flowers somewhere over there as well. And it's even more visible with the green grass. Yet when you're up close, it's nice and dense, but the density actually stops somewhere around here, I think. So that's one trick I'm doing all the time. Another thing that I'm doing is I'm blending a texture over it again at a distance, and sometimes, I don't even do this at a distance, I just do it all the time. If you look at the landscape from above, the foliage fairly nicely blends in with it. I mean, you can see here and there that it's kind of placed on top of it, but it does a fairly good job. And I've done it wrong here, actually. So this is going to be a test case. You can see what happens when you look at a rock where the grass shouldn't be at. It goes gray in the distance because it does the same thing. It fades to the texture from World Creator at a distance, the whole thing, all of the grass, which means that if you're in the world over here, you get a couple of nice effects. First of all, you get this darkening near the camera. The darker color is actually the original grass texture itself, which happens to be darker. So that's kind of nice, I think, from a style perspective. Also works when you ship, being there up close. In a distance, got a bit lighter, and in the distance, you then start getting color variation. You can see it here. It's a bit lighter green over here. It's slightly a bit more yellow green here, dark green there. It's a bit brown, in fact, over here in the middle. But as you go up close, you don't see that. You get these weird, gray brown flowers and bits of grass. But from a distance, you get this rich color variation where it's not just one monotone tint of green, but you see the complexity in there depending on the soil conditions, the amount of water it receives, sunlight, and all of that richness is captured in that. And I sometimes even do this up close. I haven't done this for this project, but especially for trees. And I tried that here. It didn't really work that well. But in some cases-- let's say you want to make an autumn forest. So the whole forest is full of autumn trees, lots of different colors. What I've seen people do is either manually assign different colors-- so here's the more orange tree, and here's the more green tree, and they go through the forest and do that by hand, or maybe there's a Blueprint that does it for them, or maybe they use per instance random or something in the material to color each instance with a slightly different tint. But I don't think that works because it's very fake. It's very harsh. It's very just, suddenly the color changes. So by multiplying this entire texture on top of it, it would do it on everything. It would even do it on the trees. Again, not on this project, but I could have done it on the trees. And you get these richness. Like one side of the tree looks a little bit more green, and then the colors start fading, and it ties everything together. It's really cool. Anyway, just to show you what I've done in the material itself, which is again, very straightforward. None of these things are complicated, I think. There is a mesh. I'm just trying to get to the material. Here's the Material Instance. Material Instance comes from the Material. I'll move fullscreen on that. And this is a bit messy as you can see, so ignore that. But it's got a colorization overlay in there, which is the function I made. We're going to take a look at that one. And this has the same texture in here from the landscape, and it essentially blends it on top, again using pixel depth. So it's the same setup. I'm just repeating over and over and over again. This and this, that's it. The rest is basically just there for adjusting and changing our brightness, contrast, desaturation, anything like that. It's just meant for control. And this is the offset to make sure the texture actually aligns with the landscape. It's the same size, the same position. So that's a trick that I think works really well in blending it together. I was actually talking to a developer earlier this week, and he showed me a kind of similar approach where he used the virtual texturing, and they blended the virtual texturing of the landscape directly with the foliage. So a similar kind of outcome, and that really helped him pulling everything together. >>Victor: There was a question. Someone was wondering if you've tried to use the runtime virtual texturing and then the static mesh building feature on this project. >>Sjoerd: No. It's actually on my list. I wanted to do that, but I couldn't manage time wise, so I moved on from trying. But it's still on my list to go back to that, yes. And it probably would fit very well indeed. It might help overcome some of the blending problems I have, and then-- so absolutely, yes. >>Victor: Someone was wondering if the lighting is baked. >>Sjoerd: No, there is absolutely no baked lighting. I think I even turned it off in world settings, I assume. I think. I can't remember, but I can check. No, I didn't turn it off, but no, it's not baked at all. It's completely dynamic because otherwise, you wouldn't be able to do this kind of-- you know? >>Victor: Yeah. There is a day/night cycle, right? >>Sjoerd: Yeah. Well, I didn't script a day and night cycle, but Control L is, and you would easily be able to script exactly what I'm doing now, just-- in fact, at the very end, I'm going to quickly build a day and night cycle from scratch as was requested, and that will show us just how simple it is. It's really simple. So yeah, no baked lights. Choosing distant fields and distant field shadows-- it has a skylight. It has a directional light, and that's all that's in here. There's no other lightning. There's nothing else going on. If you're interested in seeing the directional lights, these are the settings. Most of this is default. Intensity's slightly higher. Haven't changed anything else here other than atmosphere sunlight is true. Not much in here. >>Victor: Someone was wondering if there are benefits to using the double layer vegetation coloring approach versus dithering vegetation instances with per instance fade amount and dither temporal A material nodes to fade instances out with a random distance. Did you get that? >>Sjoerd: Yeah, I get that. But it is difficult to answer one, I think. I haven't tried that. I would say that doing that might increase material complexity maybe, but I can't say how much because I haven't done it. What would be the expense of increasing the material complexity and the performance pay off of that vs doing a double layer approach where you're basically having more draw calls? Because the other instance comes in on a draw call if I'm correct. I haven't checked that, but I believe that would be happening. So how does that balance to each other? I'm not sure. And how does it visually look to do the dithering approach? I haven't tried that, so I don't know how smooth that would look, and if visually, it would compare, would look better, would look worse, I'm not sure. But it's an interesting approach, yes. And actually, while we're talking about it, there's another thing that I'm doing that's kind of similar to that. And that's what I call ground sinking. So ground sinking for me is a way of fading the foliage without dithering and without having it just pop away. So instead, I'm going to have the foliage sink away into the ground so you get a smooth, gradual transition. And I'm going to do this in this test project here. It's easy to show. This tiny bit of grass on this white surface-- so it's super easy to see-- actually sinks into the ground as the camera moves away. You can see right there, it is sinking. And so by doing it like that, you also get a transition that doesn't involve dithering, has a super simple material set up, because this is super [INAUDIBLE] in material in that as well, but there's no complexity behind this. It's just checking the camera distance to the thing and then lowering world position offset, and you push it down. So it's cheap to do, and it doesn't fade, but it still has the same outcome. So if you do this across an entire landscape with actual real foliage, instead of this test thing, with a longer distance than I have over here, maybe even a double layer approach as well, maybe even randomizing this per instance, that is an interesting approach, I think. So you would have it sink under the ground. It's now somewhere over there, you can see, and then you would cull it. And then you don't notice that it's popping away. >>Victor: Yeah, no-- no popping. >>Sjoerd: Yeah. >>Victor: That's really cool. >>Sjoerd: Yeah. That's actually-- I think I've been doing it, I think, for about five, six years or even longer. The material for that, and this is just test material, so it's super, super simple grass setup, but it's about this thing over here, right? So I do world position offset, and I take object position, camera position. I haven't tried this with foliage at the moment. So let me see. Seeing how that survives object position. I can't remember how it behaves there, but essentially object, camera distance. Multiply it down, subtract a bit to select the death zone near the camera, clamp it, and then, if so, you offset it down. So I do minus 50 here. If not, it stays there. It stays at where it was, so 0 0 0. And this is another trick I'm going to get back to in a second. So it's essentially just this. And now while we're at it, we can talk about this other one. This is something I got from my colleague, Aaron. I'm not sure if he invented it, or if he took it over from someone in turn, but in any case, he told me. So now I'm telling everyone it's his thing for better or for worse. Has nothing do with the fading. But it's not a problem you tend to have with foliage, which is when you place foliage on a slope, you either do this, which is really bad because it's floating, or you make maybe smaller grass meshes so you reduce the floating, floating mesh, because this is a very big grass mesh. But you still have the same problem at the of the day. Or, and this is what most people do when they're new to Unreal, is when they paint this on the surface, they didn't disable in foliage-- so there's a setting here somewhere that says align to normal-- they don't disable that. And if they then paint on the surface, it follows the normal, as it implies. So you get grass that does this. But in the real world, you can't have grass that grows sideways unless the grass straws are being weighed down by something like ice or rain or anything else that can affect which direction it goes into. So you can't really do that. So what you want to do is grass that grows on a slope-- turn the camera-- that follows the slope, but stays upright. And that's a really interesting little trick. I never thought about until Aaron told me. So what happened here is that the mesh itself-- actually, I'm going to-- see, I'm going to show this because it's kind of difficult to show. We can duplicate this one. The mesh itself, without a material-- let me find some random material I'm going to dump on this-- would look like a flat plane. OK. It looks like that. It's flat. So what we did is we took the vertices, and we squeezed it flat. So now it's a flat layer. But there is vertex color on that mesh. So if we look at the vertex color over here, we know what the bottom vertices wear because they have a different vertice color. I think they were black in this case, and the top vertices were green. So even though everything has been flattened to a flat layer thing, we still know what used to be the top and what used to be the bottom. So since we then know that, what we can do in the material is offset, and that's what we do, over here, I believe. Offsets that's using the vertex color. So we do a lerp and it switches between them. The black vertices don't do anything. They stay on 0 0 0. So they stay flat at the bottom. But the green vertices, the top ones, the ones that used to be in the top, we're offsetting them up by 50. So now the grass is 50 units high. This also allows you to set the height of the grass with a number, which is really cool. And because this is done in World Space, it means it will always draw 50 units up no matter what the rotation is of that mesh, and that is a really cool part of this. So now you can see why-- go back here, and I will rotate this mesh-- oh, no. I'm using that-- like this. See, it always grows up, which is really cool. It's a very quite simple trick, and it doesn't take much complexity in the material, but it does this kind of stuff, which is super cool to see. And again, if I were to change the height in here, I would have higher grass. So you could even use it to simulate grass growth in a world, right? Like, it gets gradually higher and higher by stretching it, which is a really fun little thing. >>Victor: Lawnmower simulator next? >>Sjoerd: Yes, we should all do that. It's going to be a 1 billion poly lawnmower. In fact, every bit of grass should be chopped off in real-time-- you know, accurately chopped off and deposited somewhere on that area. >>Victor: We'd like to see it, Sjoerd. Make it happen. >>Sjoerd: Mm-hmm. Yeah, maybe tomorrow. Yeah. >>Victor: Yeah. We definitely had a few more questions come in, but we have time for Q&A at the end as well. >>Sjoerd: Sure, I'll continue for a while more, OK? All good? Good. So those were all the things I had over here, and again, some of these tricks are things I haven't seen that much elsewhere. Taking a look at Blueprint then, most of this is very straightforward, I think, the Blueprint. I had a few challenges in here specifically because I wanted to preview this entirely in-Editor. It would be completely different if you can do it in level Blueprint or an active Blueprint, and you can do it per tick. But I had to do it in Editor without ever running the game. That was a different dimension. So my biggest challenge of all was the fact that, first of all, in 4.25 as is, Control L on a directional light will not run the construction script. Meanwhile, that has been fixed. So because that has been fixed, I've been able to move most of the functionality over to the directional light. So the directional light in here is a Blueprint, and the Blueprint doesn't do that much in itself. It's basically just the directional light in a Blueprint. And the event grab's empty, but the construction script is where I'm updating everything. So this is the construction script. It starts off over here in a thing that you probably shouldn't do, and I should have done differently, but I couldn't be bothered to change it anymore. So what I do is on the construction, the first thing I do is I need to collect the moon, the skylights, the sky atmosphere actor-- I need to collect those three actors because I need those references in place so I can modify them or use them. What I shouldn't have done is I shouldn't have done get all actors of class because every time this runs, which runs at per tick when you do Control L, it would have done a search for those three actors, which is not great. So what I should have done is I should have simply made a variable like I have, made it public, and in the properties in the level itself, manually assigned this moon and this level belongs to this variable. That would have been more effective. Either way, once I got the three variables, I will say loading is complete just as safety check, and then I do a number of things here just on a rolling basis. The first section over here, that variable and this one is about to eclipse. I'm getting back to an eclipse in a bit. But the solar eclipse support, and this is essentially the calculation of how far the sun is from the moon, therefore, knowing when the eclipse will happen. So I'm using quaternions over there, et cetera, et cetera. And that thanks to Mario, who helped me with those. So skip to it in a bit there, but more readable and more directly applicable perhaps. Here's all the stuff that's over here. So first of all, I take the moon, and I will set the rotation of the moon. So when you move the sun, the moon moves as well. For the sake of demonstration, and for the sake of-- well, if you're moving the sun, the time moves, and if the time moves, the moon should move. So I connected them together. I'm also setting the relative rotation of a scene component within the moon because this is actually the moon of the moon. There's a tiny moon next to it. That's a neat scene component. And this looks maybe slightly complicated here, but it's essentially just taking the rotation of the sun-- so get actor rotation of self. It modifies a little bit like it inverses it here. It multiplies it by two so this will go faster here, and then eventually, it'll make a rotator out of the modified rotation of the sun, and that's simply what it sets to the moon. That's it. Everything else that I've got in here is more about manual control. So I can offset the moon a little bit, and when I have a cinematic going on, I can force the moon to be in a certain position, stuff like that. But it's not essential. Then I do something similar with the skylight. So I take the skylight, and when it becomes night, it gets really, really dark. So I detect when it's night based on essentially the rotation of the sun because rotation of the sun means night or day, and I blend in a more bluish tint at night manually, and I also blend in a much higher intensity at night because again, it got so very dark. So I'm trying to compensate for the darkness. And then the stuff I have over here at the end, these four, that is also from the eclipse. So I take the sunlight itself, the light component of the directional light, and I set the intensity from 12 to 2 during an eclipse. I change the mie scattering on the Sky and Atmosphere, and I changed two material parameters on the moon, and I'll show you that in a bit as well. And all of that comes from this one variable, which is the sun distance to moon. So essentially, how close is the sun to the moon, and should be therefore start triggering these effects. And that's the calculation I have over here. That's essentially the whole setup. There was one part I couldn't do in the construction script. And again, a lot of this is tied to me just trying to do everything at the same time purely in-Editor and combining it. I've got height fog in here for the sake of demonstration, but the height fog does not support space view. So when I fly up, if I wouldn't disable the height fog, you would see the height fog just simply across the world in a single line. So I had to get rid of the height fog in a very gradual way. And my solution to that, and it's a weird one, is I made a Blueprint widget-- and this would also be the work around for some of this in 4.25 still, without Control L running construction script-- and in the widget Blueprint, on event construct, I also do get all actors. And on event tick, I use the references of the directional light I found and the exponential height fog. And I set the fog density, and I fade it eventually down to zero when the camera starts going up into the sky. So it just manually fades out the fog. And again, it's just for Editor Preview. That's it. >>Victor: It's a nice trick, though. >>Sjoerd: Yes. Right? It's a bit weird because I have to have this widget open. In fact, I have this widget open on the other screen. Here's the widget. Sorry, wrong window again. Too many windows. This is widget. It's empty, but it has to be here because when it's here, it's actually ticking. It's running this logic continuously. >>Victor: We should probably say that it's an Editor Utility Widget, right? >>Sjoerd: Yeah. It's an Editor Utility Widget, so it is this thing over here. In fact, you want to see the whole thing? I've got two of them, two different approaches, but similar kind of thing. I can run the Editor Utility Widget, which gives me the panel, but if I double click it, I get this thing over here. So it's meant for Editor scripting so you can create your own tool panels within your [AUDIO OUT] and then use that for making your own tools essentially. But in this case, I abused it because it also allows ticking in the Editor, and it's one of the few things that allows for ticking directly in the Editor within a Blueprint. So I'm basically abusing it. >>Victor: Well, those are similar functionality to Blutilities as well, right? And now, we just exposed it to give you the possibility to do user interface customizations as well. >>Sjoerd: Yeah, absolutely. And then one other hack I had is I couldn't access Get Level Viewport Camera Info in any other class than a Blutility and an Editor Utility Widget. It doesn't allow me to. So I had to manually get it over here and write it to a variable that's in the directional light. But again, none of this stuff should have been required if it wouldn't be for just the fact that I'm trying to do this in-Editor Viewport. If you would have just done this on Play, it would have just worked. OK. So this is just for me working around those problems. That's it. >>Victor: For the unacquainted, I'm sure that there might have been some questions regarding what mie scattering is. Could you show that off? >>Sjoerd: Yeah. Let me show on this one. Rayleigh and mie scattering are the two main properties in the Sky and Atmosphere component that was shown in the original video. So essentially, it controls the amount of water vapor, pollen, dust, the stuff that's in the air, in the atmosphere that light gets stuck on as it travels downwards. So essentially, what is scattering the light around. The reason the sky is blue on Earth is partially because, or entirely because, the light has to pass through the atmosphere. There's gases in there, and those gases interact differently with different wavelengths, I mean. So we get a blue sky. So if you tweak those two-- I'm going to copy these numbers so I can find back what I had-- you can see you start getting-- mie scattering, in particular, is the amount of dust and pollen and things typically more nearer the surface of the planet. So if you increase the number, there's more stuff floating in the air, essentially. So more light will be captured by that. If you keep increasing it, you eventually simply have fog as you can see. If you decrease it all the way down, you get a very clear, very dry atmosphere. There's nothing there. There's no dust. It's basically completely barren in a way. Rayleigh scattering is similar. I think it's more upper atmosphere, but it's the gases in the atmosphere itself. So if you bring it all the way to zero, there is no atmosphere left. You simply have space as you can see. If you bring this down to 0 as well, it's completely just space. So you can use this tool also, to make space if you wish, but-- if you bring it all the way up, you start getting this martian atmosphere maybe. And I mean, bring it up a bit more as well, and you can do fun stuff with this. >>Victor: It's really cool to see all that in real-time. >>Sjoerd: Yeah, absolutely. And you can use this for city environments because maybe in a city, there's this haze or air pollution and all that, and so all that stuff you can play it. And that's what I did in the original video. So I'm showing all the tricks and the hacks and the work-arounds now, but in the original video, you had the nice walk-through of how everything works in change color and some different kind of effects going. Stuff like that and I just kind of think. Copy that color. I don't know. Sort of green and something like that. So yeah, that's mie scattering. So the height fog as mentioned, that's covered by the widget. The moon and the eclipse are special as well. I'll start off with the moon. So to begin with, the moon is a giant mesh. Literally, that thing. There's a planet. This entire thing is a Blueprint. Doesn't do much, but it's a Blueprint. I placed a default scene route just to have something at 0 0 0 because it's going to revolve around 0 0 0. I had the plans over there. I have the main moon. I have a scene, and I have a small moon attached to the scene that's attached to the main moon. That's it. In terms of construction script, there's nothing here except generating the material instance, and event graph has nothing in there. Now again, this is because I'm doing it in-Editor. Normally, the event graph would have per tick, and this is where the logic would be for rotating the position of the moon. I'm doing that instead in, as you saw, the directional light itself. The directional light is simply making this one rotate around the middle of the world. So it just goes round and round and round. That's it. The interesting other thing with the moon is that the lighting on it is fake. So we get some really cool lighting on it. You can see as we go around the sun, it's a bit hazy behind the atmosphere, but it's actually receiving light from the sun depending on where it's located. If you do this at night, you get this kind of stuff. You get that, which is just cool. So a few effects, and some angles work better. So in this version of depth rendering, it's flickering a little bit. It didn't do that in the other version, but you can get some really nice effects going with this. So that not behaving entirely as it should at the moment. But maybe more like that so you get this half moon style effect over there. That's fake. None of it is real. So the-- sorry, too many overlapping windows-- within the material, it's actually set to unlit. So all of the light has been done manually because at that massive scale, I couldn't get the lighting to behave properly, and I rather did it entirely manual. In fact, the whole effect comes from just this. This is fake sunlight. Everything else you're looking at here is just extra effects, extra darkening, contrast, special stuff, things like that. But this is the effect itself. If you preview this, you clearly see what it does. See? It simply colors one side bright, the other side dark. It does that by doing vertex world normal. I do a dot product with the vertex normals, and I take the sky atmosphere light direction, which is the vector of the sun, and I use that to essentially generate that as a dot product. If I input this temp vector instead-- so I can manually do this-- you can see what happens. See? If I change the number over here, and I make this five, the sun would be moving, and that's what happens automatically because this updates as you use Control L, and that's the light on the moon. Completely fake. Since it's completely fake, it means I can make an eclipse because I can modify this stuff, which I'm doing over here, based on the position of the eclipse, which is what Blueprint is calculating. And based on that, I'm doing a couple of different things. Again, there's not a dot product over here, but I'm basically just-- I'm taking light away, or I'm trying to make this kind of corona effect at the edges or something like that with the setup that I have. Also at night, I change a few settings on that. When you go into space, I change the brightness. I did something here. I can't remember what I did, but when you go into space, it makes it slightly different. So for example, at night, it makes a bit more bluish. It changes the contrast. It changes desaturation, and that's the moon. >>Victor: That's typically a trick done, in terms of for the unlit light direction, in combination with like tune shaders, and if you have essentially, associated or a two shader scene, you use the same trick to fake the directional sun, right? >>Sjoerd: Yeah. You can absolutely do that. And now, because of the Sky and Atmosphere system, that means you always have that vector in any material. So that's great. You no longer have to put two Blueprints, which is what you used to do. >>Victor: Yeah. It's right in the Shader, less things to expose and set as a dynamic material parameter. Someone was curious what hardware are you running this on? >>Sjoerd: I can't remember. What am I running? It's a 2080 TI, that I know. What is it, DX-- Let's see. >>Victor: And if you haven't noticed, Sjoerd is actually running three versions of this project. >>Sjoerd: Were running World Creator. We're running Discord, and Discord takes currently around 30% of my GPU and 10% of my CPU to do the streaming-- three Editors, and World Creator indeed. I got a RTX, obviously, 2080 TI. I've got 65, 64 gig ram, and this is Intel Core I7, 68 50k. So it's six cores, I think. Six cores, [INAUDIBLE], 3.6 gigahertz. It has been a while since I built a machine. I'm out of the hardware stuff, but yeah. It's about two years old, the computer. Cool. I'm getting towards the end, I think. Yeah. Just want to look at the moon, stars, and clouds. And that's it. Cool? So the stars-- the stars are special, and they're kind of weird. Normally, the way you are probably supposed to do stars, and the original way of doing this in Unreal Engine 3 and Unreal Engine 4 is you would just place a giant mesh around the world, which is your sky dome, and that would have stars on there. Maybe, it would have clouds or other stuff on there as well, but at some point, they fade away, and what remains is the background. Background being the bottom part of that material, and it has stars. For me, that was difficult because I wanted to go into space. So I can't have a sky dome if I want to be able to go into space because then I would have left the sky. I mean, I would have left behind the sky dome, unless I made a sky dome that is 16 billion billion billion units large, and considering the scale I'm already at, I didn't want to do that. So the stars as you see it are also completely fake. If you switch to unlit mode, they're no longer there. They're running on a post process volume on a blendable, and again, it's a weird setup. It's really weird, but it works. And in the blendable, I've got four cube maps, and I could've done this with one cube map, but while I was building this cube map, it got easier to just add four of them together so I didn't have to go back in and modify the original cube map. So it was just me being lazy. Probably should've been one cube map. But I have a few cube maps in here, which are basically just stars in a cube map. Four of them. A couple of different settings on there. And again, it takes the sky and atmosphere light direction in the post process blendable to change the direction like the rotation of the cube map. So when you now move the sun, it actually moves all the stars, which is rather weird because it makes the world the center of the universe, but that's details. OK? All right. And this is modified color and things like that. I do some manually color correction here as well depending on where the camera is at. If the camera is up in space, so if it's high enough up, I change the contrast and saturation on the screen. So I'm doing manual color correction through the post process of blendable. When you go into space, it gets more contrasted and harsh. And I think that's pretty much all this is doing over here. I had to do one thing over here where during daytime, if the camera's on the surface of the planet, and it is day, I will fade out the stars using Sky Atmosphere View Luminance. And I will essentially simply use that bit of power and multiply, clamp it, and that goes into a lerp. And that's what disables the stars during day. >>Victor: Could you show us how to find the entire API for the Sky and Atmosphere inside the Material Graph if someone is curious which nodes are available? >>Sjoerd: Oh, the variable nodes. So everything-- it's about 6 or so of them, everything called sky atmosphere. So what is this? Six in these-- about six, and there's only two of them, and in the original video, you will see the two common ones. I think from what I remember now, it's light disc luminance and view luminance. I can't remember entirely. They are the standard ones. If you combine those two, you have the sky as it was rendered by Sky and Atmosphere. But the other ones give some additional control like light direction as mentioned. And I blend the stars only using scene depth only on the pixels that are the absolute furthest away. And that's why the stars only show up on everything that's not covered by geometry essentially. And that's the setup, and that gives me stars. >>Victor: Tada. >>Sjoerd: Yep. So the weakness of the system-- there are a few of them. I tried to do a cinematic where it fades out. Couldn't do that because the fading didn't respect-- the stars would just render on top of the fading because it's a post process effect. So the stars would just keep on rendering. That was a problem, obviously. There might be some other issues there as well because it is a bit of a weird effect. I'm sure I overlooked something with the setup. If you were to do this in a game, maybe other kind of post process effects, something else. I'm not sure, but it works for this. And it's working really well, I think. But the biggest problem I hit was indeed the Sequencer fading. That didn't work. And we looked at the moon material. And then I'm going to take another look at the actual clouds. So the clouds are just super cool to work with. They're a slightly different Engine Build because this is heavy work in progress. But this is just so cool to look at. And I mean not just-- it's actually full volumetric clouds that you can fly to, but it's casting a shadow on landscape, which is crazy. This stuff is just crazy, and it has god rays that come from the clouds automatically, which is crazy as well. And you can see there's some rendering artifacts here and there. This is work in progress. It's clipping over there, then on the angle, but it is really, really cool to see this right here. >>Victor: It's black magic. >>Sjoerd: It is really, really fun and pretty straightforward to make. So what is happening here is there's an actor called volumetric clouds. It doesn't have an icon yet. It'll come later. So all of this is scheduled for 4.26. And in the volumetric clouds, in that actor, everything is done basically to the material. The only three properties you have over here, which we can play with-- so this is obviously at what height the clouds are starting. And some of it works better than other things, but for example, this is height 10. You get a bit more higher altitude clouds. And layer height, you can try that. Some of it looks a bit weird. OK. That's a bit weird. It's essentially how the performance starts to drop if you have very, very thick clouds. These are very tall clouds. I was running layer height, too, I think. So they're pretty flat clouds. But it's the material that's really doing the work. And if you look at the material, this is a thing I built. It's in the Instance, and here's the material under it. The material in itself-- so the core material node over here-- is just this. There's nothing going on there. It's just a color, which is currently set to black. And extinction-- the only thing special I'm doing with extinction is that I'm taking the-- and this is a very interesting note by the way-- cloud symbol attributes. It gives you a bit of additional information. This normalized altitude in layers. So essentially, the bottom of the cloud is 0. The top of the cloud is 1. So now I know where the cloud starts and where the cloud ends. And I use that to modify the extinction based on if it's the bottom of the cloud or the top of the cloud. You can use the same, for example, for making the bottom of the cloud darker, make it look more gloomy, make it look more rainy, using this thing. So anyway, it's the only thing I did there. But the real work comes from this thing over here, which is the volumetric advance node, and all of these are just numbers I can tweak. But conservative density, that's what's doing the work. That's all of this. And the core of that, in turn, comes from this thing from Ryan Brucks, which is a volumetric texture. In fact, I've done it twice just for the sake of variation, but these two are the same. In fact, this is the same, just different settings, I believe, here or there. The volumetric texture-- this is the noise texture that essentially makes up the variation within the 3D shape that the cloud is. If you wouldn't have a volumetric texture, you would just get-- I mean, you would just get a flat, solid layer of clouds across the entire planet, and what you would then do is you would-- sorry, wrong click-- you could subtract away from that, which is what I've done over here. I've taken a lot of normal 2D noise texture when it does an auto-save at some point. This is a normal noise texture, and I've projected on the top world position. So I'm just planar projecting the whole texture on top of the clouds. And if you would do that without the volumetric texture, you'd basically just get a weird extrudance layer above you, in a sense, where there's holes left and right wherever this cloud texture is black and weird extruded clouds upwards wherever it's white. With the volumetric texture in there, it becomes more voluminous. There is variation in that extruded surface up. And the walls of the clouds, they're not just straight up anymore. The walls are now bulging in and out, and that's the real core of how this works. That thing in combination with a texture that removes some of the clouds and doesn't just make it a solid layer. Everything else around it is kind of just fluff and extras. This is about making the clouds pan. This is, again, making the clouds move when you move the sun. So again, Sky Atmosphere light directional. I do a few steps with that, but it's just about positioning the clouds. This is about trying to get variation in there. What I try to do is identify the bottom of the clouds or the top or the middle, and then, change the amount of detail present. So I try to get some kind of richness in the clouds. So it's not just uniform details or soft, but there's soft areas, and there's detailed areas, and that's what I'm doing over there. And this is basically doing the same thing, cloud detail control at different altitudes. Just tries to get variation in there. And this purplish pink box is kind of doing the same as this one in the sense that it's another texture, same texture even, that got projected and planar mapped on top of it, but it subtracts away from it on a larger scale. So essentially, this is small scale, this is large scale, but kind of the same idea. It all comes together over here, goes in there, and that's essentially, the material. And same actually, I've done it a third time. Here is another texture, again, doing basically the same thing, planer mapped in the world. I'm changing the contrast and brightness, and I multiply, subtract, I do something with that, and that's my clouds. So it looks a little bit complicated, but once you have authored this material once, you're pretty much set to go. And again, the real core of the material could be brought down to almost this. You would have something. Wouldn't be perfect, but you would have something. So in practice, that means, for example, I could do following. I can take a different material instance I made with the same material and apply it, and I get these kind of effects. And this is why we want to do it like this. We want to have a material in there so you can author whatever clouds you want to make for whatever style you want to make and not just lock it down on realistic settings. So you should be able to do as you see fit. So now you've got this really weird blob. Yes. And so this is really just an instance at this point. So this new material instance from the material, these are the settings. So as I modify this-- for example, I changed the mip level. That's why it looks so soft. If I bring that back to zero, you get a bit more richness in there again. So this now becomes the settings of the clouds. Coming in a little fast, for example, we'll do this. And that's essentially how the system works. >>Victor: Easy peasy, right? >>Sjoerd: Well, once you've made it, yes. It's just numbers. You do have to make it, of course, first, and that does take a bit. >>Victor: Yeah, it was a joke. >>Sjoerd: Yeah, I know. I know. So yeah. I'll set it back to the original. I think this was possibly missing from the first video. So when it comes to the real-time sky capture, and what that means, by the way, is in a newer version of the Engine, so fast forward to after 4.25, so you don't have access to this just yet. Let me switch back to this one. We added a property in the skylight, which long awaited, says real-time capture, meaning it captures itself continuously all the time. You used to have to do this to Blueprints. Capture was something-- recapture skylight or something it was called, and it was really intense for performance. A lot of people were doing that. I've done it myself as well with my last game, but it really was bad for performance. So we've now finally solved that. It's called a real-time capture, and it does what it implies. It's very fast. In fact, these were the numbers that were missing, I think, from the original one. We're doing-- a 128 cube map on a Playstation 4 takes 1.4 milliseconds. And the way that it works and the reason it's so fast is because it doesn't capture the entire world. It only captures a very small number of actors. That's why it updates so fast. It will capture the Sky and Atmosphere actor itself, any volumetric clouds, and I think it captures any mesh that has been set, any mesh that carries a material where the material has been set to its sky material. That's what's captured. Everything else is ignored, if I can remember correctly. In my case, that does introduce a small challenge, and this is something we're working on still. When it gets night, it doesn't have much to capture anymore. So it's still something we're working on. And then someone had a question online on basic day and night, so I figured I can just do a basic day or night. So your level-- let's not save any of this. I'll have a floor in here. Sorry, I keep mixing my windows up. Floor, and let's say 64, 64. I like power of two numbers-- Unreal Engine 1 legacy. Add in visual effects, Sky and Atmosphere. Drag it in, directional light. There it is. Yes, it's an atmosphere and sunlight. So now I have the direct-- the Sky and Atmosphere system works, and essentially, we want to have this in game when you play. You could make the directional light a Blueprint, or keep it simple. I'll simply do a level Blueprint. On Event Tick, you have the directional light. I'm going to do add actor rotation or something like that. Different ways of doing it. Add actor world rotation. Could use a timeline, could use something else. I'm going to say 0.25 or something. I think that's something, and that's basically it. On the very, very, very basics, this is a real-time day and night cycle in-game with the new system. So I play this. You should see-- I maybe have a-- oh, sorry. I make the same mistake earlier. It should be movable, obviously. So we'll do it again. You have a day and night cycle. And we go into a very long night or for about 20 seconds, I think. Oh, there we are. Wasn't that long. So yeah. It's a very-- It's a very Swedish night. >>Victor: Yep, dark for every-- every part of the day except two hours-- >>Sjoerd: The surface, yes. >>Victor: But we're tweaking the numbers, yes. >>Sjoerd: That's it. >>Victor: And you can drive the-- I believe there's a function in the component itself, right, to actually drive night and day to also get the right latitude and all the other details? >>Sjoerd: I believe that is in a plugin, not by default. It's not in the normal properties of a directional light, no. But there is a plugin. Now, I haven't done this much, but trying to remember where it's located. But there is something, yes. We've done that. I just, I can't remember top of my head where we've got it, but it's absolutely in there. It might be in the Engine folder somewhere. >>Victor: I'm trying to remember it as well. It was initially implemented to light architectural visualization scenes properly in case you were doing a visualization specifically for a specific place in the world. Sun Sky plugin-- Chat's helping out. >>Sjoerd: Sun Sky-- >>Victor: Sun Position. >>Sjoerd: Yeah. Sun Position, yeah. I might have to restart. Oh, I don't want to restart, but yeah. I don't want to restart us. >>Victor: No. >>Sjoerd: You would get it in the-- you would find a Blueprint in here, essentially, with that support in there. So yes, it should be possible to combine these. Sky and Atmosphere-- I mean, at the end of the day, that thing drives the rotation of the sun, and the Sky and Atmosphere reads that. So yes, I don't see why that wouldn't be combinable. >>Victor: Super cool. Are you ready to tackle some of the questions that we had coming in? >>Sjoerd: Go for it. >>Victor: All right. I think the first thing we should discuss and maybe clarify is that this project was not designed for gameplay purposes, right? >>Sjoerd: Mm-hmm. No, it wasn't. No. >>Victor: It's to demonstrate and showcase some of the features of the new plugin, and then, also some other tips and tricks, of course, because there were a lot of questions coming in related to can we play around the planet, is it possible for us to play on the moon, for example. Could you discuss a little bit about the limitations around that, and why that is the case? >>Sjoerd: OK. So first of all, the central area here is 100% playable. I have no gameplay-- but actually, I do actually have gameplay. When the shaders compile, I can show you I have the standard first person template in here, I think. But the gameplay would have to be restricted to near 0 0 0 for world position reasons, flow position reasons. When you go further away, that becomes your main problem. It's no longer precise, and that prevents you from going to the moon. You can fly the camera to the moon, but you wouldn't be able to do anything on the surface of the moon. I doubt you would be able to walk there. No, you would probably get-- I have no idea what would happen, if it would even work. You fall through collision, everything is flickering, I have no idea, but it's way too far off. So no, you can't do that. For the same reason, the planet is purely a visual effect. It's a sphere, but it's not truly a sphere. The collision is still flat. It's not bending the collision. It doesn't actually have collision in the first place. But let's assume I would have made collision. Collision would have been here as one giant, flat plane. Plus, again, you would get world position errors anyway by doing that. So yeah, gameplay over here? Yes. Gameplay in the sense that if you want to have transition to space purely for a cinematic or something? Yes. Landing on the planets on a different place? No. Going to the moon? No. Having a space station in here where you can walk around? Nope. That's, I think, a conclusion. At least, I haven't tried those, but I doubt you would be able to pull that off. [AUDIO OUT] Possibly, yes. It would be a possibility. I mean there's probably other hacks you can do as well. As you travel to the moon, you no longer see the planet behind you, right? And then somehow, do something at that point to shift your position. So yeah, because the stars will always be in the exact same position, which is a benefit because it's a post process material, so they can never be offset. They're in the exact same position. You can probably do some tricks, yeah, but as is, no. It's more visual effects. >>Victor: Someone was curious if it's possible for you to-- can you bake the offset into the mesh itself? They're referring to the meshes that you used for the planet. >>Sjoerd: That's actually a very good point, and I forgot to mention that. Yes, you obviously can do that. There is no reason you wouldn't be able to do that because when you're in the middle of the world over here, it's very unlikely you're ever going to go anywhere else anyway, right? So it's purely a visual effect surrounding the planet. So yes, you could just made a round mesh. The only challenge I have with doing that, though, is that the planet is actually really small. In fact, in the Sky and Atmosphere settings over here, it's going to tell you that the ground radius, so the radius of the planet is 1,000 kilometers-- it's really small. And at a planet that's this small, if the meshes are always curved, when you're over here, you would actually see the curvature of the planet, and it would look fake. It would look weird. So because to fight back on that, I had to have the surrounding geometry flat. So when you're in here with a camera on the surface, it actually does look like a very large planet. But when you go out, it looks like a planet. If you would have made a larger planet, yes, you could have just done the whole thing and actually bake in the curvature because the planet is so big that you don't-- just like in real life, you don't notice that you're on a giant ball. But then the scale becomes even more of a problem, so I didn't want to go there. >>Victor: There was no streaming or world competition used in the project, right? >>Sjoerd: No, not in this case. No. >>Victor: Let's see here. Someone's curious what the resolution of the height map is. >>Sjoerd: The terrain was 8K. >>Victor: Pretty straight forward question and answer. Someone was curious about the process used where you were doubling the red flowers. Why not use LODs with different flower amount? >>Sjoerd: That doesn't really fix it all. >>Victor: Perhaps clarifying it then might be a-- >>Sjoerd: Yeah. I'm thinking what the implication of doing that would be. I mean, if you would have fewer flowers in there, it would mean that your original flower mesh would be one mesh with a lot of flowers in there. I mean, it would be one like large patch of flowers, and then you could say, yes, in the distance, it gets switched to a lot where it's no longer one giant patch, but it's just a sparse bunch of flowers in the single mesh, if you understand what I'm saying. In that sense, yes, it would start reducing in complexity and distance, but that would bring a number of other problems. You don't want to have very large patches of foliage mesh in one single model because you get problems on slopes, or it gets more difficult to paint it. Like, if there would be a building here, and you can enter a building, you wouldn't want a grass to be inside a building. If there's very large meshes, that's more likely to happen. It's better with smaller meshes. And above all, it still wouldn't solve the fact that you would see the flowers disappear quite noticeably. Of course, then you can say, well, maybe you shouldn't have them disappear. You just have a long range on them. I don't think you're gaining much. I think you're making it difficult for yourself in the long run. That would be my advice. So again, what I've done-- and the flowers is just easy to see, but it's actually more important for the grass itself, the green stuff-- because it allows you to have a very dense, up close area, and still have a long viewing distance here where it appears the grass just goes on endlessly. But the grass over here is only 5% of the density as it is over there. It allows for that in a nice and simple way without problems having very large meshes per foliage instance, I would say. >>Victor: It's pretty cool. Someone was curious if you could turn on the shaded complexity view for the scene. >>Sjoerd: I have not done this because it wasn't meant as a-- performance wasn't the main thing. It does run well, but we'll see. It's got to compile because I haven't done this yet. >>Victor: The anticipation. >>Sjoerd: I know. It's probably quite-- It's not going to be terribly bad, but I expect something medium. >>Victor: Medium pass. >>Sjoerd: Still waiting. >>Victor: Still-- just getting more excited. >>Sjoerd: Or gave up trying. >>Victor: Yes. It's like nope. >>Sjoerd: And as mentioned, this is not a normal build, so it might be that it's even broken in this particular build. I'm not sure. >>Victor: While we're waiting, we can tackle some more questions. They were curious if this project, in any way, shape, or form, will be available for download? >>Sjoerd: I would like to. My main challenge immediately is lack of time to clean up a few things and prepare it. And secondly, I'm using some of the things from the Marketplace. I can't distribute those. That means I would have to remove all the foliage, which isn't the biggest issue, I think. But the spherical shader is very integral to what I've done, and I can't remove that, and that is from the Marketplace, too. So that will take a bit more discussion on how we're going to handle that. At minimum, and I've said this before, but I have a lot of things going on at the same time-- what I would like to do is take the absolute core-- so not the spherical planet, not the foliage, none of that stuff, just simply the sky set up, the stars, like the very central part of it, and setting that up as a project, and put it online. I would like to do that, yes. In the near future when I get to it. >>Victor: Let's see. >>Sjoerd: This isn't going to work, by the way, shaded complexity. >>Victor: Doesn't looks like it. It looks like it-- >>Sjoerd: It should have been about done. Yeah. >>Victor: It's too optimized. There's absolutely no complexity whatsoever. >>Sjoerd: Or it's so complex, it can't do it, one of the two. >>Victor: Someone was curious if ground sinking-- this is in regards to the grass-- if the ground sinking is cheaper than scaling the foliage vertically? So I believe they're flattening it. >>Sjoerd: Maybe, yes, potentially. But that is a difficult question. I mean, you're technically moving fewer vertices I would argue, so maybe, yes. Possibly. Then again, you might get a bit more popping like when they get culled away, it's technically still on screen, but yeah, possibly. >>Victor: While you were showing off the Blueprints, someone was curious how you were highlighting the nodes that you were selecting. Can you show that button? >>Sjoerd: No, I think it was actually a bug. I didn't-- >>Victor: No, it's actually a feature if you open out the Blueprint. >>Sjoerd: Was it because I-- >>Victor: Yeah, and then up on the left side unrelated, there's a button. >>Sjoerd: I know. Sure. Yeah, no, I had pressed it on, and it-- >>Victor: So height unrelated. >>Sjoerd: Indeed. >>Victor: Yes, and then you can see the actual-- all the nodes that are relevant to the logic you marked. Someone was curious, and perhaps you can go into maybe not in detail, but how is the 3D texture created? >>Sjoerd: So this one I'm using is from Ryan, so I didn't make this one myself, and I might be wrong, but from what I understand from the process, there are certain scripts or tools to generate as in, for example, Maya, something like that, But I haven't done this myself yet, but it's something in that direction, I believe. But I've actually-- I think someone even might have done one in Unreal where ways of at least doing part of the work in Unreal. So, yeah. That's my answer, but I'm not an expert in that one, either. >>Victor: Someone was curious if it's possible to have multiple suns. >>Sjoerd: Yes and no-ish. In the-- hold on, lost in my windows again-- I'm not in my usually out because I have all the different windows open and streaming things and et cetera, et cetera, but in the directional light, there is a property that does say atmosphere sunlight index. So yes, technically, you can, I believe. And I believe if you were to add a second directional light to it, it would give-- do I dare to try to say-- light. I have no idea what happens. I haven't tried this. I know it is supposed to do that, just a second one, we'll do it. >>Victor: Let's do it live. >>Sjoerd: I don't know what's going to happen. Good. So yes, and yes. You do get two suns automatically. That's what I mean. OK. So that's really cool, I think, and by the way, the source angle is affecting the size of the sun. It's in the sky and atmosphere one. OK. Not many people realize that, so now you have two different suns. And I have a property. I don't think this property is in 4.25 either, but there's an atmosphere sun discolor skill that I can use to color the sun slightly different. It's a bit flickery. Ignore that. So yeah, you can have two suns. The problem is more in the direction of lights in general. You can't really have too many-- can't really have more than one directional light in reality in terms of shadows and things. So that becomes more of the problem. If you disable shadows in one of them, and actually that killed it. So that shows the problem at hand here. Then yes, but two shadow casting suns, I mean, it doesn't sound good. >>Victor: Yeah, it's expensive. >>Sjoerd: Yeah, I'm not sure [AUDIO OUT] I haven't tried this recently, and I'm not sure of that cost. However, you could. I mean, I'm thinking for a moon, you should be able to have a moon in there that is a second directional light possibly and disable that during the day. When the sun sets, you enable the other one, and now you have moon lights. Something like that should be doable. And you can draw the moon in here. If you don't want to use a 3D mesh like I've done, you can presumably draw a 2D moon in the sky material as well, and then move that around just as if it's a sun, because this thing is rendered where the sun is located-- OK. I don't know. So some kind of combination should probably be doable. >>Victor: There were a couple of questions related to the volumetric clouds, and I know you mentioned that it's something that we're still working on. Have you had any chance to get an idea of what the performance costs of them are like? >>Sjoerd: No, not a huge amount. I haven't done a proper investigation in it. I did notice it runs well for me. I mean, I haven't noticed any immediate problems, and as I make the delay or hide very intense, I'm not noticing any immediate issues. I am using high-end settings, and I'm running this with, at this point, two Editors open and World Creator and Discord. So it doesn't seem that bad is, of course, not a particularly detailed answer whatever the true performance impact is, and again, it's also early days. This is not yet released. I'm sure it'll improve further. It is definitely not unworkable. This is perfectly doable it seems like. OK. But I haven't done proper in-depth testing and comparison, and it's too early for that. >>Victor: Someone was curious if the volumetric clouds-- is it some kind of extra that's added on top of the existing cloud system? I think they're referring to the sky sphere here since we didn't really have a specific system for clouds previously, or if this is the cloud system itself. >>Sjoerd: I'm trying to interpret that. I mean, the cloud system we had before was indeed just a mesh, was part of the sky dome. Or once a translucent mesh in front of the sky dome, but same kind of thing. And that's what I had here in the other one. I have to open it up again because it's crashed. You could combine the two, I guess. Right now, there's some issues that would happen. Again, it's a work in progress. But right now, there's some translucency sorting between the 2D flat clouds, the mesh itself, and the volumetric clouds, but it's still a work in progress. I'm not sure if that answers the question. >>Victor: So I think he gave us some more details. He's talking about the current volume system. Let's see if I can get that. >>Sjoerd: The volumetric clouds itself, the whatever. Yeah, volumetric fog, sorry. I assume, right? >>Victor: Not entirely sure. I'm trying to interpret the question and the details now. >>Sjoerd: Yeah. No, if we're talking about volumetric fog, no, that is not currently supported. It is using the same kind of system, though, so I mean the material approach is roughly similar. There is more complexity in these, some additional nodes available, but it is still a material. It's using extinction scale and similar settings. For right now, no, you cannot combine it, and in fact, I did actually try to do that, and that didn't work. But again, by the time we get to 426, perhaps, and I don't want to comment on what you can or can't expect in terms of that, but it's still a work in progress, again. >>Victor: I'm going to try to get Ryan Brooks back on the stream when we actually release it so that he can go through it in depth. Going through the last couple of questions here. Someone's asking if we're getting cloud samples with the UE 4.26 release. No news about that yet. We will have to wait and see. There were in general questions regarding will the Sky and Atmosphere system sort of support a spherical world, and as far as I know, there are no plans as of now to support that due to sort of the gameplay ramifications that exist around creating a game that could use such a feature, right? >>Sjoerd: Yeah. It's, again, purely a visual thing. It is not a spherical world feature in the Engine or anything like that. It's a visual effect. >>Victor: Yeah. So you can do a cool cinematic of flying down into the game, very similar to what you've been showing here. How-- >>Sjoerd: I might be-- I might be lagging when I-- it's loading the level, so. >>Victor: It still sounds all right. Chad wanted me to tell you that you're breathtaking, and that the project is absolutely amazing. There was a lot of ohs and ahs. >>Sjoerd: Good. >>Victor: Approval. >>Sjoerd: Thank you. >>Victor: That's some feedback for you. I'm saying that as I'm trying to go through the rest of the questions. >>Sjoerd: I hope I haven't been rambling on in random words an description in things. I don't know. >>Victor: No, I think it's all been very clear. Clearly, if you haven't tackled a project like this in the past, it might seem overwhelming, right? I mean, you're going through all kinds of material tricks as well as using brand new features in Engine, and actually figuring out how to combine them and to create something like this, so I totally understand if folks think that it seems overwhelming and very difficult to do. But you can also maybe point out how long of an experience you have with Unreal Engine and game development in general. >>Sjoerd: Yeah. Only 21 years, so just a bit of time. >>Victor: Yeah, but practice. Practice and experience and keep iterating will get you there one day. >>Sjoerd: Yeah. Oh, definitely. Sorry, it's compiling lots of stuff. I think it's going to slow down the stream, so I'm going to kill that. But I mean, people say it's a 10,000 hour rule or so. I think I'm at 30,000 hours or whatever it should be at this point. So it takes time. I think when I started in the industry, I made at least 20 to 30 levels. Well, of course, they were different times, but I made 20, 30 very different things until I got to a point where I felt more comfortable doing it. So it takes time, a lot. >>Victor: Can we see the landscape details panel for the core landscape? >>Sjoerd: Landscape details panel for the core? I mean, just the properties of the landscape? >>Victor: I believe so, yes. >>Sjoerd: OK. Just out of node, the other Editor crashed. It's compiling lots of stuff that I don't want to do on the stream. It's going to slow down the computer. So I am here in the other version of depth rendering. This one is slightly broken. You can see this foliage going in wrong place. So ignore that. The rest is the same. Yes, the Details Panel. >>Victor: Take a screenshot. >>Sjoerd: Yeah. I think I changed the collision in here somewhere, presumably. Yeah, I set the collision mip level to one, which saved some memory, I believe. And I changed the static lighting lots, too, but I'm not in baking the light so that was kind of-- I shouldn't have done that. The LODing is a bit more aggressive, and that's essentially it. I can see over here what it's running at. It is actually running at 4,000, not 8K, it seems. >>Victor: Someone's curious asking is there a way to downscale the textures in Editor in case you run into a video memory barrier? >>Sjoerd: Yes. Since-- when did we do it? I think Unreal Engine 1 even started doing that. With the current system, every texture has mip maps generated for it. Automatically provided resolution is a power of two, which all of these Quixel textures are. So if you take this random texture over here, it will have MIPS, and it will have-- its hidden in one of these settings-- maximum texture size. If it's 0-- if you make this 4, for example, you can see-- at least, it should. And again, all of these builds I'm using are non-normal builds, OK? So it will have crashed. But the mip level in there, you can basically just set it to 1, and it will only load the next mip level, which is one-fourth of the size of the original one. And that's the same that a game does, and if you're in any game, and you set the texture detail to medium or something, it does the same thing. It just takes the next mip, and it doesn't load the highest resolution. And if you set the entire game and projects to only use mip number 1 for everything, and you package the project, the Engine won't even include your original ones. So it doesn't even take up disk space. It's just completely stripped out. That's how we, for example, allow for the Engine to build to mobile platform. You can say on PCF 8K textures where it's going to deploy to mobile, we want to force all textures to be on mip 2, and that's should then be, what is it? 2k, I think. So maybe mip 3, so it's 1K maximum, and so that's how it's handled. >>Victor: And that reduces the build size, correct? And also allows you to sort of have the 8K pictures in the project and always have them accessible, be able to work with them, but not package it out for something like mobile where that would make your game rather large. >>Sjoerd: Yeah, it makes it scalable so you can have PC all the way to low-end mobile. If you run the whole transition, it should be possible. Yes. >>Victor: We did have a couple folks, I think they joined late that was curious, where are the ants? >>Sjoerd: Oh, well, I mean, both of my Editors at this point have crashed, so I can't show the ending morph. >>Victor: We can-- [INTERPOSING VOICES] If you go back to the VOD, there were a couple questions about that. All of the lectures that we do on the Unreal Engine, we upload them to our YouTube channel afterwards. And so in about give or take a couple of hours once the video is done processing, you'll be able to watch the VOD in eternity, as long as YouTube exists, I guess. >>Sjoerd: There's a spot at the bottom of the valley where there's an ant on a rock. >>Victor: It's right there. >>Sjoerd: Unveiling from the Quixel team, with its wings doing this with a very simple vertex animation I did, and that's it. >>Victor: With that, I think we are about to hit the 2 hour mark, so I'd like to thank Sjoerd for taking his time out of his day, and also, making this amazing project. It's quite breathtaking just like you, apparently. >>Sjoerd: Well, I guess. >>Victor: That said, next week, we will actually be kicking off the 2020 Unreal Spring Jam, and we'll have Michael Noland on the stream showing off a little bit of game game jam tips and tricks. Not entirely sure what he has in store for us just yet, but it's going to be exciting. And then at the 3 PM mark we will announce the theme for the Game Jam. That said, I think I'm going to need another glass of water because my bottle is out, and Sjoerd, thanks again for coming on. >>Sjoerd: Thank you. >>Victor: Yeah. It was great. Perhaps, I hope, we can have you on before the end of the year is over. >>Sjoerd: I hope so. I want to do another one of these kind of things. I mean, these kind of demo projects, so I have some ideas. >>Victor: I got another little ping here I was just trying to look at. Yeah, and we're excited to see what you're working on. It's quite normal for, I mean, most of the evangelists are working on little projects, tips and tricks. Where can our viewers go to see that if they're curious about what you guys are working on? >>Sjoerd: Kind of different places a little bit. Primarily, all of our Twitter accounts are probably the best reference at the moment, and we've got a page, Unreal Indies on unrealengine.com that has all of our profiles up there and Twitter accounts next to them. And that's clearly the best place, I think. Yeah. >>Victor: Yeah. I've also seen some of you posting it on the forums as well. >>Sjoerd: Yes, absolutely. >>Victor: Links and breakdowns-- so that's where you can go to see what they're working on. In normal times, they would also be able to see you all around the world, whether European or American or Asian conferences, which is also part of your job, what you do, but unfortunately, at this time, we are only able to try to spend time with you all virtually. But I'm happy we're at least able to do that. Cool. With that said, time to go. Thanks everyone for watching today. I hope you enjoyed and learned a lot. If you would like to know more or have any further questions or would just like to discuss the features that are part of Sky and Atmosphere, feel free to use the announcement thread for the stream. It's a good place to sort of get around and discuss specifically what was said and showcased in the stream. So with that said, I will see you all next week. Bye, Sjoerd, and bye everyone out there. I hope you have a great rest of your week.
Info
Channel: Unreal Engine
Views: 65,724
Rating: undefined out of 5
Keywords: Unreal Engine, Epic Games, UE4, Unreal, Game Engine, Game Dev, Game Development, sky atmosphere, sky and atmosphere
Id: xz-XBPjd2OY
Channel Id: undefined
Length: 114min 30sec (6870 seconds)
Published: Sat May 30 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.