Unities over modularity and random unexplainable bugs are what drew me to start using Godot and after a few years of going crazy hard in Godot I quickly realized that since my main focus is 3D games i was wasting my time because of the various reasons you can pick up in this video. To any aspiring game developers who have been led strongly to Godot as the holy grail of game engines for indie developers but to those whose true desire is to make a 3D game, save yourself the headache and just figure out how to put up with the finickyness of Unity and stay with Unity because the time you will spend trying to figure out how to get just the basics of 3D to look right in Godot will set you back so far that you might just give up on game dev entirely.
I can understand your frustration. But it really depends on what you actually enjoy doing. I like writing shaders and learning new tools for 3d modeling / texture creation. If you want to create big 3d game the easiest way possible, Godot probably isn't for you. For me it's a little bit ironic how Godot is known for its simplicity. It's so often misunderstood by people thinking that this simplicity results in faster game creation. I mean it's true for some basic projects, but when you consider all toolset that Godot "sacrifices" for its "ease of use" that's not definitely the case for complex 3d games. But for me it's ok, because I enjoy the process along the way :D If it wasn't my hobby but a daily job, I would probably use UE or Unity for something like my project. Those two engines are definitely more mature in this category. On the other hand number and quality of plugins in Godot is definitely a lot better with each month. A year ago I would probably advice against usage of Godot for any bigger 3d game. Right now I think that it's doable with a little bit of effort.
@@wojtek_pe Yeah for sure I mean they just got that big Grant from Unreal Engine so in just a few years I wouldnt be surprised if Godot becomes the go to 3D engine for indie developers. But yeah as of now, simple doesnt really mean better UNLESS of course youre making a 2D game in which case I wouldnt choose any other engine than Godot.
Well done on the Octahedral Imposter project, wonderful work! Just today I saw they started implementing LOD on the 4.0 branch, so your work is really important for anyone working with 3.x !
Yeah I am very happy to see this post by Juan on twitter. This is really great news for Godot 4.0! They implemented a mesh optimzer method so far. I am really curious i they have some billboarding in plan for things like vegetation.
Awesome to see you're back and making some cool progress. Looks like you went on a bit of a tangent but learnt a lot of great stuff you can bring into you game world and I can't wait to see more of your world.
Great Work! Looks nice! I noticed a similar issue with opacity. But on the other hand, I'm surprised how good real alpha-blend sorts in this engine. It's much better than in others. Maybe it's possible to write a custom shader for alpha-test to make use of the pre-pass. (maybe dithered alpha-test, or pushing the alpha-test a bit in the distance)
Thanks, for me it's really unstable, for some assets its working pretty nice, for other it's broken even from a close distance. Also I am not sure if its a graphic driver update or a difference between 3.2.2 and 3.2.4 beta 4, but it gotten little bit better. Previously I could see through leafs in my forest biome with alpha blending turned on. Now it behave mostly correctly.
Hi Alexander, thanks for watching :) The character is more or less acceptable but textures are lacking in quality a lot :D Sadly I am not even close to your level of texturing in ArmorPaint. I watched your latest videos and I am still impressed what you can do with this tool :)
My project is similar to yours. I've implemented an LOD system but wasn't enough. Then I found your octahedral impostors project and I was so happy. Still, I don't fully understand how godot renderer works and how I can get my character of a mountain and look at the forest but I will get there.
If you write a custom shader, you have to enable the z-pre-pass by hand. It works only on alpha-test though. add this to your shader in the very top: render_mode depth_draw_alpha_prepass;
For plants I use Alpha Scissor with Opaque Rendering (in Preferences) with cast shadows disabled and use a second object with a forked material set to unshaded and Alpha Prepass Set to render shadows only. This is how I get crisp shadows and no overdrawing or similar issues. I have a shadow distance of 200 Units, so depending on the model, on the second LOD Level I disable the shadow object. For Smaller Plants I also used two Objects, but I use a material with opaque shadows without Alpha Scissor (only Polygon Shadow). Doesn't really stick out for smaller things. This might sound Like I waste a lot of material draw calls, but since I have like 5-7 different plants in my "bioms" that have 3 different shapes each for variation but still use the same materials, I have like 14 Material Drawcalls for an environment of ~200-300 plants. Could be worse.
I am doing something similar in my biome plugin. I am using totally separate lower level mesh detail for shadows. The problem I was talking about in this video concerns bad quality of plants with alpha scissors. If you look at edges of alpha tested textures, you can clearly see jagged lines. Alpha blending produces much nicer results, but introduces depth sorting problem (I showed it at my video). Maybe I misunderstood your comment. Also I am not really sure that two object rendering is always better. To be honest I was testing it with multiple scenes and results were sometimes surprising. I need to investigate more this solution.
@@wojtek_pe I don't have problems with Alpha Scissor. Always looks nice (despite when I use it with Alpha Depth Prepass, which causes the problems with >>looks like shit when further away
Hi thanks for the comment. In my opinion, you should check that it is absolutely copyright compliant. Even as a non-profit, developing a game like this can be problematic. Still, I hope that your project will be successful.
if you can crack the alpha testing and sorting issues I would love to see what you come up with...it's a big issue for me as well....one trick I use is to save the png(I use png's) without losing the alpha color..that is I make the alpha the same color as my vegitation...but it still has a ton of issues with performance or quality.
Hi, actually I am using something like this : github.com/godotengine/godot/issues/36669#issuecomment-615046047 I am not setting value to 1.0, but I am multiplying it by some value (like 1.5) and clamping, it seems to work better far from camera, with different mipmaps. Currently I am analyzing Godot source code. I try to determine difference between transparency with depth pre-pass and alpha scissor in code. As for your png trick, it's actually pretty common technique named dilatation. You can use for example Material Maker to generate it easily.
Hi, I am not sure about aa mask texture. I think that in Godot there is a cutoff at a specific value of alpha, and aa mask actually won't change much. But I am investigating an distance field alpha testing method which could fix some problems for vegetation assets.
Looks really good Wojtek! :). I've been having issues with slpha scissor as well in my projects. Seems to be a general issue. Some of the workarounds mentioned in the bug solved it for me though. github.com/godotengine/godot/issues/36669
Thanks! I think that alpha scissor force renderer to use opaque pipeline, so actually it should be faster comparing to discard. Also transparent pipeline doesn't work with SSAO or SSR but I am not 100% sure. But yeah, basically I am doing something similar to the workaround proposed by AsherGlic - github.com/godotengine/godot/issues/36669#issuecomment-615046047
Unities over modularity and random unexplainable bugs are what drew me to start using Godot and after a few years of going crazy hard in Godot I quickly realized that since my main focus is 3D games i was wasting my time because of the various reasons you can pick up in this video. To any aspiring game developers who have been led strongly to Godot as the holy grail of game engines for indie developers but to those whose true desire is to make a 3D game, save yourself the headache and just figure out how to put up with the finickyness of Unity and stay with Unity because the time you will spend trying to figure out how to get just the basics of 3D to look right in Godot will set you back so far that you might just give up on game dev entirely.
I can understand your frustration. But it really depends on what you actually enjoy doing. I like writing shaders and learning new tools for 3d modeling / texture creation. If you want to create big 3d game the easiest way possible, Godot probably isn't for you. For me it's a little bit ironic how Godot is known for its simplicity. It's so often misunderstood by people thinking that this simplicity results in faster game creation. I mean it's true for some basic projects, but when you consider all toolset that Godot "sacrifices" for its "ease of use" that's not definitely the case for complex 3d games. But for me it's ok, because I enjoy the process along the way :D If it wasn't my hobby but a daily job, I would probably use UE or Unity for something like my project. Those two engines are definitely more mature in this category. On the other hand number and quality of plugins in Godot is definitely a lot better with each month. A year ago I would probably advice against usage of Godot for any bigger 3d game. Right now I think that it's doable with a little bit of effort.
@@wojtek_pe Yeah for sure I mean they just got that big Grant from Unreal Engine so in just a few years I wouldnt be surprised if Godot becomes the go to 3D engine for indie developers. But yeah as of now, simple doesnt really mean better UNLESS of course youre making a 2D game in which case I wouldnt choose any other engine than Godot.
Well done on the Octahedral Imposter project, wonderful work! Just today I saw they started implementing LOD on the 4.0 branch, so your work is really important for anyone working with 3.x !
Yeah I am very happy to see this post by Juan on twitter. This is really great news for Godot 4.0! They implemented a mesh optimzer method so far. I am really curious i they have some billboarding in plan for things like vegetation.
Nice you did another devlog. I will be waiting the next one
Awesome to see you're back and making some cool progress. Looks like you went on a bit of a tangent but learnt a lot of great stuff you can bring into you game world and I can't wait to see more of your world.
Great work...learning a lot from these videos...
Miło posłuchac polaka co też radzi sobie z mówieniem po angielsku jak ty xD
Great Work! Looks nice! I noticed a similar issue with opacity. But on the other hand, I'm surprised how good real alpha-blend sorts in this engine. It's much better than in others. Maybe it's possible to write a custom shader for alpha-test to make use of the pre-pass. (maybe dithered alpha-test, or pushing the alpha-test a bit in the distance)
Thanks, for me it's really unstable, for some assets its working pretty nice, for other it's broken even from a close distance. Also I am not sure if its a graphic driver update or a difference between 3.2.2 and 3.2.4 beta 4, but it gotten little bit better. Previously I could see through leafs in my forest biome with alpha blending turned on. Now it behave mostly correctly.
Hello! Very good character and not bad materials)
Hi Alexander, thanks for watching :) The character is more or less acceptable but textures are lacking in quality a lot :D Sadly I am not even close to your level of texturing in ArmorPaint. I watched your latest videos and I am still impressed what you can do with this tool :)
@@wojtek_pe Thank you! Happy New Year)
My project is similar to yours. I've implemented an LOD system but wasn't enough. Then I found your octahedral impostors project and I was so happy. Still, I don't fully understand how godot renderer works and how I can get my character of a mountain and look at the forest but I will get there.
If you write a custom shader, you have to enable the z-pre-pass by hand. It works only on alpha-test though.
add this to your shader in the very top:
render_mode depth_draw_alpha_prepass;
For plants I use Alpha Scissor with Opaque Rendering (in Preferences) with cast shadows disabled and use a second object with a forked material set to unshaded and Alpha Prepass Set to render shadows only.
This is how I get crisp shadows and no overdrawing or similar issues. I have a shadow distance of 200 Units, so depending on the model, on the second LOD Level I disable the shadow object. For Smaller Plants I also used two Objects, but I use a material with opaque shadows without Alpha Scissor (only Polygon Shadow). Doesn't really stick out for smaller things.
This might sound Like I waste a lot of material draw calls, but since I have like 5-7 different plants in my "bioms" that have 3 different shapes each for variation but still use the same materials, I have like 14 Material Drawcalls for an environment of ~200-300 plants.
Could be worse.
I am doing something similar in my biome plugin. I am using totally separate lower level mesh detail for shadows. The problem I was talking about in this video concerns bad quality of plants with alpha scissors. If you look at edges of alpha tested textures, you can clearly see jagged lines. Alpha blending produces much nicer results, but introduces depth sorting problem (I showed it at my video). Maybe I misunderstood your comment. Also I am not really sure that two object rendering is always better. To be honest I was testing it with multiple scenes and results were sometimes surprising. I need to investigate more this solution.
@@wojtek_pe I don't have problems with Alpha Scissor. Always looks nice (despite when I use it with Alpha Depth Prepass, which causes the problems with >>looks like shit when further away
My editor keeps crashing a lot too. It looks a bit delicate. If lucky, sometimes it doesn't crash.
really good graphics mate, im making a spiderman game all alone. Devs must support each other, I did, Im sure you will too CHEERS.
Hi thanks for the comment. In my opinion, you should check that it is absolutely copyright compliant. Even as a non-profit, developing a game like this can be problematic. Still, I hope that your project will be successful.
if you can crack the alpha testing and sorting issues I would love to see what you come up with...it's a big issue for me as well....one trick I use is to save the png(I use png's) without losing the alpha color..that is I make the alpha the same color as my vegitation...but it still has a ton of issues with performance or quality.
Hi, actually I am using something like this : github.com/godotengine/godot/issues/36669#issuecomment-615046047 I am not setting value to 1.0, but I am multiplying it by some value (like 1.5) and clamping, it seems to work better far from camera, with different mipmaps. Currently I am analyzing Godot source code. I try to determine difference between transparency with depth pre-pass and alpha scissor in code. As for your png trick, it's actually pretty common technique named dilatation. You can use for example Material Maker to generate it easily.
whenever you have 2-3 minutes to talk about the ik system you made that would be awesome thank you
Hi, I am working on the video, it's almost ready.
just waiting for you next video! glad to see your progression. Have you tried to use aa mask texture to cut the transparent areas?
Hi, I am not sure about aa mask texture. I think that in Godot there is a cutoff at a specific value of alpha, and aa mask actually won't change much. But I am investigating an distance field alpha testing method which could fix some problems for vegetation assets.
Can you post links to the youtube channel you mentioned?
I think he was referencing ua-cam.com/users/Dikkovideos, but i may be wrong
Yes, this is the channel I was talking about, I updated the video description with a link to a playlist.
Do you have a link to the 3d character tutorial?
I think he was referencing ua-cam.com/users/Dikkovideos, but i may be wrong
Yes, this is the channel I was talking about, I updated the video description with a link to a playlist.
Looks really good Wojtek! :). I've been having issues with slpha scissor as well in my projects. Seems to be a general issue. Some of the workarounds mentioned in the bug solved it for me though. github.com/godotengine/godot/issues/36669
Thanks! I think that alpha scissor force renderer to use opaque pipeline, so actually it should be faster comparing to discard. Also transparent pipeline doesn't work with SSAO or SSR but I am not 100% sure. But yeah, basically I am doing something similar to the workaround proposed by AsherGlic - github.com/godotengine/godot/issues/36669#issuecomment-615046047
Also, you should check this: ua-cam.com/video/LNidsMesxSE/v-deo.html
I'm trying to make a similar tool for my game because I'm not much of an animator.