Realistic Lighting in the Godot Engine in One Click

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • Out of the box default lighting in the Godot game engine is
    - confusing
    - not very good (IMHO)
    Today we look at an add-on that "fixes" this, by instantly creating reasonable default lighting for you.
    In this video we look at why the default lighting system in Godot is flawed and how the Instant Realistic Light add-on can fix this.
    Links
    gamefromscratc...
    The level used in this demo is from this Humble Bundle:
    www.humblebund...
    -----------------------------------------------------------------------------------------------------------
    Support : / gamefromscratch
    GameDev News : gamefromscratc...
    GameDev Tutorials : devga.me
    Discord : / discord
    Twitter : / gamefromscratch
    -----------------------------------------------------------------------------------------------------------

Komentáře • 95

  • @gamefromscratch
    @gamefromscratch  Před 3 měsíci +4

    Links
    gamefromscratch.com/instant-realistic-lighting-in-godot/
    The level used in this demo is from this Humble Bundle:
    www.humblebundle.com/software/epic-environments-mega-bundle-unreal-engine-unity-bundle-for-fantasy-worlds-software?partner=gamefromscratch
    -----------------------------------------------------------------------------------------------------------
    *Support* : www.patreon.com/gamefromscratch
    *GameDev News* : gamefromscratch.com
    *GameDev Tutorials* : devga.me
    *Discord* : discord.com/invite/R7tUVbD
    *Twitter* : twitter.com/gamefromscratch
    -----------------------------------------------------------------------------------------------------------

  • @Bananeisafree
    @Bananeisafree Před 3 měsíci +76

    I think the whole fake environment in editor is there for when working with 3D scene that are meant to be instantiated.
    Having a false environment and sun allow to work on that scene without having to create a temporary environment for it.

    • @broganking9830
      @broganking9830 Před 3 měsíci +4

      Thats 100% it. I was going to post the same comment lol

  • @SoyKhaler
    @SoyKhaler Před 3 měsíci +41

    thanks for talking about my addon ♥

  • @adamkokrito
    @adamkokrito Před 3 měsíci +54

    i think you can click the 3 dots near the environment and add them to the scene 2:03

    • @gamefromscratch
      @gamefromscratch  Před 3 měsíci +20

      You know what, I don't think I was aware of that feature. Do you know what version it was added in?

    • @adamkokrito
      @adamkokrito Před 3 měsíci +7

      @@gamefromscratch i think it released with godot 4

    • @gamefromscratch
      @gamefromscratch  Před 3 měsíci +18

      I have updated the linked article to include this information. Was a complete oversight on my behalf.

    • @Interference22
      @Interference22 Před 3 měsíci +8

      @@gamefromscratch I think it's been there since at least 4.0, it was just one of the smaller scale improvements that got lost in the flood of new stuff.
      The specific steps, in case anyone is interested, are: click the three dots to the right of the buttons above the viewport, click the two big buttons at the bottom of the panel that pops up (add environment, add sun), and a sun and environment that match the look of the preview lighting will be added to the scene. You can now tweak them by selecting them in the scene tree and changing their properties.

    • @mikatomik5532
      @mikatomik5532 Před 3 měsíci

      @@gamefromscratchTo add insult to injury, there’s a modifier key (shift or ctrl maybe, can’t remember) that will add both at the same time. Like if you click “Add sun” with the modifier held down it automatically adds the environment too. Saving one more precious click :)

  • @greenmoonmoon
    @greenmoonmoon Před 3 měsíci +18

    This option was intended to avoid having lots of environment and lights pop up when you load in other scene. For example while working on a model scene, such as a house, you don't want to had an environment and a light just to see it properly or inspect material, since when you'll load that scene into your main level scene, it's gonna add both another environment and another lights.
    Having a toggle option in the view port address that issue and it was mentioned before, clicking on the three dot menu next to the light toggle gives you access to the environment and light options as well as a button to had those exact settings to new environment and light node in your actual scene.

    • @gamefromscratch
      @gamefromscratch  Před 3 měsíci +8

      I was actually 100% unaware of the ability to load the default environment using the Hamburger menu. That does go a long way to replicating the functionality of this add-on. I have updated the link article to include details on populating the world environment.
      I still think the workflow of "why doesn't my scene match my editor" is 100% valid and this doesn't address that, especially as a first time user.

    • @squarerootof2
      @squarerootof2 Před 3 měsíci +1

      @@gamefromscratch You can also set up a different default environment for all projects that loads automatically in Project-> Settings-> Environment.
      Edit: I think it's for all Scenes in current Project, not all Projects.

  • @kitty99288sjsw
    @kitty99288sjsw Před 3 měsíci +8

    you can click on the three dots and add lightning and environment as nodes, but this addon is really amazing because it makes additional changes to the environment and lightning and even adds reflection probe node to make it look better than the default (notice the change in shadows for example and the added fog). Otherwise, you have to play with parameters until you reach your desired graphics.

    • @gamefromscratch
      @gamefromscratch  Před 3 měsíci +2

      Yeah I updated the linked article to reflect that capability. I honestly was unaware this was added. I do agree with you, the add-on still makes the default environment better.

    • @kitty99288sjsw
      @kitty99288sjsw Před 3 měsíci +2

      @@gamefromscratch yes it's hard to figure out tricks like that in godot without reading or watching a tutorial about it.

  • @Marandal
    @Marandal Před 3 měsíci +6

    For Godot I want instant Sylized lighting. but i am soo happy to see Realistic lighting.
    It'll get more eyes on Godot and that'll get Godot more funding and that means becoming the industry standard for indie's to go to 🙂

    • @cloudwolf3972
      @cloudwolf3972 Před 3 měsíci

      I also want stylized lighting. I'm looking for a way to change shadows to a purple-ish/blue-ish tone.

  • @RickOShay
    @RickOShay Před 3 měsíci +3

    Talk about counterintuitive - the opposite of wysiwyg -> wysinwyg. And there is no excuse for the developer - the output must be identical to what you see in the editor.

    • @ViktorsJournal
      @ViktorsJournal Před 3 měsíci

      "the output must be identical to what you see in the editor." That sounds nice until you start working and need to cut off the effects and such and only want them outside editor though.

  • @nomadicjester
    @nomadicjester Před 2 měsíci +1

    All you need to do is click the three dots next to the preview buttons and click add to scene

  • @rafae5902
    @rafae5902 Před 3 měsíci +3

    Hmm lighting still looks kinda meh
    Only Godot game I've seem with actually good looking lighting is Road to Vostok.
    If I were leading Godot development, I would hire that guy to create a lighting tutorial.

  • @MeaganEater
    @MeaganEater Před 3 měsíci

    Q-Cards
    We purchased a Booklet maker and will be making a Booklet of Q-Card with settings for various lighting and environmental effects.
    ARC Notebook System and we are scouring the web for info to make the cards for referencing settings while we adapt to GODOT.
    We (four of us) are switching from Unreal Engine to GODOT.
    We are also looking into switching from Windows to a distro of Linux to get away from AI and data collection.
    Subscribed and Thumbs Up, I will tell the other 3 about your channel.

  • @scribblingjoe
    @scribblingjoe Před 3 měsíci +2

    yeah, they should give you a default environment and allow you to adjust it.

    • @vast634
      @vast634 Před měsícem +1

      Problem is that many scenes are containers (like prefabs), and should not contain any added environment, as they are instantiated into other scenes. You usually only want those environment settings in the main scene.

  • @joshuamorris1851
    @joshuamorris1851 Před 3 měsíci

    Cool addon! Yeah, the preview lighting is there so you can work in other scenes and have them lit in a previewable way, without needing to add the world environment etc to the scene that shouldn't really have one (example: a character scene or a weapon scene). Similar to how you wouldn't want to add a directional light to your UE blueprints or Unity prefabs). You want to add such scenes to one that handles all that.

  • @freeottis
    @freeottis Před 3 měsíci +1

    It uses sdfgi that doesn’t work great with orthogonal camera

    • @sean7221
      @sean7221 Před 3 měsíci +1

      HDDA is coming in 4.4 which fixes all those problems as it replaces sdfgi

    • @vast634
      @vast634 Před měsícem

      @@sean7221 Replaces it? I hope its at least as good as SDFGI then. Else they should have both methods.

  • @TuxLinuxOfficial
    @TuxLinuxOfficial Před 13 dny +1

    RTX 4090 GPU???

  • @TheVirakahScale
    @TheVirakahScale Před měsícem

    Tried this plugin, and oh my lord does it cause in-game lag.

  • @in-craig-ible6160
    @in-craig-ible6160 Před 3 měsíci

    Well, I think we all learned something new here today, and that's a good thing.

  • @hectobit
    @hectobit Před 3 měsíci

    That addon really should enable SDFGI occlusion.

  • @morglod
    @morglod Před 3 měsíci +2

    Unless you are in gothic2, its not realistic

    • @vast634
      @vast634 Před měsícem +1

      For the time, Gothic 2 had good lighting.

  • @ddxyzz
    @ddxyzz Před 3 měsíci

    Yeah that was an overlook to not use three dot button

  • @Capewearer
    @Capewearer Před 2 měsíci

    Having realistic environment in Godot is difficult because of the way it handles shadow-casting lights, they aren't cheap.

    • @saulsantos4132
      @saulsantos4132 Před měsícem

      True though you can optimize them more with shadow fade (point and spot light) and the new tighter shadow culling

  • @raymk
    @raymk Před 3 měsíci

    I suggest a new scene should automatically include a new World Environment, and turn those toggles off by default.

  • @leadensage
    @leadensage Před 3 měsíci +1

    Questionable usefulness.
    If you're a complete noob you'll google your lighting issue anyway and will either stumble upon a video like this or a video on how to set up a world environment yourself.
    Both will probably take the same time to watch/execute but adding the env yourself you will at least teach you some of the settings whereas the addon just does some magic without explanation.

  • @Volt-Eye.
    @Volt-Eye. Před 3 měsíci +2

    Mike, Godot 4.3 getting web export related update.

  • @alisonjanvier7509
    @alisonjanvier7509 Před 3 měsíci +1

    Love your vids, but I feel this one is a bit of a skill issue rather than a ui issue. Those previews are wonderful for when you're working on something similar to a prefab in unity. Say a house or a player character, they give you the ability to see those scenes better even though those scenes may not have their own lighting and environment. When you're working on an actual level, you should turn them off, and add in your own lighting and environment to the scene.
    This addon definitely isn't useless, but as all it's doing is adding in the directional light, probe, and environment for you, it's really only going to save you a few minutes one time per level, if that, since most likely you'll want to tweak all that stuff for style and performance anyways. By the end you'll most likely have spent the same if not more time downloading and messing with the addon than you would have if you'd just gotten to work on the level in the first place...
    I understand new users being confused by these previews, but I do think it's ultimately a really small issue, and just a few minutes of googling should easily resolve it for you. As well, those few minutes of googling are going to be a lot more beneficial to a beginner than trying to find a work around for a non existent problem, that only really serves to take away some of your creative and optimization control of the project, in return for slowing your learning of the engine.
    And lastly, I do agree that the default lighting and environment settings are pretty awful. They're clearly designed for maximum possible performance out of the box with no care for how it looks, but when compared to something like unreal, it makes the engine look weak or toy-like which is a bad look in my opinion. Of course, you can(and should) always create your own default environment, of course, doing so renders half this addon useless...

  • @BastiaanOlij
    @BastiaanOlij Před 3 měsíci +6

    There are a couple of competing issues here.
    First, Godot divides scenes in subscenes and you're often editing a subscene that is unlikely to have lighting, and thus you're presented with a black screen. That is what the default lighting in Godot is for, and it's default lighting that may not even match the lighting in whatever scene the subscene you're editing is a part of, and Godot has no idea where you intent to use your subscene so it can't really know.
    Second, Godot doesn't just do 3D games, it also does 2D games. Godot 3 actually worked exactly as you stated, there was a default environment that Godot automatically created, and it would be applied to your game if you didn't specify a world environment in your scene... but these things come at a cost because all of a sudden, a whole bunch of 3D pre-work was applied even in 2D Godot games. If you didn't know this, and knew that you had to turn all those beautiful 3D features off when making a 2D game, you would loose performance.
    Third, having the default lighting apply is great for the first hour you use Godot, but the further you get, the more you start getting into situations where you become uncertain where a certain setting is coming from. Suddenly your lighting looks wrong, you don't get why, and suddenly you realise that when a certain level in your game loads, you've forgotten to set up something, but you didn't notice it at the time, because the default lighting hid the issue. Right now when the level loads, there is no environment, there suddenly is no light, your scene is all dark or maybe even black, you know what you've overlooked.
    Now don't get me wrong, I totally, totally, totally agree that the current UX is a compromise that is very unfriendly to new users. The point I'm trying to make is that every suggestion I've heard over the last year, solve just as many existing problems as they create new problems. And that I think is the real issue here people forget, they only look at a solution solving the immediate problem and going "AH THIS WORKS, WHY DON'T THEY ADD THIS!?!?!", while likely after we would add this, we would have just as many voices come up who are negatively effected by the change.

    • @BastiaanOlij
      @BastiaanOlij Před 3 měsíci +1

      Just for context, I "hated" when we removed the default environment, I understood all the reasons why especially with all the added logic in Godot 4 that would be disastrous if turned on by default while your 2D application needs none of it.
      But in the early Godot 4 alphas we didn't have any of the nice controls over the editor environment nor the ability to click on a button and copy the editor environment into a scene. It took so long to unlearn old habits and things you're used to.
      Today, I'm loving the changes, the way the environments are structured, that I can edit scenes with default lighting BECAUSE I'm working on an eerily dark world where the actual lighting of my game would be horrible for the editor experience.

    • @DMitsukirules
      @DMitsukirules Před 3 měsíci +3

      The idea that the solution is not to ask if a person is making something in 2D or 3D before making a project and using sane defaults for that, but instead to just confuse users by default because they might get confused is wild to me lmao.

    • @BastiaanOlij
      @BastiaanOlij Před 3 měsíci +1

      @@DMitsukirules again, seems a simple answer, yet in practice runs into problems. Many projects mix both and now you’re stuck with a choice you made in the beginning.
      Invariably, you make one thing easier, and another harder, you please one group at the expense of another.
      Again, don’t get me wrong, it’s a valid suggestion worth discussing and deciding if the con’s are worth the improvement of UX if we get it right.
      The thing I want to highlight is that we have to look at solutions both from the perspective of what they improve (which is often obvious), and what they make worse (which is often hidden) because that is how the current situation came to be.
      Godot 4 works the way it does because it tackles complaints people had in Godot 3, implementing solutions that back then were presented as the improvement to UX. And indeed it resolved exactly the issues people had, but introduced new ones we’re now discussing.
      That is the cycle that needs to be broken, we need to look at the drawbacks of the presented solution, decide those are acceptable. Else in a few months time we’re back to reacting on videos that highlight the drawbacks of the new solution.
      Sometimes the best solution is simply to properly document a feature, accept that new people may have a suboptimal experience, so that people who work long time on a game have the flexibility they require to actually reach the finish line.

    • @zuulmanra
      @zuulmanra Před 3 měsíci +2

      @@BastiaanOlij Unfortunately Bastiaan what you say really really doesn't make any sense. You say "in practice in doesn't work" as if Godot Foundation is actually dogfooding the engine to see what are the real problems. People are clearly communicating their experiences with you but you just dismiss it for an arbitrary reason like "Many projects mix both and now you’re stuck with a choice you made in the beginning"
      What is so hard to get when people say "Godot should have GOOD lighting out of the box" Literally every engine can do this perfectly and in a very user friendly way. All I am hearing from Godot team is buzzwords buzzwords buzzwords.

    • @BastiaanOlij
      @BastiaanOlij Před 3 měsíci +3

      @@zuulmanra just to be clear this is my personal take on this issue.
      All I’m doing here is highlighting why things are where they are today. And much of that is because feedback is taken onboard.
      That doesn’t mean we don’t try and improve, or try to find better ways to do things. But after writing software for 35+ years I’m keenly aware that no solution is perfect, especially in game development where everything is a compromise.
      In the 7 years that I’ve been using Godot and seen solutions come and go, and seen people raise PRs to try and tackle this, and seen what breaks…
      Yes we can default all settings set to the max and make Godot look pretty just like what gamesfromscratch shows in this video and make it closer to unreal, but thats going to give a bad experience to many developers who are on low end spec machines and chose Godot for that exact reason because unreal isn’t meant for the types of games they make on the types of platforms the target. And that currently is the majority of the user base.
      I deal with this right now as an XR developer where we work on mobile hardware that isn’t powerful enough to run any of those things and the first thing we tell people is, turn these things off!! I don’t want new XR developers to be scared away the first time they start Godot because we have defaults that only work right on desktop GPUs. So my needs in this case are in direct contrast to yours.
      Who gets to win that argument? Whatever we choose to do, it will just be a different group that is adversely effected.

  • @yasenkrasen1581
    @yasenkrasen1581 Před 3 měsíci

    Does Godot have realistic, smoothly blurred penumbra-shadows?

    • @odo432
      @odo432 Před 3 měsíci +2

      Not that I've seen. The shadows are of rather low quality and the blurring is dithered and not smooth. Hopefully it gets some improvements in the future. As well as SSAO as I think it's terrible in Godot.

    • @yasenkrasen1581
      @yasenkrasen1581 Před 3 měsíci +3

      @@odo432 Ok, thank you. I'm looking towards Godot, but the 3D component in this engine is developing very slowly.

    • @charlieking7600
      @charlieking7600 Před 3 měsíci +1

      Only if you use omni lights with range more than zero or something like this. There's a way.

    • @udese730
      @udese730 Před 3 měsíci

      it does actually.
      I tried it

    • @odo432
      @odo432 Před 3 měsíci

      @@udese730 That's great to hear. Mind sharing how it's done?

  • @KomodoBitGames
    @KomodoBitGames Před 3 měsíci +1

    The godot renderer is funky looking

    • @vast634
      @vast634 Před měsícem

      There are many more options that can be activated, to make it look good. The defaults are very simplistic.

  • @SlayerDUDE1993
    @SlayerDUDE1993 Před 3 měsíci

    Usually while cteating new 3D scene instead of special node I start with world environment node

  • @eashaankumar
    @eashaankumar Před 3 měsíci

    Raytracing when

    • @ViktorsJournal
      @ViktorsJournal Před 3 měsíci

      Probably next year, though the dreamy eyes are end of this year but that deadline is not going to happen.

  • @jasonwilliams8730
    @jasonwilliams8730 Před 3 měsíci

    👍

  • @vast634
    @vast634 Před měsícem +1

    Epic is smart enough to enforce some more pleasant looking default settings in Unreal. Something Godot and Unity do not understand. Its often the first appearance, the environment beginners work in, that is making the biggest impression. Experienced users can just throw it out if needed.

    • @saulsantos4132
      @saulsantos4132 Před měsícem

      And performance?

    • @vast634
      @vast634 Před měsícem +1

      @@saulsantos4132 Performance is a function of developer experience. A beginner has none. And some added effects will not tank the performance, and can be turned off when nessecary.

  • @forestrf
    @forestrf Před 3 měsíci +1

    Not having default lighting until you configure it is the same as not having physics until you configure them, it's a bad idea.

  • @voxelvoid
    @voxelvoid Před 3 měsíci +5

    Well it's Godot so I'm not surprised that it is confusing and looks like shit

    • @Cleefbag71
      @Cleefbag71 Před 3 měsíci +1

      Going by the absolute pigswill on your channel you shouldn't be let anywhere near any engine.

    • @voxelvoid
      @voxelvoid Před 3 měsíci +5

      @@Cleefbag71 Another Godot cultist detected

    • @charlieking7600
      @charlieking7600 Před 3 měsíci +4

      ​@@Cleefbag71cry some more.

    • @zuulmanra
      @zuulmanra Před 3 měsíci +3

      @@Cleefbag71 oh no godot elitists (cultists) decided that you are not worthy of any engine!!111!1 lmao

    • @zuulmanra
      @zuulmanra Před 3 měsíci

      @@Cleefbag71 i just realized you have marx in your profile picture LMAO

  • @SW_491
    @SW_491 Před 3 měsíci

    Looks nicely impressive to be honest
    Edit: well shit i judged it pretty much earlier before i watched few seconds of the video well, my bad

    • @bingofleetwood6291
      @bingofleetwood6291 Před 3 měsíci +2

      looks shit to be honest! ever heard of unreal engine?

    • @SW_491
      @SW_491 Před 3 měsíci

      @@bingofleetwood6291 yes? i just judged too (much) early i should check again

    • @zuulmanra
      @zuulmanra Před 3 měsíci

      If you really consider this "impressive" you need glasses. I am not talking about the addon btw the addon is a nice tool. I am talking about the Godot's lighting.

    • @SW_491
      @SW_491 Před 3 měsíci

      Well shit i pretty much judged early (i writed this comment earlier but CZcams decided to delete it

    • @SW_491
      @SW_491 Před 3 měsíci

      @@zuulmanra i was referring the addon instead of lighting because just i thought addon was nicely good

  • @olouquinho
    @olouquinho Před 3 měsíci

    comment about more generative AI tools that can help game development more easy, like deepmotion that generates 3d animations

  • @anth5189
    @anth5189 Před 3 měsíci +1

    It is possibly because they don't expect people to use default lighting in their game. However you wouldn't think it is too difficult to just add it by default.

    • @ViktorsJournal
      @ViktorsJournal Před 3 měsíci

      You can press the pree dots next to the two icons for sun and environment he toggles, there are buttons to add them to your scene with all these settings with just few basic buttons to give you AO, GI and such so you don't have to know it all straight but can enable/disable it or add it quickly while you work.
      Automatically adding in godot would not be reasonable. In godot you can play any scene, literally you will open your asset scene and play it, character scene and play it. Eventaully you would end up with tens/hundreds of environment nodes everywhere or would have to delete them every time you press the play button in any scene. This is not a simple thing to solve since godot is built around scenes and their combinations to offer a lot of freedom.

    • @vast634
      @vast634 Před měsícem +1

      @@ViktorsJournal Godot could ask the user to add the environment to the launch scene, just as its already asking to add the current scene as starter scene when none is set. This would avoid a lot of confusion for beginners.

    • @ViktorsJournal
      @ViktorsJournal Před měsícem

      ​@@vast634 It would need to do so for the lighting as well. But yes it's an option. But confusion would stilll remain, when you run the other scenes and not the main scene you still need environments so the users would get to an issue of possibly thinking that they might need an environment for every scene which is not ok too.