BornCG
BornCG
  • 265
  • 17 615 768
Godot 4 3D Platformer Lesson #13: Align Player with Ground!
In this lesson I'll show you how to improve the movement of our game's player, by making it always align with the ground it's walking on. This involves a few lines of code we'll separate into its own custom function with some 'BIG' 3D transformation mathematical concepts, but let's take it step by step!
Thanks for watching! Here are the video chapter timecode links:
- 0:00 - Video Intro
- 0:07 - Where our project stands & Overview
- 1:07 - Adding a RayCast3D to Steve
- 4:06 - Starting to Code, & Classes Used
- 5:59 - Xform Var & Custom Function
- 14:56 - Coding: Cross product & Orthonormalize
- 18:18 - Coding: Smoothing Transitions
- 20:42 - Fix: Player Jumping Orientation
- 22:10 - Issue Fix(?): Edge Transition Flickering
- 25:27 - Final Code, Wrap-Up & Outro
Don't forget to LIKE & SUBSCRIBE! 🥰 👍
*note: in this lesson I use Godot 4.1
Play and Download the Finished 3D Platformer Game Online Now!: borncg.itch.io/3d-platformer-game (use: Chrome/Edge/Firefox to play the web game version)
*****************
DONATE to support my channel via PayPal: goo.gl/ThkwyG
********************************
LIKE and FOLLOW me on:
FACEBOOK: BornCG
INSTAGRAM: born.cg
X / TWITTER: BornCG
Reddit: www.reddit.com/u/BornCG
**********************************
Visit this Godot 4 Beginners: 3D Platformer Course playlist!:
ua-cam.com/play/PLda3VoSoc_TTp8Ng3C57spnNkOw3Hm_35.html
Visit my Let's Learn Blender! Tutorial Series playlist:
ua-cam.com/play/PLda3VoSoc_TQrLrt-voecHs0Mb5qzk2S3.html
****************
Nicolas from the band 'The Lazy Saviours' created my Intro Jingle!
****************
Переглядів: 3 694

Відео

