Design 3D Game Levels From Scratch - Godot 4 Tutorial

Поделиться
HTML-код
  • Опубликовано: 2 июн 2023
  • In this beginner friendly tutorial video we design a graveyard level from scratch for a Godot 4 FPS game similar to Call of Duty: Zombies. The covered environment design topics include importing 3D models, editing materials, optimizing collision shapes, designing terrain, implementing lighting and fog, and adding grass. All of this code works with Godot 4.1.
    Support the channel: / legiongames
    Github: github.com/LegionGames/Zombie...
    Assets:
    Ground texture by 0melapics: www.freepik.com/free-vector/e...
    Kenney Graveyard Kit - www.kenney.nl/assets/graveyar...
    Wishlist My Game: store.steampowered.com/app/21...
    Discord: / discord
    Itch: legiongames.itch.io/
    Twitter: / legiongames1
    Instagram: / legiongames1

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

  • @arabadunyas4698
    @arabadunyas4698 Год назад +89

    what about the performance? why didn't we used multimesh etc? thanks by the way for amazing tutorial!

    • @legiongames2400
      @legiongames2400  Год назад +63

      Now that I think of it, it was definitely lazy of me not to use it here for at least some of the models. Anyone working on Godot maps should definitely have it in their arsenal. Thank you for taking your time to point it out!

    • @arabadunyas4698
      @arabadunyas4698 Год назад +8

      @@legiongames2400 by the way whats the program that views 3d models in windows folders around 1:25?

    • @legiongames2400
      @legiongames2400  Год назад +11

      @@arabadunyas4698 Windows just does previews for 3d models by default now apparently.

    • @sabi771
      @sabi771 Год назад +2

      @@arabadunyas4698 windows will do a automatic preview for you if you have 3d viewer installed.

    • @runningwolfgames5955
      @runningwolfgames5955 26 дней назад

      @@legiongames2400 I’m having issues with the grass texture painter. It doesn’t paint where my mouse is positioned at, any ideas to fix? I’ve tried to auto center option and it still isn’t in the right spot

  • @kenfresno2125
    @kenfresno2125 Год назад +227

    "I'm going to make this as beginner friendly as possible." -- "Alright I've already set up the world and the floor and the lighting..."

    • @legiongames2400
      @legiongames2400  Год назад +52

      I gotchu. Check out the beginning of this video. ruclips.net/video/A3HLeyaBCq4/видео.html

    • @squidtito8501
      @squidtito8501 Год назад +35

      @@legiongames2400 why did I think this was gonna be a rickroll

    • @legiongames2400
      @legiongames2400  Год назад +34

      @@squidtito8501 LOL I should be taking notes from you.

    • @Xyxspeed
      @Xyxspeed Год назад +7

      That's what I was thinking LOL

    • @erinb7630
      @erinb7630 7 месяцев назад +10

      "First draw a circle... then add the rest of the face details..."

  • @WilliamAdelstein
    @WilliamAdelstein 10 месяцев назад +17

    "to cover up the fact that this is not a procedurally generated world with trillions of planets" ... that was the most subtle snipe (hopefully intended) at Starfield i've heard so far.
    Love the subtle humour in your vids. Im probably one of the thousands of Unity people that are now looking into Godot, and apart from the weird coding language, this is a pretty cool engine. Some of the interface looks a lot like Blender.

    • @Ryan-hv3kn
      @Ryan-hv3kn 10 месяцев назад +4

      Considering this came out months before Starfield it was more likely referencing No Mans Sky if anything.

    • @legiongames2400
      @legiongames2400  9 месяцев назад +6

      Yeah it was no man's sky haha, but apparently the comment will live on as long as procedural generation does.

  • @Tlbsoftware
    @Tlbsoftware 5 месяцев назад +7

    For anyone watching this that doesn't want to color the models themselves,
    I recommend creating a folder in models for all the graveyard assets (ie. models/graveyard-kit) then select that folder in godot before opening the file explorer and open the GLB folder and import the "Textures" folder first into your graveyard-kit folder before adding the other glb assets, this way the assets can still reference their respective colormap automatically when you import them.
    If you import glb assets without the textures folder you will see error logs describing that the colormap is missing

    • @Bergvall95
      @Bergvall95 Месяц назад

      dude thank you so much, this was irritating the hell out of me. Still can't edit the individual colors like in the GLTF files in the video, but this is a bit better i guess. Thanks!

  • @MTGJoeD
    @MTGJoeD 6 месяцев назад +2

    this was super awesome and helpful to watch through, thank you!

  • @JoeButter42
    @JoeButter42 6 месяцев назад +9

    If anyone's having trouble with the door textures, use GLB and just make a new MeshInstance3D as a child of the door mesh. Make the new MeshInstance a cube, and scale it to be tucked into the door.
    You can do this to pretty much anything else you need to add light to.

    • @PastaMaster115
      @PastaMaster115 Месяц назад

      Prettymuch none of the assets had more than one material override slot. So I had to do this with several of the assets. Thank you so much for this solution.

  • @Crisisdarkness
    @Crisisdarkness Год назад +8

    Thankful for your content, you are one of the best teaching channel about godot, I am still thankful for the content you made about the RTS genre, and I wish you could keep moving forward, so we can create a game of that genre, for example, obtaining resources similar to age of empires, creation of units in barracks, destruction of houses, protection

    • @legiongames2400
      @legiongames2400  Год назад

      Thank you for your kind words. I think doing that in 3d and updating it for Godot 4 would be a really cool idea once I'm more confident with the concepts.

  • @besnardxavier5088
    @besnardxavier5088 5 месяцев назад

    Thank you a million times for your time and sharing your knowledge.
    I'm looking forward for more 3D tutorials. If you are searching for ideas, gathering resources and building structures and items inside would be great!
    I appreciate your work a lot, keep it up!

  • @Smaxx
    @Smaxx Год назад +17

    In case of the wall's rotation misalignment, simple workaround (might not work in all cases, obviously): Instead of rotating the wall by 180°, just scale the relevant axis by -1.

    • @legiongames2400
      @legiongames2400  Год назад +6

      Should have thought of that honestly LOL. Thank you.

  • @mohamedmoh5789
    @mohamedmoh5789 Год назад +1

    Thanks a lot for these tutorials they're are awesome really helpful

  • @EightFaun
    @EightFaun Год назад +1

    Just in time! Nice tutorial

  • @MrOnosa
    @MrOnosa 8 месяцев назад +1

    Thank you. I'm trying to learn how to make a 3D environment and this was helpful. I thought the trick you did to create the moon was really cool.

  • @billmore6486
    @billmore6486 10 месяцев назад

    Great resource for level design.

  • @ChrisSwafford1
    @ChrisSwafford1 8 месяцев назад

    Terrific video!

  • @George-bc7ej
    @George-bc7ej Год назад +26

    4:02 for the road, you should use a multimesh3D or gridmap for better performance and easier level design.

    • @voidling2632
      @voidling2632 10 месяцев назад +9

      i wouldn't even use a model for that, rather a texture with normal map.

    • @Legit_SuperFall
      @Legit_SuperFall 8 месяцев назад +1

      i used the model to give the road collision. i like that the player can feel the road when he gets on it.
      Here is a good tutorial:
      ruclips.net/video/VjuyfBaryu8/видео.html
      The relevant part starts at 22:02

    • @Legit_SuperFall
      @Legit_SuperFall 7 месяцев назад

      in this case that sucked actually. too many collisions

  • @imnon1660
    @imnon1660 2 месяца назад

    This is an awesome tutorial

  • @dinkleburg43
    @dinkleburg43 7 месяцев назад +5

    Unfortunately it seems the gltf files from kenney's assets are no longer available, causing the color mapping to be nonexistent on most of the models. All screwed up now. I suppose manually converting it is the only way around... very very inconvenient

  • @SUKHJINDERPAL125
    @SUKHJINDERPAL125 Год назад +2

    From India with love, great tutorials, simple and super easy to learn, have a great life brother 😍😍😍

  • @shirotonbo6315
    @shirotonbo6315 3 месяца назад

    Good work bro, i have the same assets but not the same creative brain as you, awesome level!

  • @risunz
    @risunz Год назад

    Thanks this is really helpful

  • @silentmenot
    @silentmenot 6 месяцев назад

    Thank you!!! 🤜🤛

  • @Saminabano872
    @Saminabano872 9 месяцев назад +1

    You guide everything well done...pls guide everything ill appreciate that

  • @jasonleeroberts
    @jasonleeroberts 2 месяца назад +3

    Hey there, how come when I go to edit the assets for the graveyard FPS video, I don't have multiple options under "Surface Material Override" and there's only one color to edit (so I can't do a color of the lampost one color, and have the light part of it be a different color. For context, I've been using GLB files, and I'm on Godot 4. Like I only see one option (option 0) vs. your three (0,1,2)

    • @sillynic
      @sillynic 2 месяца назад

      Same, have you found a fix yet?

  • @SharkThunder12
    @SharkThunder12 Год назад

    Super good tutorial

  • @DavidArt
    @DavidArt Год назад

    love it .. your demo rocks. yours videos too .. new sub ;)

  • @juan7829
    @juan7829 3 месяца назад

    Thanks for sharing this, really useful !!! new sub. Greetings from Argentina!

  • @collinvisser7108
    @collinvisser7108 Год назад +5

    Neat well done - small suggestion - use grid map for trees and other i.e. path items as it make it one draw call. you also do not have a lot of items in the scene tree.
    Got some useful info - thx

    • @legiongames2400
      @legiongames2400  Год назад +1

      That would definitely save a lot of resources, thank you for the suggestion.

  • @n00bslayherttv92
    @n00bslayherttv92 6 месяцев назад

    nice thx for video friend

  • @MakeAmericaGreatAgain-tw7vq
    @MakeAmericaGreatAgain-tw7vq 10 месяцев назад +1

    New subscriber brother, keep it up!

  • @rueful13
    @rueful13 11 месяцев назад

    clean

  • @RegenerationOfficial
    @RegenerationOfficial 9 месяцев назад

    the first couple of scripts I implemented were random placement and brushes before learning about plugins

  • @notme9432
    @notme9432 Год назад

    great guide. when you create a road, how do you drag and copy while the roads are so close together?

    • @legiongames2400
      @legiongames2400  Год назад

      Thank you! When you have the roads selected you can press Ctrl+D to duplicate them and then when you go to move them now only the duplicated roads are selected so you can reposition the extra ones.

  • @PastaMaster115
    @PastaMaster115 Месяц назад

    My door is very different from the one you have. Mine doesn't have the second material override. It's only a single material. And when I made it local it was a very different tree structure as yours. It copies in as "crypt-door2" for some reason. When it's made local it has another Node3D nested inside and then the mesh instance. And it also has an animation player node built it.

  • @hunter7777
    @hunter7777 10 месяцев назад

    How do you move the nodes from the 1st person controller player to this project? I have tried copying & pasting (doesn't work). I have taken the nodes & made them into a scene, copied & pasted this into a new project, but it gives me all sorts of erros & won't let me open it in the new project. Any ideas?

  • @George-xw2jw
    @George-xw2jw Год назад +1

    when I enable the uv1 triplanar, the floor had plenty of white line, How can I fix the problem?

  • @georgezimmer5622
    @georgezimmer5622 5 месяцев назад +1

    They really should add a big red warning to those CSG Primitives telling people it's only intended for prototyping...

  • @amirthaz
    @amirthaz 4 месяца назад +1

    I just found this video, I made a very similar looking game using kenney's assets for a game jam near halloween 💀 crazy coincidence, it's named "seven leaves of autumn" on itch, man, I can't get over how similar we thought of the assets damn 😂😂

    • @legiongames2400
      @legiongames2400  4 месяца назад +1

      Great minds think alike LOL I really like how you changed the crypt though, how did you do that?

  • @XxX_KeithMason69_XxX
    @XxX_KeithMason69_XxX Год назад +1

    I am not sure if Qodot is available for Godot 4.0. That's one of my go-tos for level designing.

  • @void9853
    @void9853 Год назад +3

    Thank you for the video!
    How I don’t like that you can’t edit imported models, set material, connect animation, etc. You need to constantly make duplicates, which is why the number of files increases...

    • @legiongames2400
      @legiongames2400  Год назад +2

      Yeah tbh a lot of work that could be streamlined a bit more easily, I agree.

  • @user-oj1yr8gh5f
    @user-oj1yr8gh5f Месяц назад

    Hi Vro when I use Mesh Collison Shape THen the Game Hangs Please help me any solution??

  • @ChinchillaBONK
    @ChinchillaBONK 10 месяцев назад +1

    As mentioned in some other "Beginner" videos on other channels.
    Is it possible to enlarge your mouse cursor and possibly put a highlight on it?
    Also the words are tiny when watching this on the go to learn between travelling to/fro work on my mobile phone.
    Would be nice to help us true beginners with larger font and larger mouse pointer for us to see what teachers are doing. Maybe even a "key" viewer in the corner to let us see what keys you are pressing.
    Feel like these features should be standard on all video tutorials for beginners

    • @theaussieninja8176
      @theaussieninja8176 10 месяцев назад +1

      i agree i'm extreamly new to godot as in never used it and I don't even know what mesh's he's used for the world and player it would've been nice for him to start from there
      i understand that takes time but like some tutorial makers they usually have a time you could skip too if you don't need the 'scene set up'

    • @Legit_SuperFall
      @Legit_SuperFall 8 месяцев назад +1

      this isn't the best complete beginner tutorial to be honest. id watch this as your second tutorial

  • @jomambo
    @jomambo 8 месяцев назад

    Great vid! Make your life easier by using the hungry proton mesh scatter next time!

    • @legiongames2400
      @legiongames2400  7 месяцев назад

      Yeah I had some regrets while copy pasting all the trees

  • @jlebrech
    @jlebrech Год назад +1

    could you programmatically change max angle for things you WANT the player to be able to walk on?

    • @legiongames2400
      @legiongames2400  Год назад

      Yeah, it's the floor_max_angle property on the CharacterBody3d.

    • @jlebrech
      @jlebrech Год назад

      @@legiongames2400 would be cool, instead of changing it globally for the character. just for specific things that need extra allowance.

  • @elgrillojuan
    @elgrillojuan 2 месяца назад

    muy buen canal
    gracias loco por la ayuda
    cuando sea un desarrollador millonario voy a volver a darte un donativo

  • @mattg6550
    @mattg6550 9 месяцев назад

    Is this your usual workflow for making 3D levels for Godot? What is the most performant way to create 3D levels, Blender and then an import?

    • @Legit_SuperFall
      @Legit_SuperFall 8 месяцев назад

      You can just use shaders for small stuff like plants
      ruclips.net/video/R-bjXOEQyX8/видео.html

  • @bmexperiments498
    @bmexperiments498 Год назад

    at 1:30 how did you combine into 1 scene, add a collision shape (with menu - "advance import settings.. etc on the video)
    Help. Please. Thank you.

    • @legiongames2400
      @legiongames2400  Год назад

      2:04 I click on the mesh menu and click create single convex collision sibling which adds a collision shape that looks like the model.

    • @bmexperiments498
      @bmexperiments498 Год назад

      @@legiongames2400 the model isnt appearing like the one you have. on 1:32 (model) i dont have that one. how did you made it?

    • @bmexperiments498
      @bmexperiments498 Год назад

      1:38 on my godot, it doesnt opened a new scene...with the model

    • @legiongames2400
      @legiongames2400  Год назад

      @@bmexperiments498 After you download www.kenney.nl/assets/graveyard-kit and add it to your Godot project you need to make sure to right click on the file and press "New Inherited Scene". Sometimes the option doesn't show up right away and you might need to reimport the model before you can do that.

  • @slylecias3274
    @slylecias3274 10 месяцев назад +1

    Whenever i import a grave model and try to dupe it, an error pops up saying resource file not found. Would you mind explaining why this is happening?

    • @slylecias3274
      @slylecias3274 10 месяцев назад

      ok nevermind it just fixed itself?

  • @pranavpramod8219
    @pranavpramod8219 5 месяцев назад +1

    i have a problem that is that i cant use two surface material override. there is problem no other than that

    • @cyri4921
      @cyri4921 5 месяцев назад

      did you find a fix?

    • @pranavpramod8219
      @pranavpramod8219 3 месяца назад

      @@cyri4921 no

    • @sillynic
      @sillynic 2 месяца назад

      I also have this problem

  • @rc8s
    @rc8s 9 месяцев назад +4

    How come the models I downloaded have different formats than yours? Mine are OBJ, GLB, and FBX. I haven't seen anyone else with this issue. It's different in other ways too--naming and missing (or renamed) files.
    Edit: So 3.2 is used in this video, and the new one doesn't come with textures?

    • @Tlbsoftware
      @Tlbsoftware 5 месяцев назад +1

      GLB is what you want to use, and if you want the models to have their textures/colors already applied then you need to import the Textures folder from the GLB folder alongside the assets. See my comment for a more detailed approach to that

  • @allanalbrecht3112
    @allanalbrecht3112 2 месяца назад +1

    3:11 The door I got only has one material.

    • @alivalishov
      @alivalishov 24 дня назад

      Yeah the Kit seems updated

  • @Eternal_Night17
    @Eternal_Night17 Год назад +1

    how do you do that you can't walk trough the objects??

    • @legiongames2400
      @legiongames2400  Год назад

      Thank you for watching! Add a static body with a collision shape.

  • @TheManPlaysSkits
    @TheManPlaysSkits 2 месяца назад

    For some reason, all of my collision shape 3ds have a warning on them, making them not work. What I did to solve this is(only for things like walls and fences) to make a csg box and reshape it, then set its visibility to no. Also, make sure collision is on.

    • @thecringeslayer4897
      @thecringeslayer4897 2 месяца назад +1

      what does the warning say?

    • @TheManPlaysSkits
      @TheManPlaysSkits 2 месяца назад

      @@thecringeslayer4897 something like they need to be a Godot “3d” thing, like “node 3d” or “character controller 3d”. None of the collision shapes work. However, it’s not a problem because I just use invisible csg boxes with collision.

  • @gli7ch240
    @gli7ch240 5 месяцев назад

    I selected the single convex collision and it didn't work it gave me a collision shape 3d node but throws an error saying it has no shape plz help

    • @gli7ch240
      @gli7ch240 5 месяцев назад

      Nevermind I'm stupid I fixed it but one problem I had to make separate meshes for a huge building of mine because they are connected to separate nodes the ceiling and floor work but when I do the outer walls it it spawns my character above and there is plenty of room for the character inside so got any fixes.

  • @macchupichu
    @macchupichu 8 месяцев назад

    This was what I got when I looked up for beginners. That's my fault. I should put FOR FOOLS instead. I look up godot tutorial FOR FOOLS

  • @godofdream9112
    @godofdream9112 Год назад +1

    makeing / drawing road with spline path...

    • @legiongames2400
      @legiongames2400  Год назад

      Yeah definitely the next step from here if you want bigger maps, makes things a little easier.

  • @Legit_SuperFall
    @Legit_SuperFall 8 месяцев назад +1

    Hey, anyone else only have one material per model? idk if im doing something wrong

    • @legiongames2400
      @legiongames2400  7 месяцев назад

      What if you click on the little mesh icon on the right side, does that give you access to more materials? Some models are just made with one and the way to fix it would be going through blender.

    • @cyri4921
      @cyri4921 5 месяцев назад

      did you fix this? i tried importing it into blender and exporting it and there is still just one color (i have imported the Textures/colormap into the same directory)

    • @Legit_SuperFall
      @Legit_SuperFall 5 месяцев назад

      @@cyri4921 i didn't sorry
      I was only using this tutorial to learn, so i didn't think too much of it
      Its weird because i used the same models and did the same steps
      I didn't try blender tho

    • @cyri4921
      @cyri4921 5 месяцев назад

      @@Legit_SuperFall i think the issue is with the models that the OP uploaded. I guess we are supposed to assign materials manually in blender, which shouldn't be too hard

  • @bruceparker6142
    @bruceparker6142 Год назад

    What determines the choice of using a csg box for the ground vs a static body with a meshinstance?

    • @legiongames2400
      @legiongames2400  Год назад

      Convenience. It's the same thing if you're just using a simple shape for the floor.

  • @somedudeonyoutubefrfr
    @somedudeonyoutubefrfr 5 месяцев назад

    If I make my map 100x100, it fills up everything. And I have to zoom out like crazy, up to a point, where Godot doesn't even render the end of the map anymore. Wtf?

    • @legiongames2400
      @legiongames2400  4 месяца назад

      Look into increasing the Z-far setting on the editor camera, it will render farther. But what do you mean it fills up everything? 100x100 is really not that big for a map scale wise.

  • @shlokprajapati2404
    @shlokprajapati2404 11 месяцев назад

    The volumetric fog isn,t working plss help

  • @Slava-Ukraini
    @Slava-Ukraini 3 месяца назад

    +1 sub

  • @Matt-xi6tw
    @Matt-xi6tw 8 месяцев назад +1

    You move so fast its hard to understand what your doing. I get the appeal of having a short 11 minutes video. But when the veiwer has to stop and replay every 10 seconds of your video I think it would be better to do a longer video format and less rapid mouse movements. Thanks for the tutorial

  • @Ryan-hv3kn
    @Ryan-hv3kn 10 месяцев назад

    While these tutorials contain helpful information, they move way too fast and are hard to follow at various points.

    • @legiongames2400
      @legiongames2400  10 месяцев назад +2

      Thank you for watching. Sorry, still figuring out the pacing

  • @tonnypedersen5915
    @tonnypedersen5915 Год назад +1

    this is not what i would call level design, where is the level planning, greybox stage and play testing parts ??, all i got from this, is stuff random thrown in there and hope for the best.

    • @legiongames2400
      @legiongames2400  Год назад +1

      Thank you for watching and I'm sorry that the video is not up to your standard, hopefully I can learn these cool techniques for next time!

    • @tonnypedersen5915
      @tonnypedersen5915 Год назад +1

      @@legiongames2400 it's just that in level design the planning is super important, that's where you decide what is going into the level and what the overall layout and flow of the level is going to be, plus a lot more.

  • @atomictraveller
    @atomictraveller Год назад

    please will you stop doing everything from scratch.
    i don't know what to tell you, but you need to think about this and stop doing things from scratch.