Realistic Lighting in the Godot Engine in One Click

Поделиться
HTML-код
  • Опубликовано: 15 май 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
    gamefromscratch.com/instant-r...
    The level used in this demo is from this Humble Bundle:
    www.humblebundle.com/software...
    -----------------------------------------------------------------------------------------------------------
    Support : / gamefromscratch
    GameDev News : gamefromscratch.com
    GameDev Tutorials : devga.me
    Discord : / discord
    Twitter : / gamefromscratch
    -----------------------------------------------------------------------------------------------------------
  • НаукаНаука

Комментарии • 80

  • @gamefromscratch
    @gamefromscratch  21 день назад +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 21 день назад +65

    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 21 день назад +4

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

  • @SoyKhaler
    @SoyKhaler 21 день назад +33

    thanks for talking about my addon ♥

    • @mbg4681
      @mbg4681 21 день назад +1

      Nifty work!

    • @MrYuck-ec5do
      @MrYuck-ec5do 20 дней назад +1

      Very nice work, my friend!

  • @adamkokrito
    @adamkokrito 21 день назад +51

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

    • @gamefromscratch
      @gamefromscratch  21 день назад +19

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

    • @adamkokrito
      @adamkokrito 21 день назад +6

      @@gamefromscratch i think it released with godot 4

    • @gamefromscratch
      @gamefromscratch  21 день назад +18

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

    • @Interference22
      @Interference22 21 день назад +7

      @@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 21 день назад

      @@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 21 день назад +16

    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  21 день назад +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 21 день назад +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.

  • @Marandal
    @Marandal 21 день назад +5

    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 18 дней назад

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

  • @kitty99288sjsw
    @kitty99288sjsw 21 день назад +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  21 день назад +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 21 день назад +2

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

  • @RickOShay
    @RickOShay 20 дней назад +2

    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 20 дней назад

      "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 10 дней назад +1

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

  • @scribblingjoe
    @scribblingjoe 21 день назад +2

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

  • @joshuamorris1851
    @joshuamorris1851 21 день назад

    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.

  • @in-craig-ible6160
    @in-craig-ible6160 21 день назад

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

  • @Capewearer
    @Capewearer 10 дней назад

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

  • @MeaganEater
    @MeaganEater 20 дней назад

    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.

  • @hectobit
    @hectobit 19 дней назад

    That addon really should enable SDFGI occlusion.

  • @raymk
    @raymk 19 дней назад

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

  • @rafae5902
    @rafae5902 20 дней назад +2

    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.

  • @freeottis
    @freeottis 21 день назад +1

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

    • @sean7221
      @sean7221 21 день назад

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

  • @yasenkrasen1581
    @yasenkrasen1581 21 день назад

    Does Godot have realistic, smoothly blurred penumbra-shadows?

    • @odo432
      @odo432 21 день назад +1

      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 21 день назад +2

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

    • @charlieking7600
      @charlieking7600 21 день назад

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

    • @udese730
      @udese730 20 дней назад

      it does actually.
      I tried it

    • @odo432
      @odo432 20 дней назад

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

  • @ddxyzz
    @ddxyzz 21 день назад

    Yeah that was an overlook to not use three dot button

  • @Volt-Eye.
    @Volt-Eye. 21 день назад +2

    Mike, Godot 4.3 getting web export related update.

  • @KomodoBitGames
    @KomodoBitGames 21 день назад +1

    The godot renderer is funky looking

  • @jasonwilliams8730
    @jasonwilliams8730 20 дней назад

    👍

  • @BastiaanOlij
    @BastiaanOlij 21 день назад +5

    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 21 день назад +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 21 день назад +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 20 дней назад +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 20 дней назад +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 20 дней назад +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.

  • @anth5189
    @anth5189 20 дней назад

    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 20 дней назад

      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.

  • @eashaankumar
    @eashaankumar 21 день назад

    Raytracing when

    • @ViktorsJournal
      @ViktorsJournal 20 дней назад

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

  • @alisonjanvier7509
    @alisonjanvier7509 21 день назад +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...

  • @forestrf
    @forestrf 21 день назад +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.

  • @morglod
    @morglod 19 дней назад

    Unless you are in gothic2, its not realistic

  • @SW_491
    @SW_491 21 день назад

    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 21 день назад +2

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

    • @SW_491
      @SW_491 21 день назад

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

    • @zuulmanra
      @zuulmanra 20 дней назад

      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 20 дней назад

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

    • @SW_491
      @SW_491 20 дней назад

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

  • @leadensage
    @leadensage 21 день назад

    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.

  • @SlayerDUDE1993
    @SlayerDUDE1993 15 дней назад

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

  • @olouquinho
    @olouquinho 21 день назад

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

  • @voxelvoid
    @voxelvoid 21 день назад +4

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

    • @Cleefbag71
      @Cleefbag71 21 день назад +1

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

    • @voxelvoid
      @voxelvoid 21 день назад +4

      @@Cleefbag71 Another Godot cultist detected

    • @charlieking7600
      @charlieking7600 21 день назад +4

      ​@@Cleefbag71cry some more.

    • @zuulmanra
      @zuulmanra 20 дней назад +3

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

    • @zuulmanra
      @zuulmanra 20 дней назад

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