These tutorials are totally wizard! Can't wait to see the next lesson, making my own 3D platformer has been a dream of mine since I played Mario64 as a kid!
@bonnymich23 сағат бұрын
i think i found one of the good series for godot online in youtube thanks mate so nice of ya appreciate it😄
@sayris012 күн бұрын
nice :)
@peeledbanana3113 күн бұрын
Great tutorial m8 thank you.
@lemur8363 күн бұрын
Thank you for your work, unfortunately i have a problem with the blocks in the gridmap :( all the blocks are displayed correctly in the menu to the right of viewport, but when i'm trying to place them onto the grid they are all rotated 90 degrees on the x axis
@lemur8363 күн бұрын
nvm, just had to watch a little further into the video i guess rotation of the pieces is stored in the engine and not in the gridmap instance
@zivanni3 күн бұрын
We need more
@DamjanB523 күн бұрын
Why the non-visual, textual (bullet-list) intro ?
@pekoethefurry4 күн бұрын
Thank you for this tutorial!! It was very informative and I understood it all fluently!!
@rawrpancakes4 күн бұрын
(っ✧ω✧)っ ✨ So there I was, previewing the video with my trusty mouse, when suddenly-BAM! Blender time showed up, and my brain screamed "nooooOOoooo" in the most dramatic inner voice! 😂 But then... as I hovered over 1:19, the thumbnail hit me with a gigantic "YES" out of nowhere, and I couldn't help but chuckle like a goofball! 💖
@zegaroth95964 күн бұрын
i was previewing the video with my mouse and when i saw it was time for blender i said "nooooo" in my mind voice and then when i hovered over 1:19 the thumbnail was a big YES and it made me chuckle
@convileedwards85794 күн бұрын
godot needs a object physics rig, sample click on assign, you can name it physic scene
@demenobody10995 күн бұрын
the auto smooth is now attached to the right mouse button underneath the normal smooth function. loving this series so far! <3
@cascadaderesonancia5 күн бұрын
Thank you!!! 😁
@digniii94775 күн бұрын
the option "new boxmesh" doesn´t appear for me
@Quadmyke5 күн бұрын
So good!! Thank you!
@Quadmyke5 күн бұрын
This series has been amazing, a great introduction to 3D in Godot, so a huge thanks! I am unfortunatley running in to a little issue I haven't seen mentioned here, every lesson up to here works great except once adding the xform.basis = xform.basis.orthonormalized() it flipped my character from left to right, character moves in the right directions, it's just the mesh flipping on the y axis. Not sure why and would apprecieate if anyone has any knowledge on this, thanks! No rush of course, I'm moving on to the next lessons in the meantime.
@سمبوسهقيمر-ر7بКүн бұрын
Me to
@titusmaledetto6 күн бұрын
You're a natural tutor. Congrats!
@corpsthese6 күн бұрын
Hello, Here's a few solutions for the rotation problem you might encouter! Simple solution: First, in the character scene, make sure your camera is behind the character, looking at it's back. So if the character's "head" faces the positive X axis, the camera is also facing positive X axis but from afar, so it sees its back. I recommend doing this way, cause no rotation actually makes the model face the X axis (will be relevant later) Second, and probably most important, make sure your character has no rotation in the level_1 scene. Simple explanation: The way the camera is setup so far in the course, it's not relative to the player. We only move it to the player every frame, which is why on load you have a quick traveling to the player if it's not at the origin of the level. Something similar happens with the rotation when moving. Basically, the camera is not rotating with the player, and it's not set to watch its back but to look at positive X axis. From now on, no more problem, you should be aligned with the tutorial. However if you move the character away from the level_1 origin position (0,0,0), you have a quick traveling to the player at launch. Also, you can't rotate at all the player of course, otherwise it messes up the calculation. It might be solved later in the course, but here's a way to make it allow you these changes. Deeper solution: func _ready() -> void: $CameraControler.position = position $CameraControler.rotation += rotation func _physics_process(delta: float) -> void: [...] if input_dir != Vector2.ZERO: $MeshInstance3D.rotation_degrees.y = $CameraControler.rotation_degrees.y - rad_to_deg(input_dir.angle()) - rotation_degrees.y Deeper explanation: I wrote a ready() function for the player. It's a function that is called only when the player scene is all loaded. Which means all its children, and their children are loaded and their ready executed, so the camera is loaded. Hence, in this ready I fix the position of the camera to the player's position so it teleports immediately to the player and do the same for the rotation. HOWEVER, now, the rotation is no longer neutral, cause it might be different from zero. When we rotate the mesh of the player relatively to the camera & the input, but also the the player's node itself. So, a fix is to substract the player's rotation, so whatever it is (either 90, 180, or even 45) we delete its influence and align the mesh according to our movement. It's probably the cleanest way to do it, and it might align with whatever solution might come later in the tutorial. Another solution would be to actually rotate the whole player like this: if input_dir != Vector2.ZERO: rotation_degrees.y = $CameraControler.rotation_degrees.y - rad_to_deg(input_dir.angle()) Since we change the whole rotation of the player, we don't need to substract the initial rotation to the new rotation of the mesh. It works and might seem great, but for the moment our player is a cubic mesh and its cubic collision shape. We might have something more complex, and sometimes elements we don't want to rotate along side, or rotate differently. Maybe if we had some sort of health bar above the player's head, we would want it to always face the camera properly, not spin permanently. Hope this helps! Bonus: This is how I rotate my camera, so it's smoooooooooth # Rotate camera left / right if Input.is_action_pressed("cam_left"): $CameraControler.rotation.y = lerp($CameraControler.rotation.y, $CameraControler.rotation.y + deg_to_rad(30), 0.06) if Input.is_action_pressed("cam_right"): $CameraControler.rotation.y = lerp($CameraControler.rotation.y, $CameraControler.rotation.y - deg_to_rad(30), 0.06) (change the "0.06" from 0 to 1 to change speed!)
@kujojotaro94887 сағат бұрын
The way you explained is fine, but the fact that the CameraController is set as an independent object is what causes the issue. If the property "Top Level" is set to true, when you apply transformations to the CharacterBody3D (Steve) within the main scene (node3D named as level1), the transformations aren't inherited by the child (node3d named as CameraController). The ultimate solution is indeed what you did, that is, hard code in the CameraController the transformations applied to the player.
@blue-guy3336 күн бұрын
hey colin! wanted to know if you were gonna make a tutorial on ui (for example a coin counter) you taught me alot and got me far into my development journey and would love to hear your advice!
@BornCG6 күн бұрын
I’ll coyly suggest you play the final version of this project through my itch.io link in the video description. We’re making exactly that game, with all features you see there.
@Eats2Gaming7 күн бұрын
Can you show me how to make the ColisionShape the same size?
@GinoZump7 күн бұрын
great tutorial, BornCG. question: is it possible to recreate this with logic nodes? thanks in advance.
@Qyedo7 күн бұрын
I'm actually not new to godot. But for the last 1.5 years I've been sticking to UE5. Just recently made a decision to switch to another game engine since UE is too heavy loaded for my projects and in most cases I don't even use a fragment of features it provides. It's actually incredible to see how Godot flourished over the years and it was extremely handy going over your course to get used to this engine. Much appreciated!
@NicolaHartman-e6p7 күн бұрын
Williams Shirley Robinson Ronald Robinson Matthew
@DestinyWISDOM-v7o7 күн бұрын
I like making game
@DestinyWISDOM-v7o7 күн бұрын
Hi my name is destiny but my friends come me dd i like to which you evrtime
@NicolaHartman-e6p7 күн бұрын
Hall Maria Brown Deborah Lopez Kevin
@origamiwithadinath8 күн бұрын
I am at 2024 September and Godot 4 just released and it is the cool but my laptop can't handle it and I can only use 3.5 . I searched for Godot 3 tutorials and found no good tutorials on 3D until I discovered BornCG. He is a lifesaver. Thanks for everything.
@SvjVdmdmm-y6e8 күн бұрын
Garcia Nancy Martinez Sharon Anderson Thomas
@SvjVdmdmm-y6e8 күн бұрын
Perez Nancy Thompson Elizabeth Garcia Helen
@psyboyo8 күн бұрын
This is too cool!... EDIT: Omg just read others comments, also feeling like crying to this... this wonderful engine, this level edition capability, all this... damn! 💕💕💕
@penno46418 күн бұрын
Great tutorial, thank you very much for making and sharing this lesson.
@psyboyo9 күн бұрын
23:25 Bing?... /facepalm ... Amazing materials site, thank you so much! ♥
@bonnymich10 күн бұрын
gd script...yet another modification...crying
@toxicdotaep289010 күн бұрын
My cube refuses to be anything but flat white. Does my image need to be bigger or something? I followed the tutorial to the letter, the only difference is my test image is 1080p, not 2K or 4K.
@bruceyoukers353411 күн бұрын
I had a question if anyone can answer! 9:28 where the sentences are green. The third one isn't green for me. I ignored it and did the same thing anyways. When I went to test it the side directions didn't work right. But forward back and jump works fine. Also there's some code on mine that's not on his. Can anyone help?
@tsu-harrybo71097 күн бұрын
Hi, I literally just had this problem but for anyone who hasn't solved it try moving the character node under the camera on the left, worked after for me.
@bruceyoukers35347 күн бұрын
@@tsu-harrybo7109 thank you!
@Scarabola12 күн бұрын
May you do character animations next? (: please
@dgc741912 күн бұрын
Thank you as always, can't wait for the next chapter! this game is starting to look awesome :D
@cascadaderesonancia12 күн бұрын
Thank you!!! 😁
@elirocks09812 күн бұрын
Thankyour for covering every little detail!!!
@Scarabola13 күн бұрын
Any way to rotate the camera up and down? I tried duplicating the horizontal rotate code, and changed "rotate_y" to "rotate_x", but it's not working as intended. Please and thanks!
@cascadaderesonancia13 күн бұрын
Thank you!!! 😁
@nasirshabazz536913 күн бұрын
can somebody help me came across a problem (using godot 4.3) when trynng to rotate the camera with code (by turning with the arrow keys as shown around 18:58) here's what i input var direction := ($CameraController.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() error- cannot infer the type of direction variable because the value doesn't have a set type
@corpsthese6 күн бұрын
Hello! It's because of the : before the = after "direction" From my knowledge point of view here's how I can explain that: Usually Godot manage the type itself according to what you do, which often works properly. When you use : it tries to infer ("deduce") the type of the variable, which is usefull to ensure coherence over the project (which in my opinion is a good practice and I use it, you can switch "Untyped declaration" to "errors" in the project settings). When you do so, Godot doesn't automatically convert variables types to make them compatible on calculation. And since the transform.basis is a Basis type and Vector3.normalized() a Vector3, then it tells you it's lost and doesn't know which type it should infer. You have 2 solutions: 1. Remove the : 2. Define the type either by making it a variable var camera_basis : Basis = $CameraControler.transform.basis var direction := (camera_basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() Or by telling in line what it should be treated as var direction := ($CameraControler.transform.basis as Basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() Hope it helps!
@kujojotaro94889 сағат бұрын
I had the same problem and I solved it by explicitly declaring a type for direction. var direction: Vector3 = ($CameraController.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
@EnchantedWolf-ey3gc13 күн бұрын
My player object falls through the floor and I can't really figure out how to fix it, but it does stay on the floor if I take away the global_transform = xform so I don't really know what to do.
@EnchantedWolf-ey3gc13 күн бұрын
I fixed it!!!! If anybody else has the same issue it's because the code on line forty for him has to be double tabbed
@cascadaderesonancia13 күн бұрын
Thank you!!! 😁
@kellyrodgers932613 күн бұрын
Brilliant!
@JonasThente-ji5xx13 күн бұрын
will i become a game dev if i follow this tut?
@EnchantedWolf-ey3gc13 күн бұрын
For anybody whose s stayed messed even after deleting one, there is a comment that fixed the issue for me and all you have to do is click the coin, shift to also select the s and the click ctrl + J. Hope that clears it up for some people.