Learn how to make beautiful trees, fluffy grass, and sweeping landscapes with my brand new Unreal Engine for Beginners course: bit.ly/3k5xCNH Patreon: / stylizedstation
For a deeper explanation in relation to Breath of the Wild's grass, the grass blades closest to the player (within about 10m) are gpu instanced polygons which are there in order to react and displace relative to the player and objects, wind simulation, fire and other environmental factors. This grass pops into view blade by blade as the player moves, with higher density of blades closer to the player/camera. Beyond that range (up to about 20m) are unreactive billboarded 2D grass doubles, which blend between the nearby grass blades and the distant field texture. These help to keep the illusion of density further from the camera, and you can sometimes see them mixed in with the reactive grass. Both of these types of grass are coloured in such a way that they blend closely into the ground texture so as to hide any unpopulated areas of the screen, and to smooth the transition between the different levels of detail.
thanks for this. I was expecting more of an explanation surrounding BOTW's grass from the video, but instead got a general explanation, which isn't bad.
Botws grass is so fucking awesome I never thought I'd think that about grass in video games being awesome but it's great I mean you can cut it burn it bathe in it, it's great
I'm also not sure about grass being completely static in the distance because you can shoot a fire arrow into the distance and the grass will catch on fire and move in the wind like it does up close
@@quiploo probably, also something weird about botw is it has 3 lod levels for details on the ground like small pebbles or leafs that only show on the bottom quarter of the screen or really zoomed in as link walks leads and extra detail will appear right Infront of where link is in the world
Nintend o making fun games isn’t new, it botw was so boring for me, I ended up jumping from a high tower for 2 hours to see the funny ragdollls and then I got bored (I tried playing normally, wasn’t fun either so that’s how I ended up jumping from towers)
@@Skikopl Sadly Nintendo doesn’t make the main Pokémon games, Game Freak does. It would be amazing if they didn’t have 3 year development cycles for such huge games :(
@@Skikopl I’m sorry, but like, have you even played them? I see a lot of people who have never played them shit on them despite never even touching the game. I personally think the glitches are few and far between and the only problems are minor frame rate drops and minor visual glitches. If you HAVE played the games and dislike them anyways that is completely your opinion to make, but if you haven’t don’t assume just based on what other people say.
Culling is also why wide screen hacks for some older games aren't always recommended. Most of the time it will only be small objects though like lamp posts and trees
Fun fact: LODS has been used since a pretty long time, in Mario 64 it occurs as well, if you move the camera far from Mario he switched to a low poly model, also happens in Ocarina of Time
LODs have definitely only been useful recently now that we have so much ram and CPU to work with. For Mario 64 even, it would have been better not to do LODs since the processing to change the model is more than it took to just render the whole thing.
LOD are actually used as far back as 91 with titles like The Killing Cloud, being a proven technology on PC to optimize runtime rendering costs. Something important to consoles coming up to compete in the 3D landscape, given the generally slower hardware they were built from, they needed that edge to be a standard in their design. Mario 64 actually benefitted a good bit because of that, much like Crash Bandicoot, by leveraging a lot of LOF and occlusion culling to closely manage how much was being pushed through the render pipeline at any given time. Changing the model actually cost very little with Mario's LOD being a small element held in the memory buffer.
The lower detail of painting depending on lighting and distance is also a good way of contrasting and directing the viewers eye to the focal points of the composition. The same philosophy can be applied to video games!
one more technique is that artist would make the world purposefully in a way that he can hide most of the grass to save performance like add a house in the middle, uneven terrain, a large rock or cliff, water body, wtc... also it even feels natural and organic.
The first time I remember seeing dense grass in a game was as a kid at a Gamecube kiosk at BestBuy. I _think_ it was a Transformers game? I just remember being some kind of blue vehicle in a forest and that the dense grass all around me blew my tiny little mind compared to the flat ground with a grass texture on it that I had always seen in games before. Does anyone else remember that game or know what it was called?
Awesome video! If you talk about LODs, I hope you cover how UE 5 works with ITS massive detailed landscapes. Also a basic example of an early LOD change was Mario 64, that Mario’s model would be swapped out for a low poly one when the camera was far
@@YIENDEEN Manually making them is not needed for nanite. But we still don't know how it works, we just know it doesn't render sub pixel details that can't be seen, and it seems to be an evolution to meshlets.
@@buffaloSoldier519 there's actually a talk on how nanite works somewhere on RU-vid. I don't have the link at hand, but should be fairly easy to find and it's very informative. It's actually from the Unreal team themselves.
Would be nice if you could also cover why vegetation in games is usually pointing perpendicular to the surface it's placed on rather than straight up, like it should in most instances. I have my own theories to why that is, but i'd like to see some examples of it being done properly if you can think of any.
fun fact, for the unity game engine: grass and other small details on the terrain WHERE/ARE pointing straight up (the feature to bend them to align with the terrain surface was only recently added). If you have some bush it has a "pivot point" somewhere, usually at the bottom where the bush meets the ground. If the bush stick straight up you might find that a few of it's branches and twigs are now floating in the air, because the model was made like it would stay on a flat surface. So instead stuff is aligned with the surface, so you don't have them floating. In reality though, you'd have plants bent towards light as they grow, regardless of their surface. But that would require way more models and work from level designers OR a fully dynamic approach, which would prevent things like GPU instancing.
@@Soraphis91 could handle directional growth in shaders. In most cases, not each blade of grass is its own model.(which you know, but for other readers sake, I will include full detail, to add to what you have said) Grass is often simplified in computation by having multiple blades in one 3D model, as a patch of grass. Placing this patch of grass on a slope would mean A: for the grass to point straight up would mean the whole patch has to point up, causing the sides to hang over mid air. Or B: the patch matches the slopes angle, causing the blades to be angled too. But in shaders, you can rotate the blades of grass with some slick math. With shader magic the possibilities become endless. Between shader math which makes the grass move when the player steps over it, or even make plants actually follow sunlight in real-time.
that was 5 minutes about "How do graphic engineers touch grass". but seriously they are the reason we can walk into a field and not crash the game so thank you graphic engineers.
I really wanted you to make a video explaining some optimisation techniques. I don't know if you saw my comment on the last video or not but this does make me really happy!
I think the one element you missed is how Breath of the Wild saves performance by not creating alpha texture grass clusters and instead uses only polygons for the grass shape of individual blades. Otherwise great video!
That doesn't sound right. individual blades as a polygon(s) would be more to render vs glass clusters where you can have multiple blades on a single polygon pane. I guess if that's true it makes sense why the grass density is so low. The game isn't really a good example of grass done well. Its render distance is very short, and density is very low. Ghosts of Tsusima and Crysis 3 had much better, dynamic, fuller, bigger render distance grass.
Год назад
@@thepunisherxxx6804 My understanding is that alpha textures are just really expensive. Ghost of Tsushima does the same thing as far as I can tell, specifically because its more efficient than clusters with alpha textures, I watched their GDC talk on that. There's also a series of videos by Acerola on video game grass that demonstrates how BOTW does its grass and how to replicate it in Unity.
There is another method called impostors optimization, that are very similar to lods. And is like scanning (taking pictures from many angles) every asset and then render those images in a low poly mesh.
The entire physics in BOTW is mind-blowing considering that it's all running on essentially an underpowered mobile GPU from 2015. The grass especially still impresses me even to this day.
Technically it runs on an underpowered GPU from 2009 😜 Cause it was developed as a Wii U game and then ported to Switch, and there’s basically no difference between the two versions
The botw speedruns even take advantage of the game's use of LODs by flying towards Hyrule Castle at speed and walking through a doorway that usually has a gate before the higher level of detail can be fully loaded in. This doubles as a great visual as you can see low-detail Hyrule Castle slowly get replaced by the high-detail version. In the older speedrun routes, this would also save some more time as you could sometimes walk through the magnesis shrine door before it loaded if you got a good enough BTB from cryonis. However, this is no longer the case as BTBs were replaced with BLSSes and the Great Plateau shrine order was changed.
Was eager to dumb down the video when you called BOTW a Gen shin Impact "clone". But the video was really well laid out when talking about fundamentals and engineer techniques used for games.
frustum culling gpu instanced objects is pretty complex btw. there's a series of videos on grass by the youtuber Acerola where he discusses it. pretty interesting stuff
I think the big reason why botw and totk feel more detailed than say red dead/cyperpunk/horizon is because the low detail renders really mesh well with the art style and color choices, the level designers are crazy. For example in tears all the doors that look openable actually open and have stuff relate to the npc that lives in that room. So many little details that some games may cull because of 4k textures being inherently larger. This is why I loathe 4k gaming when gpu's don't casually have enough vram to really load in. I ain't saying it doesn't look nice, it just feels smaller. I just feel like the hardware isn't ready. Kind of a biased read, but a lot of open world games just feel empty.
I just listened to the very first sentence in this video: "... playing my favorite genshin impact clone Breath of the Wild... " and quickly googled and found out that Genshin Impact's worldwide initial release date is September 28, 2020 and Breath of the Wild was released on March 3, 2017
Wonderful! Just wonderful! Coding bores me but gam dev will always stay close to me. Just perfect explanation. Love the first sentence, nothing existed before genshin impact and fortnite.
This was an awesome video. I do have one thing you could make better tho. If possible could you add a little card saying what game it is when showing gameplay? Ofc i know some of them but a little “the legend of zelda breath of the wild” on the bottom left or right would make it a bit easier for new gamers
imagine if you are an npc that is told to touch grass but then the grass isnt visible to the player so it doesnt render and therefore you cant touch it maybe thats why i cant touch grass
Dude the grass is not replaced with a texture, its just the naked terrain texture without any grass on it. Also after removing 99% you still usually have hundreds of thousands of vegetation to render, not "hundreds"