Godot 4 3D Platformer Lesson #12: Camera Controls & Camera-Relative Player Movement!
Переглядів 4,5 тис.Місяць тому
In this lesson I'll show you how to improve our existing very simple 3D camera-following setup to add camera 'gimbal-like' control with the A & D keys, which allow the L/R orbiting (rotation) of the camera around the player. Our new camera setup will allow natural feeling player movement control, where the player's facing direction is relative to the camera angle when moving. Thanks for watchin...
Godot 4 3D Platformer Lesson #11: Building 3D Levels with World Blocks & GridMap!
Переглядів 10 тис.2 місяці тому
In this lesson I'll show you how to use a small collection of 3D Blocks to easily and quickly build ("paint") a 3D level using Godot's GridMap node! In the last lesson we used Blender to model, texture, & export to GLTF a small collection of blocks; in this lesson we'll use them to build our game level! Thanks for watching! Here are the video chapter timecode links: - 0:00 - Video Intro - 0:07 ...
Godot 4 3D Platformer Lesson #10: Modeling World Blocks!
Переглядів 10 тис.3 місяці тому
In this lesson I'll show you how to create the 3D blocks we'll use in the next lesson to quickly build our game level. In this lesson we'll use Blender (free 3D modeling software) to model & texture 7 different blocks, as well as simpler 'collision shape' versions of each, and we'll export everything to a GLTF file in our Godot game project folder. Thanks for watching! Here are the video chapte...
Godot 4 3D Platformer Lesson #9: Smooth Camera Following
Переглядів 19 тис.5 місяців тому
In this lesson I'll show you how to create a simple camera 'rig' to allow the camera to smoothly follow the player around the game level. In this lesson we'll write a tiny bit of GDScript code to make the smooth camera following happen (including using a method called 'lerp'), and use a new object property: "Top Level". Have fun! :) Thanks for watching! Here are the video chapter timecode links...
Godot 4 3D Platformer Lesson #8: Adding Materials & Sky Environment
Переглядів 14 тис.6 місяців тому
In this lesson I'll show you how to add and setup materials onto mesh objects in your 3D Godot Game, and how to add and setup an environment, complete with a gradient sky, horizon, and ground. We'll control the ambient light color and brightness in the scene, enable Screen-Space Reflections and Ambient Occlusion, as well as Anti-Aliasing in our project. Thanks for watching! Here are the video c...
Godot 4 3D Platformer Lesson #7: 3D Coin Model from Blender to Godot!
Переглядів 21 тис.7 місяців тому
In this lesson I'll show you how to model a simple 3D coin for our game using 3D modelling tools in Blender (adding a Primitive 3D cylinder, using edit mode, bevel, inset faces, extrude along normals, edge loop select, shade auto smooth, text objects, converting from text to mesh objects, cleaning up a mesh using limited dissolve and by removing doubles, using the boolean modifier to join two m...
Godot 4 3D Platformer Lesson #6: Collectable Coin
Переглядів 21 тис.8 місяців тому
In this Godot 4 Lesson I show you how to make a reusable, collectable coin object (a cylinder), that vanishes when touched by the player (or another physics object, at this point). We'll accomplish the collision detection in one of two ways: using a built-in method, or (better): using a signal with a handling function. Thanks for watching! Here are the video chapter timecode links: - 0:00 - Vid...
Godot 4 3D Platformer Lesson #5: Coding 101 (Part 2)
Переглядів 26 тис.10 місяців тому
In this Godot 4 Lesson I finish off this 2-part 'intro to coding' lesson for absolute beginners to programming (or gd script) in Godot 4. In this lesson I cover topics: Conditional If Statements, Else, and Boolean Expressions, Boolean variables, Writing Functions (that have parameters and accept arguments, and return data), and Objects, Inheritance, and Godot's official GDScript documentation. ...
Godot 4 3D Platformer Lesson #4: Coding 101 (Part 1)
Переглядів 32 тис.10 місяців тому
In this Godot 4 Lesson I begin a 2-part 'intro to coding' lesson for absolute beginners to programming (or gd script) in Godot 4. In this lesson I cover topics: Language Syntax, Variables, Data Types, and Constants, Operators, Comments, and Calling Functions / Methods. By the end of this lesson we'll also add a Sprite3D (a floating image) into our game level, and code it to spin during gameplay...
Godot 4 3D Platformer Lesson #3: Player Object + Movement/Jump Script!
Переглядів 47 тис.10 місяців тому
In this Godot 4 Lesson I cover I cover how to construct a simple (cube) player object that you can control with keyboard arrow keys & make jump with the space bar! We'll create this player CharacterBody3D physics object a reusable scene, add it to the game level, and attach a script file with directional movement & jumping gd script. We'll also organize our scene tree a little better by creatin...
Godot 4 3D Platformer Lesson #2: Solid Objects & Physics Simulation!
Переглядів 67 тис.11 місяців тому
In this Godot 4 Lesson I cover the basics of Adding Simple Solid Objects (a Floor, and Blocks), Creating Reusable Objects that can be instanced, and running a Physics Simulation (to make the blocks fall and tumble in-game) in the game. Thanks for watching! Here are the video chapter timecode links: - 0:00 - Video Intro - 0:07 - Lesson Outline (what's in this lesson) - 0:47 - Opening & Importing...
Godot 4 3D Platformer Lesson #1: Let's Get Started!
Переглядів 152 тис.11 місяців тому
In this Godot 4 Lesson I cover the basics of getting started with the Godot Game Engine, its interface, navigating in 3D, adding nodes to create the start of a game level, and how to add a 3D camera to the level. Thanks for watching! Here are the video chapter timecode links: Don't forget to LIKE & SUBSCRIBE! 🥰 👍 - 0:00 - Video Intro - 0:23 - About this Course (what to expect) - 0:37 - Getting ...
Godot 3.5: Let's Build a 2D Platformer!: Part 25 (Keys & Doors!)
Переглядів 14 тис.Рік тому
Thanks for watching! In this Godot Game Engine tutorial I cover how to add a collectable key object into your game that allows you to unlock doors that teleport you (like a portal) to other doors in your game level! Here are the video chapter timecode links: - 0:00 - In this tutorial (overview) example - 0:57 - Video Intro - 1:04 - Importing Game Assets (Sprites and Sounds) - 3:21 - Creating a ...
Godot 3.5: Let's Build a 2D Platformer!: Part 24 (Jump on a Button to Reveal Blocks!)
Переглядів 6 тис.Рік тому
Thanks for watching! In this Godot Game Engine tutorial I cover how to add Empty Placeholder Blocks to your Platformer Game that are replaced with Solid Blocks when the player finds and jumps on a button or switch. Here are the video chapter timecode links: - 0:00 - In this tutorial (overview) example - 1:25 - Video Intro - 3:49 - Adding a New Floating Platform - 5:20 - Two New TileMaps - 10:34...
Let's Learn Blender!: Two-Sided Leaf Material
Переглядів 29 тис.Рік тому
Let's Learn Blender!: Two-Sided Leaf Material
Let's Learn Blender!: Proportional Editing!
Переглядів 8 тис.Рік тому
Let's Learn Blender!: Proportional Editing!
Let's Learn Blender!: Character Rigging 101 (Armatures, Bones, & IK)
Переглядів 43 тис.2 роки тому
Let's Learn Blender!: Character Rigging 101 (Armatures, Bones, & IK)
Let's Learn Blender!: Auto Camera Switching (using timeline markers)
Переглядів 8 тис.2 роки тому
Let's Learn Blender!: Auto Camera Switching (using timeline markers)
Godot 3.5: Let's Build a 2D Platformer!: Part 23 (Blinking & Getting Hurt)
Переглядів 8 тис.2 роки тому
Godot 3.5: Let's Build a 2D Platformer!: Part 23 (Blinking & Getting Hurt)
Godot 3.5: Let's Build a 2D Platformer!: Part 22 (Hearts Counter, Lives, & Singletons)
Переглядів 14 тис.2 роки тому
Godot 3.5: Let's Build a 2D Platformer!: Part 22 (Hearts Counter, Lives, & Singletons)
Godot 3.5: Let's Build a 2D Platformer!: Part 21 (Ladders & Trapdoors!)
Переглядів 16 тис.2 роки тому
Godot 3.5: Let's Build a 2D Platformer!: Part 21 (Ladders & Trapdoors!)
Godot 3.4: Let's Build a 2D Platformer!: Part 20 (Wall Jumps!)
Переглядів 19 тис.2 роки тому
Godot 3.4: Let's Build a 2D Platformer!: Part 20 (Wall Jumps!)
Let's Learn Blender!: Parent-Child Links, Hierarchies, & Picking Up & Putting Down Objects.
Переглядів 12 тис.2 роки тому
Let's Learn Blender!: Parent-Child Links, Hierarchies, & Picking Up & Putting Down Objects.
Godot 3.4: Let's Build a 2D Platformer!: Part 19 (Shooting Bouncing Fireballs)
Переглядів 16 тис.2 роки тому
Godot 3.4: Let's Build a 2D Platformer!: Part 19 (Shooting Bouncing Fireballs)
Let's Learn Blender!: Top 10 Essential Camera Tips!
Переглядів 11 тис.2 роки тому
Let's Learn Blender!: Top 10 Essential Camera Tips!
Let's Learn Blender! #12: PBR Materials! & the Displace Modifier
Переглядів 24 тис.2 роки тому
Let's Learn Blender! #12: PBR Materials! & the Displace Modifier
Godot 3.4: Let's Build a 2D Platformer!: Part 18 (Running & Finite State Machines)
Переглядів 19 тис.2 роки тому
Godot 3.4: Let's Build a 2D Platformer!: Part 18 (Running & Finite State Machines)
Let's Learn Blender! #11: Simple UV Mapping & Image Textures!
Переглядів 36 тис.2 роки тому
Let's Learn Blender! #11: Simple UV Mapping & Image Textures!
Let's Learn Blender! #10: Lights, Shadows, & Rendering in EEVEE!
Переглядів 33 тис.2 роки тому
Let's Learn Blender! #10: Lights, Shadows, & Rendering in EEVEE!

КОМЕНТАРІ

  • @robesterclips
    @robesterclips 9 годин тому

    I have an issue where when I add the Xform my character no longer falls to the ground, it stays in the air in the same place and I still have full control of the camera and the character's orientation but it does not move. does anyone know why this might happen, when I delete it all it works again. I have followed the entire series so I haven't changed anything and I'm on Godot 4.3 if that's an issue.

  • @Primal_Real
    @Primal_Real 13 годин тому

    I love your videos they are useful and helpful and I managed to fix all the problems I had with your code on 4.3 but also I'm not being rude but the videos seem to be coming out quite slowly as it has been 11months and only 13 videos have came out but anyway I appreciate the help and effort!

  • @jinenjipeke
    @jinenjipeke 17 годин тому

    cant wait for next part, i love how you remind us to take all the good habits like saving after a change to the code or adding the description in the script

  • @COOLACADEMYFORPHYSICSANDMATH
    @COOLACADEMYFORPHYSICSANDMATH 22 години тому

    there is no tab for character motion in 0.36.1 UPBGE, then how it can be done

  • @nothingmog
    @nothingmog День тому

    I used to use the newest version, but still I can only do few things, but because of this channel it will improve my skills. Thanks

  • @HarrisonBorbarrison
    @HarrisonBorbarrison День тому

    ty bub

  • @MrBrooks89
    @MrBrooks89 День тому

    Just started this series and been amazing so far. Can't wait for the rest to come out. I wanted to add to what others said and kind of compile it into one comment to fix the ramp issue. You need to set RayCast3D node to top level just like the camera controller node is. Then set the raycase3d position to player position and alter the if statement to add or is_on_floor_only which looks like this in the code: # Rotate the character to align with the floor $RayCast3D.position = position if is_on_floor() and input_dir != Vector2(0,0) or is_on_floor_only(): align_with_floor($RayCast3D.get_collision_normal()) global_transform = global_transform.interpolate_with(xform, 0.3) elif not is_on_floor(): align_with_floor(Vector3.UP) global_transform = global_transform.interpolate_with(xform, 0.3)

  • @bloodykun4443
    @bloodykun4443 День тому

    Thank you for these, they've been a great help so far in just finding out how to get started with anything and figuring out all the ways in which you have to really think about how you code. I used Game Maker 5 and 8 many years ago, some form of RPG Maker as well, and have been working on projects in both GMStudio 2 and RPGMMV as well as GameboyStudio, much more recently. None of them have been as complicated to start out as this program it seems, understandably so with the shift to 3D for me I think, but it doesn't help I tend to rely on a lot of drag-and-drop kind of simple programming rather than actually learning how code goes together. So you really breaking this stuff down into the hows and whys and making sure to repeat processes has been very informative and makes everything feel much more manageable. I've seen some other comments on previous videos about feeling like they're back in junior high and annoyed with it, but even at 32 myself I really appreciate the way in which you don't just assume anyone who's watching is already familiar with this or that jargon. Hope to see more from you soon and will likely rewatch some of these as I go.

  • @drfeinstein
    @drfeinstein День тому

    in Blender 4.2.1 blocks #5 and 7 do not bevel when adding the modifier. Anyone know why? Went through it multiple times and followed exactly as he did.

  • @Primal_Real
    @Primal_Real День тому

    Can you help me as when I do $Camera_Controller. godot says "Cannot infer the type of "direction" variable because the value doesn't have a set type. I don't know what has happened but I think my version is higher as a lot of the code in the episodes sometimes do not work the same way and do not understand and the other ones I found a fix but this one I cannot understand on what to do. I'm on godot ver 4.3

  • @user-xh3pp7rk5u
    @user-xh3pp7rk5u День тому

    kepp it up

  • @lesflaya
    @lesflaya 2 дні тому

    Seriously the best tutorial I've seen so far. Something I've always struggled with when trying to learn something new that doesn't come to me naturally is sometimes people will not EXPLAIN WHY things work the way they do, or why we shouldn't touch certain things. You need to understand what you're doing for it to actually lock into your brain for later. It ends up with me not actually LEARNING anything, just replicating it exactly and not understanding what I even did, and i can nevern replicate it again without the tutorial, and can't stray from it very far. I'm amazed im not confused yet given my track record. there's so many tutorials out there but there's not as many teachers!! <3

    • @BornCG
      @BornCG 2 дні тому

      Thanks for your comment, Glad I could help! 😊🙏

  • @lesflaya
    @lesflaya 2 дні тому

    I just want to say you're a godsend. I missed the time growing up where I could go to coding camp or anything like that, and thought I would just never really be able to get coding even though I've strung some simple stuff together before and barely made it work. I tried using gadot like a year ago and got so overwhelmed, so excited to give this a try and so far it's seamless, you're a great teacher!

    • @BornCG
      @BornCG 2 дні тому

      Thanks for your comment! Glad I could help! ❤️🙏

  • @ninomojo
    @ninomojo 2 дні тому

    Fantastic series so far, thank you so much! Could you please make a whole video just about transforms and how to think of them and how they work? I feel the whole internet would be eternally grateful :D

  • @Primal_Real
    @Primal_Real 2 дні тому

    I fixed the issue now but it was painful as for some reason the code all says now "float" and other things so I had to spend one entire hour figuring out how to make it work but now it finally does 😭.

  • @cheddaberetta11
    @cheddaberetta11 2 дні тому

    Thanks for the videos. You're making it easy for me to gain some experience after graduating.

  • @Rare.99
    @Rare.99 2 дні тому

    block falls successfully me: 😊

  • @user-xh3pp7rk5u
    @user-xh3pp7rk5u 2 дні тому

    who is watching in 2024

  • @Primal_Real
    @Primal_Real 3 дні тому

    I imported it and the coin didn't turn out correctly so I had to use the flat one and not round as the round one broke so yeah I'm not sure what happened as I did the steps the exact same something broke. Like the coins texture looked like if you crumpled up a plastic bag but it the coin geometry and everything was fine so it looked weird and I fixed it my making it flat and not smooth and anything I import that is smooth just does not work unless I make it flat.

  • @CHAMPIGNON_lover
    @CHAMPIGNON_lover 3 дні тому

    For auto smooth you need to right click en select it not in the object data

  • @blandon93
    @blandon93 3 дні тому

    bro in my top_ramp model collision is wierd. I cannot walk up on it without lower ramp and the character stumbles upon it. I did blender just like in your video. Remaking the model did not solve the issue.

  • @ninomojo
    @ninomojo 4 дні тому

    You explain things really well. Very grateful you took the time to make this series. Thank you so much!

  • @Akeiga
    @Akeiga 4 дні тому

    Awesome teaching and Awesome tutorials!

  • @Akeiga
    @Akeiga 4 дні тому

    I'm learning a lot here and very thankful for your help!

  • @Akeiga
    @Akeiga 4 дні тому

    This is a great channel and great series!

  • @Keyn0rHaX
    @Keyn0rHaX 4 дні тому

    Thanks your videos are great! Really helping me learn this application!

  • @user-yj2zl3ej3z
    @user-yj2zl3ej3z 5 днів тому

    this is the only tutorial ive watched that actually explains it well, and makes sense best tutorial for beginners tbh.

  • @samvisser9408
    @samvisser9408 5 днів тому

    Hi, great video! I'm having problems playing a scene though - whenever i try to i get a pop-up saying: could not start subprocess(es)! Any ideas on how to fix this?

  • @FrostyTheBeerMan
    @FrostyTheBeerMan 6 днів тому

    🚨 ⚠I wonder why the creators of Blender have chosen not to allow modifications to an object once you move it around in a scene. Like changing the amount of segments. Am I wrong in thinking this should be something that should be added ? ... if you look at Cinema 4D, you can do anything with an object and still go back and change the amount of segments... as long as you didn't click "make editable" .... do I have a good point ? I find this is a weak point in Blender.... am I wrong ?

  • @rikovladimir8655
    @rikovladimir8655 6 днів тому

    Man that limited dissolve trick is awesome for optimization I used to use the decimate modifier

  • @saifibrahim-bv1xl
    @saifibrahim-bv1xl 6 днів тому

    15 m video is better but thx for the hard work of making it

  • @saifibrahim-bv1xl
    @saifibrahim-bv1xl 6 днів тому

    you ttalk alot man

  • @saifibrahim-bv1xl
    @saifibrahim-bv1xl 6 днів тому

    tooooooooooooooooooo lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng

  • @adamkosal3949
    @adamkosal3949 7 днів тому

    The best blender course on youtube.

  • @dost_abdkazm
    @dost_abdkazm 7 днів тому

    @dost_abdkazm ❤

  • @panxel8615
    @panxel8615 7 днів тому

    Please use delta..

  • @Akeiga
    @Akeiga 7 днів тому

    Awesome video! I really enjoyed it and I learned a lot! Grade A teaching!

  • @DeBabysteps
    @DeBabysteps 7 днів тому

    Thanks

  • @m.a.c.86
    @m.a.c.86 8 днів тому

    any alternatives to itch in 2024? it's too slow

  • @CuteCatsAiStories
    @CuteCatsAiStories 8 днів тому

    I subcribed and liked the video because that man in the video is fu####g amazing

  • @YTFunobbyYT
    @YTFunobbyYT 8 днів тому

    when i just walk on the floor, my block is doing crazy stuff like rotating because of the block extrude i did.. how to fix that without having to completely modify the map

  • @micetrap
    @micetrap 8 днів тому

    my eyes went bigger then god who knows after seeing all the options in the sky inviroment. God damn. But thank you so much for this series, it is carzy helpful

  • @leflorieye
    @leflorieye 9 днів тому

    6:50 when I pull up, it deforms the front line goes down instead of up... any clue, (THANKS, awesome teaching !!!)

    • @nothingmog
      @nothingmog День тому

      Idk maybe ask gizmo in teen Titans to help u out

    • @nothingmog
      @nothingmog День тому

      He said gizmo lol

    • @nothingmog
      @nothingmog День тому

      Click the mouse pointer thingy

  • @SAMANVAYMISHRA
    @SAMANVAYMISHRA 9 днів тому

    Your tutorial is amazing but my sprite only moves to the left and not to the right can anybody help me cause I'm a 9-year-old trying to make this game, please ?

  • @SpeedyTheGoddess
    @SpeedyTheGoddess 9 днів тому

    lol I just spent so long comparing my code to yours and googling why _on_body_entered / queue free weren't working. Only to realize I'd somehow disabled my coin's collision xD

  • @FrostyTheBeerMan
    @FrostyTheBeerMan 10 днів тому

    Hi Colin ! 2nd time watching this ! - ⚠you are an amazing teacher !!! and Canadian too eh ! me too. Thank you for this video ! Moving a camera around is still a mystery to me, as my monkey has its head cut off... but hopefully you have a video on that. Thank you again ! 👍😊

  • @dietalkaa
    @dietalkaa 10 днів тому

    So slooooooowww...

  • @leonlamparski
    @leonlamparski 11 днів тому

    Oh Man, awesome name, "BornCG" , it is on your DNA

  • @PhyoeSiThu-du7yq
    @PhyoeSiThu-du7yq 11 днів тому

    Hello BornCG, I want to ask you. My laptop has not external graphics card eg,gtx and rtx. Without gpu, can I use Blender for long term?

    • @BornCG
      @BornCG 11 днів тому

      Depends what you want to use blender for. If you want to render Pixar level animations with hundreds or thousands of frames, you’ll need to upgrade cone render time realistically. If you’re doing simpler work or just learning, you can go a long way with a basic laptop.

    • @PhyoeSiThu-du7yq
      @PhyoeSiThu-du7yq 10 днів тому

      @@BornCG thanks

  • @burhanuddin127
    @burhanuddin127 11 днів тому

    I've just started learning blender and was really frustrated and pulling my hair out all the time while i was watching the "DONUT MAKER". I just hate that guy now the moment i stumbled upon your channel, it's like i was in the desert thirsty and suddenly someone gave me a chilled water bottle. That's kind of the satisfaction that I'm getting after coming here from watching the "DONUT MAKER" for the last 3 days😂. Just THANK YOU SO MUCH.