Tutorial: First Person Movement In Godot 4

  Рет қаралды 170,941

Bramwell

Bramwell

Күн бұрын

Пікірлер: 418
@justcnoon
@justcnoon 2 жыл бұрын
deg2rad() has been renamed to deg_to_rad() in Alpha 15, if anybody's having an error.
@mustafamohamud5212
@mustafamohamud5212 2 жыл бұрын
thank you!
@wordrc
@wordrc 2 жыл бұрын
thanks!!
@wellhellotherekyle
@wellhellotherekyle 2 жыл бұрын
You're a life saver!
@LynnWinx
@LynnWinx 2 жыл бұрын
Good. That 2 was cringey as hell :D
@jameswashington4704
@jameswashington4704 2 жыл бұрын
@@LynnWinx no it wasnt u mf I will fight u
@wellhellotherekyle
@wellhellotherekyle 2 жыл бұрын
So two things had changed since this video was published... 1. The _unhandled_input part, the code should read like this now: _unhandled_input(event): (All the stuff after on that line in Branwell's code is no longer necessary) 2. deg2rad() has been renamed to deg_to_rad() (Thank you to Andy Reed for pointing this one out) Thanks for the wonderful tutorial Bramwell!
@mando1570
@mando1570 2 жыл бұрын
thank you so much my guy your comment really helped me ❤
@gustaafmilzink
@gustaafmilzink 2 жыл бұрын
Thank you!
@recker7017
@recker7017 Жыл бұрын
point 1 is invalid, typehints never were necessary
@Micahtmusic
@Micahtmusic Жыл бұрын
maybe not necessary, but definitely polite
@sechmascm
@sechmascm Жыл бұрын
The other stuff on that line improves performance by a huge margin. The engine doesn't have to guess what everyting is supposed to be and it runs those operations faster. If you want a good game, it is necessary.
@erin1569
@erin1569 2 жыл бұрын
Btw, if you want to have the same autocomplete as Bramwell at 11:47, you should go to Editor>Editor Settings>Text Editor>Completion>Add type hints
@BobaBallz_the2nd
@BobaBallz_the2nd Жыл бұрын
TYSMMMMMMM
@trxlly
@trxlly Жыл бұрын
Thanks
@mayodiff2245
@mayodiff2245 Жыл бұрын
what a legend
@Marandal
@Marandal Жыл бұрын
Thank you.
@Zetsu_Org
@Zetsu_Org Жыл бұрын
Bro thanks alot I was scared that's I did wrong
@alechussak3750
@alechussak3750 Жыл бұрын
set_mouse_mode() and get_mouse_mode() have been removed since this video was made. You can now get/set the Input.mouse_mode property directly: SET: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED GET: if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
@gregoriodelimaalves6862
@gregoriodelimaalves6862 Жыл бұрын
how do I do this properly
@StephenCodess
@StephenCodess Жыл бұрын
thanks!
@NerdWithABeard
@NerdWithABeard Жыл бұрын
This, along with the tip for how to access the other command auto-fills, are much appreciated
@351c4v71
@351c4v71 11 ай бұрын
thanks, that was very helpful
@351c4v71
@351c4v71 11 ай бұрын
func _unhandled_input(event): if event is InputEventMouseButton: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED@koolgabieboi2816
@I_can-t_GAMING
@I_can-t_GAMING Жыл бұрын
والله انا كنت واقف على ان الشخصية بتخترق الارض لكن دا اكتر فيديو فادني فشكرا جدا 💖💖💖💖❤❤ By God, I was standing on the fact that the character penetrates the ground, but this is the most useful video, so thank you very much
@Drachenbauer
@Drachenbauer Жыл бұрын
i didn´t add a neck node, i rotate the whole character around y instead with the mouse, so i just didn´t get the problem of fixed forward direction, that´s described at 16:15. It feels just like a fully functional first person charecter.
@sweetdog2398
@sweetdog2398 9 ай бұрын
A cool thing you can do with this part: var input_dir := Input.get_vector("move_left", "move_right", "move_forward", "move_backwards") var direction = (neck.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() if direction: if is_on_floor(): velocity.x = direction.x * SPEED velocity.z = direction.z * SPEED else: if is_on_floor(): velocity.x = move_toward(velocity.x, 0, SPEED) velocity.z = move_toward(velocity.z, 0, SPEED) is right before the velocity stuff you can add a if is_on_floor so that you cant change directions midair, or you can use an else comman so that you can but its less.
@madphoenix9826
@madphoenix9826 Жыл бұрын
Always nice to find a information dense tutorial for the specific thing you wanna do ^^ Thank you very much!
@YOZA.
@YOZA. Жыл бұрын
extends CharacterBody3D const SPEED = 5.0 const JUMP_VELOCITY = 4.5 # Get the gravity from the project settings to be synced with RigidDynamicBody nodes. var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity") @onready var neck := $Neck @onready var camera := $Neck/Camera3d func _unhandled_input(event: InputEvent) -> void: if event is InputEventMouseButton: Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) elif event.is_action_pressed("ui_cancel"): Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED: if event is InputEventMouseMotion: neck.rotate_y(-event.relative.x * 0.01) camera.rotate_x(-event.relative.y * 0.01) camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-30), deg_to_rad(60)) func _physics_process(delta: float) -> void: # Add the gravity. if not is_on_floor(): velocity.y -= gravity * delta # Handle Jump. if Input.is_action_just_pressed("ui_accept") and is_on_floor(): velocity.y = JUMP_VELOCITY # Get the input direction and handle the movement/deceleration. # As good practice, you should replace UI actions with custom gameplay actions. var input_dir := Input.get_vector("left", "right", "forward", "back") var direction = (neck.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() if direction: velocity.x = direction.x * SPEED velocity.z = direction.z * SPEED else: velocity.x = move_toward(velocity.x, 0, SPEED) velocity.z = move_t
@tornstrashcontent
@tornstrashcontent 2 ай бұрын
THANK YOU SO MUCH! I've been searching for a game engine to move up from scratch and eventually settled on Godot. This video taught me heaps and can't thank you enough.
@kevindean8312
@kevindean8312 Жыл бұрын
I am complete noob to Godot and this tutorial was excellent. Easy to follow and loved how you actually explained everything. Thank you!
@BlobFish-BlobFish
@BlobFish-BlobFish 2 ай бұрын
This is the only tutorial that actually explains what each line of code means. Thank you, Bramwell!
@petethorne5094
@petethorne5094 2 жыл бұрын
This is absolutely brilliant! I just downloaded the Beta (woo!) and within a few mins I had a player running around my test scene. Bought your course a while back and now that things are getting more stable, I'm going to have to stop avoiding building a game!
@kevindean8312
@kevindean8312 Жыл бұрын
So was Godot 3.x not very stable?
@DEXA_Entertainment
@DEXA_Entertainment Жыл бұрын
Very on point, short and helpful! Thank you for teaching not only me but a lot of people too. 😊👍
@theaussieninja8176
@theaussieninja8176 Жыл бұрын
thank your Bramwell for these tutorials I love how you go into great depths on everything I wish more tutorials went into such depth
@PanIsTrying
@PanIsTrying 10 ай бұрын
Thank you kindly for your help in this tutorial. It made me a subscriber
@emilyallen7912
@emilyallen7912 10 ай бұрын
same
@jwt77
@jwt77 2 ай бұрын
This helped me a lot to get started. Thank you!
@studiophazer-zw7dd
@studiophazer-zw7dd 3 ай бұрын
i looked at two tutorials and yours worked. liked
@hayleypeterson7007
@hayleypeterson7007 10 ай бұрын
This is still such a great tutorial, but I wanted to add that if anyone's gotten a bug when adding camera movement, the fix for me was this line to check MouseMotion was the event type: if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED and event is InputEventMouseMotion:
@pisel5945
@pisel5945 Жыл бұрын
thank you i had no idea how to do something in godot because there was always errors, i didnt think that i will succed following the first tutorial that i clicked on
@harryudal3115
@harryudal3115 11 ай бұрын
Thank you so much for all the work you have done, this has given me so much help. And I thank you
@anarchicpancake2840
@anarchicpancake2840 2 ай бұрын
15:51 i got up to here with no errors but when i copied the code and ran the game the camera glitched, now it's constantly staring at the ground and i can't rotate it up
@sailorkitty5853
@sailorkitty5853 2 ай бұрын
same, hope someone replies soon.
@zirathar
@zirathar 5 ай бұрын
thank you bro really you help my life and you make me happy❤
@apersimmon
@apersimmon 11 ай бұрын
I applied this to a 3rd person player but it was very useful, thanks!!
@aullvrch
@aullvrch 2 жыл бұрын
this made me subscribe! By far the most useful and educational vid on this topic I I have seen thus far, with the added bonus of being in godot 4!!
@cultofape
@cultofape 2 жыл бұрын
Love your tutorials! If I can make a request - 3rd person 3d with LMB click on ground movement and proper player rotation. I just can´t make it 100%right
@BramwellWilliams
@BramwellWilliams 2 жыл бұрын
I could do something like that for sure ^^ I've done something like that with gridmaps for tiles you can move to: twitter.com/bramreth/status/1453508866134663174
@grarldbrown6812
@grarldbrown6812 Жыл бұрын
I'm just hoping to use LMB method for camera3D, similar as the way of tutorials does but classic rpg.
@Dave-n5d
@Dave-n5d Жыл бұрын
12:22 Where did he get this string of code from i dont understand how he got it
@kitsunemusicisfire
@kitsunemusicisfire 3 ай бұрын
copied and pasted it from a document he had on his pc, just retype all the code and it'll work fine
@dairygecko
@dairygecko 10 ай бұрын
thank you so much, i was watching another tutorial and it skipped the part in which the player was created, im a complete newbie, now i can continue the other tutorial (which was about creating a map)
@footballCartoon91
@footballCartoon91 4 ай бұрын
@7:46, the movement is quite buggy if you "move left" or "move right" because the CharacterBody3D should either strafing left or right OR the Camera3D should just yaw (i.e rotates around the y-axis) without moving the CharacterBody3D too.
@cyphfrix1620
@cyphfrix1620 Жыл бұрын
thanks so much bro, your tutorial is very easy to follow and quick
@jasmanDhaliwal-k4r
@jasmanDhaliwal-k4r Жыл бұрын
Thank you bro. I am a boy who need these types of tutorials. LOVE FROM PUNJAB
@JohnFenlon
@JohnFenlon Жыл бұрын
Just started using Godot, very helpful video to get up & running quickly, many thanks 👍
@wolcamophone4783
@wolcamophone4783 2 жыл бұрын
I wish there was a video that really explained how to better understand movement functions tied to kinematic bodies so that you could know exactly what kind of bhopping or air strafing glitches to put in movement fps controllers.
@ezzie_baby
@ezzie_baby 2 ай бұрын
thank you so much!! this was extremely helpful.
@Phryj
@Phryj 11 ай бұрын
This was a big help, thank you!
@VGV0
@VGV0 10 ай бұрын
thanks, great video! You explained every step. Much appreciated!
@Snakemaster11235
@Snakemaster11235 3 ай бұрын
tysm Bramwell this helped me alot
@swedishgamedev
@swedishgamedev Жыл бұрын
Thank you for this very clear tutorial! It helped a bunch!
@daniyarm2922
@daniyarm2922 Жыл бұрын
why complicate, it is enough to add in the _input (event) function: func _input(e): (well i shorten the EVENT like this :)) ) if e is InputEventMouseMotion: rotation.y -= e.relative.x * 0.005 head.rotation.x = clamp(head.rotation.x - e.relative.y * 0.005, -1.4, 1.4) You can change the numbers however you like. He is only responsible for speed and limit.
@chrisfritz7545
@chrisfritz7545 Жыл бұрын
Just wanted to say thanks for sharing your knowledge. Keep making these videos. You have a great way of explaining what you are doing.
@AdamHerger
@AdamHerger 4 ай бұрын
Great tutorial Bramwell! I was just wondering if the camera rotation adjusts to the framerate of the user since it's not in the _physics_process(delta) function?
@acedefective2220
@acedefective2220 11 ай бұрын
thank you, this tutorial was very accessible and helpful
@Guy67890
@Guy67890 Жыл бұрын
how did you get that alongated equal sign on 13:34
@One-bh9ii
@One-bh9ii Жыл бұрын
It's just a double equal sign. if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
@MurkyJeep
@MurkyJeep Жыл бұрын
Thank you! Explained well and straight to the point.
@sogimarvaz
@sogimarvaz Жыл бұрын
Very nice video, thank you so much Bramwell.
@PAPRPL8
@PAPRPL8 2 жыл бұрын
Thanks for the tutorial; found it quite helpful and moved at a pace I found keep up with as a beginner.
@sgaming3174
@sgaming3174 4 ай бұрын
Thanks for the tutorial
@riisezz0
@riisezz0 2 жыл бұрын
Hey, man. I'm new to Godot and you've really been helping in the transition to Godot 4. I really appreciate you!
@mr.e4327
@mr.e4327 10 ай бұрын
Great tutorial, thanks mate!
@ViralShorts8303
@ViralShorts8303 Жыл бұрын
Hey man thank you so much its working very good and i am very happy!! you just got a Subscriber😉
@RealJesus
@RealJesus Жыл бұрын
help everytime i look down/right the poc starts spinning and it's uncontrollable
@pacobrian7547
@pacobrian7547 Жыл бұрын
you are a genius, you solved my problem of collisions
@bluecheese1066
@bluecheese1066 Жыл бұрын
Very nice intro to some 3D player basics. Thank you very much!
@darkBuster2002
@darkBuster2002 Жыл бұрын
there is a problem for me Line 17:Assignment is not allowed inside an expression.Line 18:Assignment is not allowed inside an expression.
@foldysnootmack
@foldysnootmack Жыл бұрын
I’m having the same issue. Have you figured out how to fix it?
@nezbro2011
@nezbro2011 Жыл бұрын
@@foldysnootmack Double equals so type ==
@P134-i3p
@P134-i3p Жыл бұрын
@@nezbro2011 Bloody hell really??? DOUBLE EQUALS??? God damn. Good thing I check the comments for answers... Fucking double equals...
@nezbro2011
@nezbro2011 Жыл бұрын
@@P134-i3p Yeah not really obvious at first considering there isn't a gap in between the two.
@darkBuster2002
@darkBuster2002 Жыл бұрын
@@foldysnootmack No
@wukerplank
@wukerplank 2 жыл бұрын
Very interesting, thank you for putting this together!
@piimae
@piimae Жыл бұрын
Exceptionally well done tutorial, straight to the point and just the right amount of explaining of the details of the mechanics. Thank you!
@idk-gq8tw
@idk-gq8tw Жыл бұрын
Can someone help, i started the scene and when i try to rotate is freezes and it says kennedy.gd 10 @ _ready(): node not found: "neck/camera3d" (relative to "/root/node3d/characterbody3d").
@meteroy17
@meteroy17 Жыл бұрын
Is there a way to add other functions like interact, running, crouching, and all that?
@sethwhite4635
@sethwhite4635 2 жыл бұрын
Awesome, thanks for the video!
@Betegfos
@Betegfos 2 жыл бұрын
Nice tutorial. Very useful. How do I change the movement speed depending on the direction of the movement?
@payton.a.elliott
@payton.a.elliott 2 жыл бұрын
After tinkering around for a while the only way I could get it to work is to put another if statement inside the "if direction:" statement. I replaced the default SPEED const with the walk_speed var. I simply check if move direction is towards positive 1 (which is backwards for the character body), then half walk_speed if they are moving backwards. Otherwise, walk_speed is normal. # If moving backwards move at half speed. if direction.z > 0: velocity.z = direction.z * walk_speed / 2 else: velocity.z = direction.z * walk_speed
@petethorne5094
@petethorne5094 2 жыл бұрын
Might be a bug here, if you rotate the Player node in the editor the movement keys are not mapped to the camera any more...
@petethorne5094
@petethorne5094 2 жыл бұрын
My hacky fix here is to rotation the basis by the player rotation: var direction = ((neck as Node3D).transform.basis.rotated(Vector3.UP, rotation.y) * Vector3(input_dir.x, 0, input_dir.y)).normalized()
@jessepinkeye2339
@jessepinkeye2339 9 ай бұрын
I tried doing that but the keys are still not following the camera when I rotate the Player
@pkk11x90
@pkk11x90 Жыл бұрын
i have a bug in line 17. can someone help? here is script: func _unhandled_input(event: InputEvent) -> void: if event is InputEventMouseButton: Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) elif event.is_action_pressed("ui_cancel"): Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED: if event is InputEventMouseMotion: neck.rotate_y(-event.relative.x * 0.01) camera.rotate_x(-event.relative.y * 0.01) camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-30), deg_to_rad(60))
@imreallynotcoolatall
@imreallynotcoolatall 9 ай бұрын
i have the same problem! i don't know how to solve it
@BlobFishIsNotABot
@BlobFishIsNotABot 8 ай бұрын
The -> void idnt needed in godot 4
@auzz4455
@auzz4455 2 ай бұрын
func _unhandled_input(event): if event is InputEventMouseButton: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED elif event.is_action_pressed("ui_cancel"): Input.mouse_mode = Input.MOUSE_MODE_VISIBLE if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: if event is InputEventMouseMotion: neck.rotate_y(-event.relative.x * 0.01) camera.rotate_x(-event.relative.y * 0.01) camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-30), deg_to_rad(60))
@auzz4455
@auzz4455 2 ай бұрын
i think godot have made changes since this video, so its a little tricky finding the correct terminology
@Fadam_red
@Fadam_red 4 ай бұрын
I get a error at camera.rotate_x(-event.relative.y * 0.01) Identificer "camera" not declared in current scope
@randomdamian
@randomdamian Жыл бұрын
15:45 deg2rad() was renamed to deg_to_rad()
@18_leafclover
@18_leafclover 6 ай бұрын
I'm getting an error on lines 20, 21 Identifier camera not declared in the current scope
@Lacinycoryp285
@Lacinycoryp285 Жыл бұрын
I every time I try to use the camera it crashes the game
@KhaoticSanctum69
@KhaoticSanctum69 Жыл бұрын
I have an issue on line 17 of the code that says "assignment is not allowed inside an expression" and idk what's wrong :( can someone please help
@Ren-vo8jj
@Ren-vo8jj Жыл бұрын
its 2 equal to signs "=="
@PlasmaGhost303
@PlasmaGhost303 7 ай бұрын
the tutorial was great! thank you
@recker7017
@recker7017 2 жыл бұрын
a rigidbody fps controller tutorial would be really good
@casualtyxy_x6761
@casualtyxy_x6761 Ай бұрын
When I try to look up or down past the specified clamps, moving the mouse up or down then causes the camera to rotate on every axis at the same time. Not sure if I stopped watching early and there was a fix for this, but it doesn't seem so. Anyone else having this issue?
@Kingofther3gion
@Kingofther3gion 2 жыл бұрын
16:00 this is all good but does the player body rotate with the neck? so that the head doesn't just spin around while the body is not. So the body is facing the same way we are looking
@RedCatGD
@RedCatGD Жыл бұрын
Thanks a lot ! Helped me out a tone ❤
@Mrfluffneow
@Mrfluffneow 6 ай бұрын
Can someone help me becuse that arrow in the script 11:52 does not exist on my keyboard
@BramwellWilliams
@BramwellWilliams 6 ай бұрын
It should just be a hiphen and greater than symbol -> (back in that version of Godot the "code contextual ligatures" editor setting was enabled by default to get extra symbols)
@Mrfluffneow
@Mrfluffneow 6 ай бұрын
@@BramwellWilliams ok
@devinpeck6664
@devinpeck6664 Жыл бұрын
Love this! Thank you so much.
@itokuun
@itokuun Жыл бұрын
Awesome video man
@The24thFret
@The24thFret Жыл бұрын
I am getting an error on the line : 20 camera.rotate_x(-event.relative.y * 0.01) error reads: Attempt to call function 'rotate.x' in base 'null instance' on a null instance. I copy and pasted the entirety of the code from the github page and the problem still did not resolve, there are no other errors in the code
@billyboiisaredneck8965
@billyboiisaredneck8965 4 ай бұрын
I had a question but how do i remove my cursor from the screen?
@gameinglizard6984
@gameinglizard6984 Жыл бұрын
OK SO WHEN I AM TOUCHING THE GROUND ITS LAGGY AND WEIRD, it MIGHT BE CLIPIONG idk how do I fix that.
@reduxek
@reduxek 10 ай бұрын
I have this problem too
@Rebel_MC2355
@Rebel_MC2355 Жыл бұрын
at 12:21 how do you get those lines of code? im typing them in rn and its very annoying
@NarekAvetisyan
@NarekAvetisyan 2 жыл бұрын
Very nice! Can you also make a simple tutorial like this for a Age of Empires style camera?
@MrJasonSnell
@MrJasonSnell 2 жыл бұрын
found a couple code fixes for clamping the vertical view camera.rotation.x = clamp(camera.rotation.x, -(PI/4), PI/4) or camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-30), deg_to_rad(60))
@eliyahumedia
@eliyahumedia Жыл бұрын
how would clamp the horizontal view? like this?: camera.rotation.y = clamp(camera.rotation.y, -(PI/4), PI/4)
@toxslix
@toxslix 7 ай бұрын
Thanks alot very useful video much love to ya mate
@BramwellWilliams
@BramwellWilliams 6 ай бұрын
Glad it helped!
@S.Johannesson
@S.Johannesson 10 ай бұрын
Thank you for this!
@RivenbladeS
@RivenbladeS 9 ай бұрын
why doesnt godot have buttons to instantiate cube plane culinder etc like unity and you have to set the mesh instance yourself?
@Mrtubb158
@Mrtubb158 Жыл бұрын
How do you get the star icon thing at 13:23
@MP-pv4eb
@MP-pv4eb Жыл бұрын
thanks for this tutorial! I found for me the camera was very twitchy. I'm not sure if there are better solutions for this, but this is what I ended up doing: var x_mov = event.relative.x / 1.7 var y_mov = event.relative.y / 1.7 neck.rotate_y(-x_mov * 0.01) camera.rotate_x(-y_mov * 0.01) you might be able to do it in-line (so, neck.rotate_y((event.relative.x / 1.7) * 0.01) for example), but the variables help my readability. Also, change 1.7 to whatever value is comfortable. Larger value will be slower, "smoother" motion.
@pommefrites
@pommefrites Жыл бұрын
Hey, kind of semi-related but this video helped me fix a long-standing issue with the stair catcher in my character controller being offset if my character starts the level rotated at all, which is fine if the player always starts in the same direction with 0,0,0 rotation, but not great if they do, which is most often the case. It has to do with the lines you highlighted around 17:17 and I used a very similar block to calculate the position of the stair catcher ray cast to swing around in the direction of player movement. I then just had to offset it vertically from the neck height to be near the floor and now it works perfectly no matter which direction the player starts in. Anyway, it had been bugging the hell out of me for a whiiiiile, so thanks for your help!
@EMDthe1
@EMDthe1 6 ай бұрын
Where should I add the jump animation
@Mineblox-33333
@Mineblox-33333 11 ай бұрын
Where do I put the deg_to_rad() at so then there will be no error?
@radugabrielbiclineru9610
@radugabrielbiclineru9610 8 ай бұрын
Why did you make an auxiliar node for the neck Yes, it is more ordered but couldn't you just make the nides child of the camera an do all the rotation for the camera The only reason i see using a neck node is becouse it's easier doing movement this way(you have succesfully separated the rotation axis)
@BramwellWilliams
@BramwellWilliams 6 ай бұрын
axis ordering issues can make rotating one node difficult, so I find it easier to only rotate a node on one axis at a time
@radugabrielbiclineru9610
@radugabrielbiclineru9610 6 ай бұрын
On my game i fixed it by adding a second neck node and hamdeling rotation for each one. Thanks any way. Very good tutorial
@Mrtubb158
@Mrtubb158 Жыл бұрын
7:44 i had a problem with being able to move because whenever i pressed the arrow keys it wouldnt do anything so idk what i did wrong Edit:I figured it out
@zoolanderbestmovie2
@zoolanderbestmovie2 Жыл бұрын
cool good job easy to learn continue the hard work
@sakoliketaco
@sakoliketaco 2 жыл бұрын
when I added velocity.y it says velocity has not been declared yet
@BramwellWilliams
@BramwellWilliams 2 жыл бұрын
As of Godot 4 velocity is a member variable of the CharacterBody3D is the script definitely extending that? -> Also the velocity should already be there as part of the template Godot created when you created the script which makes me suspicous something may have already gone awry
@Poshmurf83
@Poshmurf83 Жыл бұрын
Same please help.with the issue
@S4nrioKuromiLover
@S4nrioKuromiLover Жыл бұрын
for func input it doesnt say inputevent void? im on version 4.1
@olmrgreen1904
@olmrgreen1904 2 жыл бұрын
Awesome video!
@hectora.3220
@hectora.3220 10 ай бұрын
This is great. Short and usefull.
@matturner6890
@matturner6890 5 ай бұрын
Won't work :/ "Error at (17, 33): assignment is not allowed inside an expression" I have it copied perfectly, not sure what's wrong.
@JorgeRosa
@JorgeRosa 2 жыл бұрын
Very cool!
@badmusicproducer_offical
@badmusicproducer_offical 6 ай бұрын
HOW DO I MAKE THE CAMERA EVEN LESS FAST?
@trueblue97
@trueblue97 Жыл бұрын
This is all cool and good, but how do I make camera controls with the right stick on a controller instead of the mouse?
How I Fan 3D Cards in Godot 4
9:53
Bramwell
Рет қаралды 39 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Godot 4 / Blender - Third Person Character From Scratch
57:33
DevLogLogan
Рет қаралды 172 М.
How Games Make VFX (Demonstrated in Godot 4)
5:46
PlayWithFurcifer
Рет қаралды 367 М.
I Made My First Game in Godot in 3 Weeks...
26:21
Jack Sather
Рет қаралды 465 М.
Using Composition to Make More Scalable Games in Godot
10:13
Firebelley Games
Рет қаралды 253 М.
Tutorial: Stylized Grass in Godot 4
39:26
Bramwell
Рет қаралды 39 М.
Do THIS Before You Publish Your Godot Game
3:33
StayAtHomeDev
Рет қаралды 193 М.
Juiced Up First Person Character Controller Tutorial - Godot 3D FPS
10:47
How You Can Easily Make Your Code Simpler in Godot 4
6:59
Bitlytic
Рет қаралды 482 М.
Godot's Hidden Level/Map Editor
3:39
Garbaj
Рет қаралды 144 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН