hello, I am a small youtuber wanting to make essay-type videos just like you do, and since you clearly know what you are doing, I was wondering if you could give me some advice on how you make it and/or get the information for your videos.
Most of the games shown here don’t have ugly looking trees in my opinion. Especially Ghost of Tsushima. That game had some of the best looking foliage I have ever seen in a game
And I strongly disagree. With the exception of Ghost of Tsushima, which this video doesn't show any closeups of trees (the grass looks good, but it stated to give each piece of grass it's own geomatry and animation), and I have never played, none of the other games have good looking trees. They definitely have better looking trees than older games have, but they are still ugly. Foilage in general, both in it being 2d, and the way lod is so noticable, has driven me nuts in literally every single game. It just looks bad. Games with stylized graphics like Breath of the Wild aren't as bad for me, but they are still ugly. As for games going for realism, their trees are absolutely hideous to me as they stick out like a sore thumb. Luckily, Unreal Engine's nanite system goes a long way in helping with one of my most hated things about modern video game graphics.
@@TheNe0PhyT3 it’s so strange to me because I have never noticed foliage in modern games. Obviously games like SM64 have awful looking trees, but I haven’t ever been playing a game like BOTW and thought the trees looked particularly bad. They don’t look real, but I guess I’m just unbothered by it. It’s so interesting to me that it seems many people have always noticed it.
Ah. Love watching a video critiquing something, and being genuinely curious about what the person might have to say, and then realizing it's just a 4 minute long ad. That can be summed up to "Tree look bad in games, but we make good trees so pay us money so you make good trees too!"
something I noticed about dragon age origins is the leaves will rotate to face the player. It's an odd effect if you're looking straight at it, but since players don't usually look at trees they probably didn't notice.
This effect looks even stranger in Just Cause 2 where if you fly a jet over a forest at low altitude every single tree quickly turns towards you as if they were all LOTR ents doing a choreographed dance at you.
@@adarshwhynot you dont want to have your leaf-cards to be transparent, no game does this, you want them masked so the engine knows which pixels to literally discard and not render
Tree foliage will tend to use a "transparent cutout" shader that helps with the overdraw issue by limiting pixel alpha to be either fully transparent or fully opaque. The foliage pixel can then safely "write its depth" so that any pixels that are further from the camera will be discarded.
Finally.. true, but there's still the cost of iterating and depth testing all of them though so that's still a concern. Plus that's sort of a roundabout reason why trees look bad, abrupt cutoffs generally look worse than true alpha even with antialiasing and the like.
But if you use per-fragment/pixel discard then you also lose the benefit of early Z culling. It helps when the foliage is sparse, but hurts when you have foliage that's mostly opaque. For example when you have dense object occluding a tree.
A lot of people mentioned nanite, but the technique that UE5.1 uses actually comes from Pixar. It’s called stochastic pruning and it’s a LOD technique for porous meshes like trees and bushes.
Loved the introduction to optimization for foliage in gaming.😁 I have spent quite some time learning the pros and cons about optimization methods using Unreal engine 4, there are multiple techniques to work with, but with UE5 and Nanite starting to support foliage and transparency, geometry isn't really an issue anymore. (except crazy overdraw of course, need to still be careful with that one while putting all together geometry heavy assets) Few things to work with on the top would be : - Instanced meshes (reduce drawcalls and allow to increase performance overall) - Mipmap management (size of textures based on distance from the camera), - Frustum culling (to load and unload from memory objects inside/outside of camera point of view), or other culling methods - Draw Distance - Merge (of complex/custom geometry + materials to reduce drawcalls) - Use of Atlas Textures (to reduce load on GPU, specific to some scenarios) - Niagara particle system to take care of complex interactions/particles driven by GPU (Material nodes for interactions remain less heavy on GPU of course) - Octahedral LODs (another method to conserve good visual quality of the asset at while using very very low poly count, works well with symmetrical medium or large sized props) - Or even Vertex Shaders (for looping animations that cost almost nothing on the computer to run in realtime) And way more 😅At the end, it's up to what is the target platform/performance and visual fidelity, finding what fit the most the development pipeline.
Yes Nanite is really good. Other than foliage, it can also help with LOD pop-in issues and enable developers to use many high poly meshes without losing perf.
EU5.1 with nanite is also working towards making this problem easier to fix. i'm sure it's not perfect, but nothing ever is with large scale gamedev really. but it'll be a huge tool to make this less of a headache (provided you're working in unreal to begin with)
A lot of the trees from games actually look great, I think it's just Pokemon and maybe apex, but even then they are already criticised for bad graphics in general
Funny enough I don't think Pokemon Legends Arceus even used alpha cards, like it's literally the same tree and copy and pasted, a whole model seemingly just seemingly planted there, and just propagated, rather than alpha cards randomzing what set of leaves and potential flowers those could have.
I love how you always show the crazy cool and fun ways developers make the amazomg game we play. Reminds me of the making if films or that how it's made show.
I think it is mostly because the trees are not stylized properly like in cartoons or paintings. Most trees feel like stock assets, they dont need to look hyper realistic they just need to by stylized more artistically, but my guess is most trees are asset packages that are used to save on developmnent costs.
Since Unreal Engine 5's Nanite works with foliage now, it could be an option to render individual leaves with minimal Alpha. But anyways I thought in Unreal Engine an early depth pass is rendered on masked materials, which eliminates overdraw. Correct me if I'm wrong.
@@saimon1987 Then try the following: In UE5, Stack foliage planes behind eachother and set the material Blend Mode to "Translucent" Look at it in the Shader Complexity mode (Alt + 8). There is red and white areas all over = huge overdraw. Now set the material blend mode to "Masked" and look at it in the Shader Complexity mode again. There is only green areas. Overdraw seems to be drastically decreased. The early Z-pass for masked materials is on by default in UE5, which reduces masked overdraw. This option was available in UE4 but off by default.
@@Braindrain85 Everything in real-time rendering is a tradeoff, right. If you are going for a stylized game that can use the binary blending of masked or if you are happy to trade in for less realistic looking leaves, masked will definitely save you from overdraw. But leaves don't function in a binary off-and-on way as the masked blending does.
@@fergushamilton6274 Thanks for your input. Though could you please explain "leaves don't function in a binary off-and-on way". Since leaves are not half transparent, masking (maybe with some dithering) might be the most practical approach we have as of now. You said masking is a tradeoff for less realistic looking leaves. What is your preferred blending mode for realistic foliage?
One solution is to use different levels of detail. Individual leaf polygons => alpha cutouts => tree billboards that transition based on distance to the camera. Then the difficulty is in hiding the transitions. You can get very good looking trees for static screenshots at the cost of a noticeable pop when the LOD changes. However, when the trees are dense enough, and transition at different points, it's less obvious due to all of the visual noise. This is the approach I use.
can u explain more about ghost of ishuma grass gpu instancing thing .. can u make a tutorial how it works? even if this is for premium member on youtube or so
I’m glad the foliage in The Isle (evrima) looks so beautiful! I can run it with the highest settings and it really felt like I was immersed in that environment
Can the overdraw problem be solved with raytracing since instead of drawing all the objects in the cameras FoV, the rays sent from the camera would hit the closest object first, eliminating the need to draw the objects behind it? Granted this depends on how many bounces you set, I know having atleast a few bounces is the key to raytracing looking good, but assuming you surrender this (and multisampling), couldnt you include an absurd number of objects in your scene and still maintain good performance?
Well, there's this one game called Post Mouse where trees are nicely rendered, but that's because you're a tiny mouse in a vast world set in the yard of an abandoned manor.
A grass blade is a triangle, so there's no overdraw because you don't discard the pixels where the alpha channel is at zero, the trees use quads and discard the transparent pixels. if you reconstruct the geometry with GPU instancing (which seems quite too polygon heavy)then yes it could solve the issue but otherwise I think that has no impact on the overdraw
So I want to learn un5 so badly but I downloaded it last day at it took 106 hours and after I tried to opened it it started giving me errors saying it’s not supported and something else. After that I ended deleted the new version which is 5.1.1 and downloading 5.0.3 but it’s gonna take 106 hours also. Any help??
what if you unloaded all the alpha card that arnt seen by the player? theoreticaly, that would reduce most the lagging, and then, making the texture different, so that you could make the texture follow the player without it looking bad.
taking a guess from what it looks like visually, im assuming his trees are just big and hollow, im assuming this based on how opaque the leaves of the tree are. because its just an opaque texture, you dont need to place leaves INSIDE the tree. since players wont be seeing it
A mate of mine bought the course and iirc his trees use a method where you transform every face of a sphere into alpha cards that then always face the player. Its a method that works for stylized environment but has some jank to it (last time I tried)
Short answer? Yes, but with caveats. Long answer: Dreams is basically a game engine on top of a game engine on top of a rendering engine, so everything you're doing is abstracted to a solidly high degree. In Dreams the don't give you access to core engine level tools outright, you'll have to use what's at your disposal there. I'd recommend following some creators that work exclusively in dreams to see how they optimize their scenes, but things like GPU instancing and all that jazz require the engine to support it outright.
I think in terms of geometric density of recent games, we're close to the point of being able to use meshes for leaves, at least on LOD0/ highest poly/closest drawn meshes. I think that brings up a whole other can of worms in terms of animation consistency between LOD0 and lower poly/distant versions using alpha cards, visual consistency and possibly exaggerated asset pop when transitioning between detail levels, and just generally out of scope for anything besides maybe a next-gen walking simulator or photography game where close inspection of nature is a key part of a game.
Perfomance problems come from the transparent textures which 3D engines have problems to render: invisible parts of the texture (the black parts in texture mapping) cause brutal overdraw too. Instead of using a map to make unwanted parts of a texture invisible, its many times better to cut out the textures manually. It is more work of course, but you get a greatly perfomance increase.
Рік тому+1
What do you mean by cutting out textures manually? Adjusting the shape of the mesh so it'll have less transparent part of the texture on it? Meaning, it'll increase triangle count as the mesh follows the texture's shape closer instead of having a big quad with tons of invisible part?
I am a long time subscriber and fan of your work, and your course looks amazing but I have been putting off getting it for quite a while now because of needing substance painter, do you think Quixel Mixer is up to the task even though it doesn't have baking? Or is the difference pretty big and I should wait until I can afford substance painter?
@@illidank996 in short, yes it is, but baking it through substance painter is way way easier because it can make all the maps for you without changing programs. blender baking is just ok, this is what I am currently doing and then importing to quixel, but quixel is still a bit different than sp.. my real question is if the course translates to quixel pretty simply or if having substance painter is just better
@@T33nno Ah yeah that makes sense, I've always had acess to SP so I never thought about that. I guess it depends if the course if worth it for you. I guess he uses SP for the rocks and maybe the trees but im sure you can get a sufficent result using your own workflow. In the end most of the course stuff happens in UE (I guess) so you might not be missing out on a ton
@@illidank996 totally agree, I am saving up for SP and this course anyway, but If it is pretty Substance painter heavy, then maybe I should probably wait and stick with my workflow for now
Why can't we just use the same bezier curve they use for grass? But have three to form a leaf with intersection points and range cutoffs? Lerp fill between?
because ppl focus more on the plot the gameplay and the story more and thank god because if they made a whole ass game about a realistic tree and nothing else then fuck i wouldnt even pay for it id just pirate it and delete after 10 minutes of playing
i think indeed gpu instancing would be great for high LOD trees like 1 naked tree mesh and generated on the fly gpu instanced leaves , with the high degree of polygons we can have now, maybe soon creating whole trees without needed alpha textures could work, and if we couple that with highly advanced billboards for distant tres, we can have something awesome! on the topic of billboard these got way better since the last few years, i saw an unreal plugin named impostor and it worked beautifully, though it demands lots of data and probably ram.
Alpha cards... never heard that term before. It was common to call these billboards or billboarding. Cloud simulation used these a lot. Some interesting optimizations involved regenerating them on the fly to merge many together. Suddenly a couple of triangles is rendering thousands of cloud particles.
you just need dense looking foliage images, a realistic model and good textures that blend well. for example check out the trees in tarkov, pretty good imo
The best foliage I've seen and used imo is based on Cryengine. Amazing tech and optimized to an insane level. If I'd build the same scene in UE5, even of I would get similar quality the performance of Cryengine is amazing.
Do you think Nanite's method for foliage will affect the industry in any way? Nanite still has issues with overdraw but I'm interested in seeing how games get prettier with UE5.
When I saw the big broccoli tree in mob psycho 100 season three I knew all the anime games I’ve played need that type of tree, not for the same reason dimple does 😂
Not sure if this was mentioned, but GPU instancing doesn't do anything about overdraw, it's just less communication between the CPU and the GPU, saving valuable time. For overdraw, you can do a depth-prepass, where you only draw to the depth buffer first, so once you get to your regular drawing, you only draw the visible pixels.
Can't you use entity culling to mitigate some of the performance impact? Basically, don't render any grass/leaves that is fully covered by other grass/leaves (so what is rendered depends on where the camera is immediately pointing at). This should already happen for things that are outside of the player's FOV, so we could try to apply the same concept inside it.
I think future iterations of Godot 4's auto lod system and Unreal Engine 5's nanite system will make stuff like this a non-issue in the future. The stuff I've been able to test and that I've seen others do with these tools is already incredible, and with future improvements, like when UE5 gets nanite support for moving shaders/meshes, I think we're going to see an impressive change to how renderers are written for games in the next few years.
uuh chill with godot 4, sure auto lod really helps a lot and increase the rendering of largue scenes by a lot, but it isn't at the same level as nanite, even for igpu. also ue5 already had lod for a long time now.
I would assume that in most game engines most repeated meshes (like grass billboards) are drawn using GPU instancing, as it's usually a feature of the graphics API (OpenGL, Vulkan, DirectX, etc.).
maybe the solution is to not draw the pixels overlapping depending on which way the camera is facing? IDK they do that for other things in games. I'm a noob
why not cull the leaves based on a sparse raycast that injects information about the width of the visible leaf textures in order to reduce overdraw? it might be able to limit overdraw to 2 or 3 passes instead of the dozens experienced by full trees.
Ich weiß leider nicht mehr wie es heißt aber gibt es nicht extra ein Programm um Bäume zu erstellen welches den nachteil hatte, dass sich texturen mit der Kamara mitbewegen, das jedoch fast nicht auffällt wenn man nicht direkt von unten in den Baum schaut. Dafür sehen die Bäume bei weitem besser aus, Elden Ring nutzt das glaube ich. Edit: Es heißt speedtree und ja, Eldenring nutzt es.
Er hat glaub ich eh footage von speedtree im Video. Speedtree is der Industrieanführer was Bäume und Foliage angeht. Ob du willst das sich die Leafcards mit der Kamera drehen oder nicht kann man im machinein immer noch entscheiden
None of the trees shown are what I would call ugly, and I don't think most people would. At worst they're just not as realistic as they could be. Also at 2:14, it is rather deceptive to show a static tree in a modeling program, then switch to a fully animated tree, with quite a different visual style, in a running game engine; that is not at all a fair comparison. There are also PLENTY of examples of great looking video game trees using alpha cards, or essentially the same technique with speedtree (which still depends on alpha cards). Really, calling video game trees ugly is extremely subjective.
Here's my anime environment art course: bit.ly/3k5xCNH
hello, I am a small youtuber wanting to make essay-type videos just like you do, and since you clearly know what you are doing, I was wondering if you could give me some advice on how you make it and/or get the information for your videos.
Most of the games shown here don’t have ugly looking trees in my opinion. Especially Ghost of Tsushima. That game had some of the best looking foliage I have ever seen in a game
It was just filler footage related to theme of the video, foliage
He says in the video that ghost of Tsushima has really good folliage
they are though, for all the reasons explained - but from a distance, they look great and stylised
And I strongly disagree. With the exception of Ghost of Tsushima, which this video doesn't show any closeups of trees (the grass looks good, but it stated to give each piece of grass it's own geomatry and animation), and I have never played, none of the other games have good looking trees. They definitely have better looking trees than older games have, but they are still ugly.
Foilage in general, both in it being 2d, and the way lod is so noticable, has driven me nuts in literally every single game. It just looks bad. Games with stylized graphics like Breath of the Wild aren't as bad for me, but they are still ugly. As for games going for realism, their trees are absolutely hideous to me as they stick out like a sore thumb. Luckily, Unreal Engine's nanite system goes a long way in helping with one of my most hated things about modern video game graphics.
@@TheNe0PhyT3 it’s so strange to me because I have never noticed foliage in modern games. Obviously games like SM64 have awful looking trees, but I haven’t ever been playing a game like BOTW and thought the trees looked particularly bad. They don’t look real, but I guess I’m just unbothered by it. It’s so interesting to me that it seems many people have always noticed it.
Ah. Love watching a video critiquing something, and being genuinely curious about what the person might have to say, and then realizing it's just a 4 minute long ad. That can be summed up to "Tree look bad in games, but we make good trees so pay us money so you make good trees too!"
In the middle of the video too. If it was at the end, after explaining all the techniques used itd be more excusable as a add-on, but cmon.
Thanks for saving me 4 minutes
hello i like money
Mr crabs style
Thanks for this. Saving us time
something I noticed about dragon age origins is the leaves will rotate to face the player. It's an odd effect if you're looking straight at it, but since players don't usually look at trees they probably didn't notice.
This effect looks even stranger in Just Cause 2 where if you fly a jet over a forest at low altitude every single tree quickly turns towards you as if they were all LOTR ents doing a choreographed dance at you.
Elden Ring does it aswell, and I was very upset noticing that I still looks so good though.
Yeah that's how sprites work, they're always facing you.
@@suha1012 Flashbacks from 20 years of Flight Simulator where whole clouds flip to face you when you go over or under them.
@@TheMightyKiD38 that's called billboarding.
Unreal 5 recent update seems very promising for making nice trees
Details?
Still over draw limitation exists
At what cost
Even with Nanite they can destroy performance because of the insane texture detail
@@adarshwhynot you dont want to have your leaf-cards to be transparent, no game does this, you want them masked so the engine knows which pixels to literally discard and not render
I was expecting 50% of this video to elaborate on the bad textures on tree logs
Tree foliage will tend to use a "transparent cutout" shader that helps with the overdraw issue by limiting pixel alpha to be either fully transparent or fully opaque. The foliage pixel can then safely "write its depth" so that any pixels that are further from the camera will be discarded.
Finally.. true, but there's still the cost of iterating and depth testing all of them though so that's still a concern. Plus that's sort of a roundabout reason why trees look bad, abrupt cutoffs generally look worse than true alpha even with antialiasing and the like.
But if you use per-fragment/pixel discard then you also lose the benefit of early Z culling. It helps when the foliage is sparse, but hurts when you have foliage that's mostly opaque. For example when you have dense object occluding a tree.
As a game dev myself, you guys have no idea how hard it is to make nature elements like rocks or trees feel nature.
A lot of people mentioned nanite, but the technique that UE5.1 uses actually comes from Pixar. It’s called stochastic pruning and it’s a LOD technique for porous meshes like trees and bushes.
Loved the introduction to optimization for foliage in gaming.😁 I have spent quite some time learning the pros and cons about optimization methods using Unreal engine 4, there are multiple techniques to work with, but with UE5 and Nanite starting to support foliage and transparency, geometry isn't really an issue anymore. (except crazy overdraw of course, need to still be careful with that one while putting all together geometry heavy assets)
Few things to work with on the top would be :
- Instanced meshes (reduce drawcalls and allow to increase performance overall)
- Mipmap management (size of textures based on distance from the camera),
- Frustum culling (to load and unload from memory objects inside/outside of camera point of view), or other culling methods
- Draw Distance
- Merge (of complex/custom geometry + materials to reduce drawcalls)
- Use of Atlas Textures (to reduce load on GPU, specific to some scenarios)
- Niagara particle system to take care of complex interactions/particles driven by GPU (Material nodes for interactions remain less heavy on GPU of course)
- Octahedral LODs (another method to conserve good visual quality of the asset at while using very very low poly count, works well with symmetrical medium or large sized props)
- Or even Vertex Shaders (for looping animations that cost almost nothing on the computer to run in realtime)
And way more 😅At the end, it's up to what is the target platform/performance and visual fidelity, finding what fit the most the development pipeline.
Yes Nanite is really good. Other than foliage, it can also help with LOD pop-in issues and enable developers to use many high poly meshes without losing perf.
To be honest I think that the tree's you showed with alpha cards looks better than what you showed after from your courses.
I didnt realise trees in real life looked better because i have never seen them
Touching grass is tough, I agree.
go outside
@@keshi5541 do i haaaaave to?
I never complained about trees, except when your car hit an invisible part of the tree :/
EU5.1 with nanite is also working towards making this problem easier to fix. i'm sure it's not perfect, but nothing ever is with large scale gamedev really. but it'll be a huge tool to make this less of a headache (provided you're working in unreal to begin with)
Solution: Nanite in Unreal 5
Now is posible to create foliage in high quality.
Trees in most games look fine... And have looked fine for a while.
Nope. And especially at distances, trees almost always look horrendous.
@@jamaly77 no lmao. Nowadays trees look fine in games. The title is stupid
"why do video game trees look so bad? "
Kingdom Come Deliverance: Huh, peasants...
A lot of the trees from games actually look great, I think it's just Pokemon and maybe apex, but even then they are already criticised for bad graphics in general
Funny enough I don't think Pokemon Legends Arceus even used alpha cards, like it's literally the same tree and copy and pasted, a whole model seemingly just seemingly planted there, and just propagated, rather than alpha cards randomzing what set of leaves and potential flowers those could have.
as someone who's into both art and tech, your channel is awesome
true
I love how you always show the crazy cool and fun ways developers make the amazomg game we play. Reminds me of the making if films or that how it's made show.
Guy: "Why do video game trees look so ugly?"
*Proceeds to show me the most beautiful CGI trees I've ever seen.* O_O
I think it is mostly because the trees are not stylized properly like in cartoons or paintings. Most trees feel like stock assets, they dont need to look hyper realistic they just need to by stylized more artistically, but my guess is most trees are asset packages that are used to save on developmnent costs.
Love the small info vids bro keep it up
Since Unreal Engine 5's Nanite works with foliage now, it could be an option to render individual leaves with minimal Alpha. But anyways I thought in Unreal Engine an early depth pass is rendered on masked materials, which eliminates overdraw. Correct me if I'm wrong.
Wrong. Overdraw is a huge problem also in unreal and specially in foliage. It has always been ;)
@@saimon1987 Then try the following: In UE5, Stack foliage planes behind eachother and set the material Blend Mode to "Translucent"
Look at it in the Shader Complexity mode (Alt + 8). There is red and white areas all over = huge overdraw.
Now set the material blend mode to "Masked" and look at it in the Shader Complexity mode again. There is only green areas. Overdraw seems to be drastically decreased.
The early Z-pass for masked materials is on by default in UE5, which reduces masked overdraw. This option was available in UE4 but off by default.
@@saimon1987 you are wrong, hes completely in the right
@@Braindrain85 Everything in real-time rendering is a tradeoff, right. If you are going for a stylized game that can use the binary blending of masked or if you are happy to trade in for less realistic looking leaves, masked will definitely save you from overdraw. But leaves don't function in a binary off-and-on way as the masked blending does.
@@fergushamilton6274 Thanks for your input. Though could you please explain "leaves don't function in a binary off-and-on way". Since leaves are not half transparent, masking (maybe with some dithering) might be the most practical approach we have as of now.
You said masking is a tradeoff for less realistic looking leaves. What is your preferred blending mode for realistic foliage?
One solution is to use different levels of detail. Individual leaf polygons => alpha cutouts => tree billboards that transition based on distance to the camera. Then the difficulty is in hiding the transitions. You can get very good looking trees for static screenshots at the cost of a noticeable pop when the LOD changes. However, when the trees are dense enough, and transition at different points, it's less obvious due to all of the visual noise. This is the approach I use.
Never in my life have I once thought that the video game I'm playing's trees looked bad
What’s gpu instancing? It was mentioned at the end of the video but not rly explained
that was a pretty smooth transition to an ad segment ngl
"Why do video game trees look bad?"
Minecraft trees with shaders: Aight ima head out
can u explain more about ghost of ishuma grass gpu instancing thing .. can u make a tutorial how it works? even if this is for premium member on youtube or so
I’m glad the foliage in The Isle (evrima) looks so beautiful! I can run it with the highest settings and it really felt like I was immersed in that environment
Can the overdraw problem be solved with raytracing since instead of drawing all the objects in the cameras FoV, the rays sent from the camera would hit the closest object first, eliminating the need to draw the objects behind it?
Granted this depends on how many bounces you set, I know having atleast a few bounces is the key to raytracing looking good, but assuming you surrender this (and multisampling), couldnt you include an absurd number of objects in your scene and still maintain good performance?
That would be very expensive
Love these vids man keep it up 👍
Well, there's this one game called Post Mouse where trees are nicely rendered, but that's because you're a tiny mouse in a vast world set in the yard of an abandoned manor.
so what is the essence? are those fluffy trees from your survival kit a good solution for games or not? :D
A grass blade is a triangle, so there's no overdraw because you don't discard the pixels where the alpha channel is at zero, the trees use quads and discard the transparent pixels. if you reconstruct the geometry with GPU instancing (which seems quite too polygon heavy)then yes it could solve the issue but otherwise I think that has no impact on the overdraw
Minecraft Trees: hello
So I want to learn un5 so badly but I downloaded it last day at it took 106 hours and after I tried to opened it it started giving me errors saying it’s not supported and something else. After that I ended deleted the new version which is 5.1.1 and downloading 5.0.3 but it’s gonna take 106 hours also. Any help??
can someone tell where the tree at 1:24 is from? videogame? photo? wallapaper engine? pls
what if you unloaded all the alpha card that arnt seen by the player? theoreticaly, that would reduce most the lagging, and then, making the texture different, so that you could make the texture follow the player without it looking bad.
Great video as always! But now you have me wondering how you made your trees look so good in a world where it's apparently not quite possible yet.
taking a guess from what it looks like visually, im assuming his trees are just big and hollow, im assuming this based on how opaque the leaves of the tree are. because its just an opaque texture, you dont need to place leaves INSIDE the tree. since players wont be seeing it
A mate of mine bought the course and iirc his trees use a method where you transform every face of a sphere into alpha cards that then always face the player. Its a method that works for stylized environment but has some jank to it (last time I tried)
Hey Stylized is it possible to do this type of stuff inside Dreams PS4? Just wondering.
Short answer? Yes, but with caveats. Long answer: Dreams is basically a game engine on top of a game engine on top of a rendering engine, so everything you're doing is abstracted to a solidly high degree. In Dreams the don't give you access to core engine level tools outright, you'll have to use what's at your disposal there. I'd recommend following some creators that work exclusively in dreams to see how they optimize their scenes, but things like GPU instancing and all that jazz require the engine to support it outright.
In Dreams, I think for foliage, it's better to use sculpts rather than paintings because paintings cause more overdraw.
Now with nanite in Ue5 you can have as many leaves as you want on your trees and grass and no need for LODs anymore.
*speed tree has entered the chat*
*speed tree has left the chat*
I think in terms of geometric density of recent games, we're close to the point of being able to use meshes for leaves, at least on LOD0/ highest poly/closest drawn meshes. I think that brings up a whole other can of worms in terms of animation consistency between LOD0 and lower poly/distant versions using alpha cards, visual consistency and possibly exaggerated asset pop when transitioning between detail levels, and just generally out of scope for anything besides maybe a next-gen walking simulator or photography game where close inspection of nature is a key part of a game.
Best advertisement for learning gamedev graphics lol
Perfomance problems come from the transparent textures which 3D engines have problems to render: invisible parts of the texture (the black parts in texture mapping) cause brutal overdraw too. Instead of using a map to make unwanted parts of a texture invisible, its many times better to cut out the textures manually. It is more work of course, but you get a greatly perfomance increase.
What do you mean by cutting out textures manually? Adjusting the shape of the mesh so it'll have less transparent part of the texture on it? Meaning, it'll increase triangle count as the mesh follows the texture's shape closer instead of having a big quad with tons of invisible part?
I don't know why this guy says they look back, so weird.
"Why trees look bad in video games"
Shows Pokémon
Forgot to mention how UE5 is changing the game of trees and foliages thanks to their nanite technology !
How would you create foliage like Windbound??
Damn, I knew this video was going to be interesting, but didn't expect it to be this interesting.
always look at trees in a game as like a test for it lol
Tree
I am a long time subscriber and fan of your work, and your course looks amazing but I have been putting off getting it for quite a while now because of needing substance painter, do you think Quixel Mixer is up to the task even though it doesn't have baking? Or is the difference pretty big and I should wait until I can afford substance painter?
Isn't baking possible in Blender?
@@illidank996 in short, yes it is, but baking it through substance painter is way way easier because it can make all the maps for you without changing programs. blender baking is just ok, this is what I am currently doing and then importing to quixel, but quixel is still a bit different than sp.. my real question is if the course translates to quixel pretty simply or if having substance painter is just better
@@T33nno
Ah yeah that makes sense, I've always had acess to SP so I never thought about that. I guess it depends if the course if worth it for you. I guess he uses SP for the rocks and maybe the trees but im sure you can get a sufficent result using your own workflow. In the end most of the course stuff happens in UE (I guess) so you might not be missing out on a ton
@@illidank996 totally agree, I am saving up for SP and this course anyway, but If it is pretty Substance painter heavy, then maybe I should probably wait and stick with my workflow for now
If you don't pay for SP Adobe won't find out
Why can't we just use the same bezier curve they use for grass? But have three to form a leaf with intersection points and range cutoffs? Lerp fill between?
because ppl focus more on the plot the gameplay and the story more and thank god because if they made a whole ass game about a realistic tree and nothing else then fuck i wouldnt even pay for it id just pirate it and delete after 10 minutes of playing
bros transition into self promotion was so smooth
Anyone knows where the red tree at 1:24 is taken from? That would make an awesome wallpaper!
Looks like Ghost of Tsushima
@@illidank996 Thank you, the tree seems to be from there, but I could not find the original clip.
what is the song from the intro?
and then you've got the trees from wii go vacation
i think indeed gpu instancing would be great for high LOD trees like 1 naked tree mesh and generated on the fly gpu instanced leaves , with the high degree of polygons we can have now, maybe soon creating whole trees without needed alpha textures could work, and if we couple that with highly advanced billboards for distant tres, we can have something awesome! on the topic of billboard these got way better since the last few years, i saw an unreal plugin named impostor and it worked beautifully, though it demands lots of data and probably ram.
Can nanite in Unreal Engine 5? resolve this? I was hoping to hear about it in the video so I guess it's not so idk
Its all very new so maybe? Maybe not. We'll have to wait and see
Im using it. Seems like a god power.
Me: wait it was all just an ad??
Stylized station: Always has been... 💥🔫
Ah yes the objectively most important concept in gaming, trees. We need more trees, better trees. Screw it, lets just make every game trees.
i want to see 'why do water splashes in games look bad"
The Erdtree be like: ✨🌳✨
Alpha cards... never heard that term before. It was common to call these billboards or billboarding. Cloud simulation used these a lot. Some interesting optimizations involved regenerating them on the fly to merge many together. Suddenly a couple of triangles is rendering thousands of cloud particles.
VOXELS ARE THE FIX!
you just need dense looking foliage images, a realistic model and good textures that blend well. for example check out the trees in tarkov, pretty good imo
The best foliage I've seen and used imo is based on Cryengine. Amazing tech and optimized to an insane level. If I'd build the same scene in UE5, even of I would get similar quality the performance of Cryengine is amazing.
Do you think Nanite's method for foliage will affect the industry in any way? Nanite still has issues with overdraw but I'm interested in seeing how games get prettier with UE5.
Yes, after all nanite can handle quet lot of triangles. Using LOD and world partition system we can make quet big open world.
🙏hope for utilization in upcoming titles
When I saw the big broccoli tree in mob psycho 100 season three I knew all the anime games I’ve played need that type of tree, not for the same reason dimple does 😂
what's the intro music?
So this was a 5-minute ad to your course? Great.
Loved the video, but the sudden booms in the music volume kind of hurt my ears sometimes
Not sure if this was mentioned, but GPU instancing doesn't do anything about overdraw, it's just less communication between the CPU and the GPU, saving valuable time.
For overdraw, you can do a depth-prepass, where you only draw to the depth buffer first, so once you get to your regular drawing, you only draw the visible pixels.
fantastic as always
Can't you use entity culling to mitigate some of the performance impact? Basically, don't render any grass/leaves that is fully covered by other grass/leaves (so what is rendered depends on where the camera is immediately pointing at). This should already happen for things that are outside of the player's FOV, so we could try to apply the same concept inside it.
Why do trees in videogames look so ugly? *proceeds to show half of the examples as gorgeous trees and flora in videogames*
To be fair not only the trees look bad in the pokemon game shown at the beginning
The trees don't look bad. They're simply unrealistic. Your channel's name is Stylized Station, you should know it's nothing bad
the fact that he started the video with a pokemon clip💀
Idk. Trees looked pretty bad in the pre HD era, but they look much better nowadays. I haven't really noticed ugly trees in a while.
True Solution: Make the Area a Desert WITHOUT Oases-es
I think future iterations of Godot 4's auto lod system and Unreal Engine 5's nanite system will make stuff like this a non-issue in the future.
The stuff I've been able to test and that I've seen others do with these tools is already incredible, and with future improvements, like when UE5 gets nanite support for moving shaders/meshes, I think we're going to see an impressive change to how renderers are written for games in the next few years.
uuh chill with godot 4, sure auto lod really helps a lot and increase the rendering of largue scenes by a lot, but it isn't at the same level as nanite, even for igpu. also ue5 already had lod for a long time now.
I would assume that in most game engines most repeated meshes (like grass billboards) are drawn using GPU instancing, as it's usually a feature of the graphics API (OpenGL, Vulkan, DirectX, etc.).
A lot of times trees need to be baked into the environment I am going pretty hard with taiao & forester u can create some very nice trees with that
What about nanite? In ue5
also getting closer to those alpha textures with the game camera is decreasing the performance a lot
Music is too loud unfortunately. Constantly have to lower and raise the volume
maybe the solution is to not draw the pixels overlapping depending on which way the camera is facing? IDK they do that for other things in games. I'm a noob
Tüm oyunlara ait değil.Eğer öyle düşünüyorsan kafayı yemişsin
why not cull the leaves based on a sparse raycast that injects information about the width of the visible leaf textures in order to reduce overdraw? it might be able to limit overdraw to 2 or 3 passes instead of the dozens experienced by full trees.
Ich weiß leider nicht mehr wie es heißt aber gibt es nicht extra ein Programm um Bäume zu erstellen welches den nachteil hatte, dass sich texturen mit der Kamara mitbewegen, das jedoch fast nicht auffällt wenn man nicht direkt von unten in den Baum schaut. Dafür sehen die Bäume bei weitem besser aus, Elden Ring nutzt das glaube ich.
Edit: Es heißt speedtree und ja, Eldenring nutzt es.
Er hat glaub ich eh footage von speedtree im Video. Speedtree is der Industrieanführer was Bäume und Foliage angeht. Ob du willst das sich die Leafcards mit der Kamera drehen oder nicht kann man im machinein immer noch entscheiden
Say what you will about Cyberpunk but when the light hits those palm trees just right, it's a great time for all.
ai rendering seems like it could do something but i am extremely unfamiliar with it, its kinda new
Me with doom 2D trees: Wow n-i-ce graphix
Great video.
None of the trees shown are what I would call ugly, and I don't think most people would. At worst they're just not as realistic as they could be. Also at 2:14, it is rather deceptive to show a static tree in a modeling program, then switch to a fully animated tree, with quite a different visual style, in a running game engine; that is not at all a fair comparison.
There are also PLENTY of examples of great looking video game trees using alpha cards, or essentially the same technique with speedtree (which still depends on alpha cards). Really, calling video game trees ugly is extremely subjective.