Pro tip: when importing models from blender, if you put -col at the end of the name of the models in blender, Godot will automatically add a collider for the model when you import it!
@echoless you make a object duplicate it name your last object but add a dash at the end then colony like this yourobjectname-colonly click on the colony hold shift click on the normal object select parent object make sure the normal object is the parent and the colony is the child open up the objects children then click on colonly hold shift then click on the object file, export, collada, selection only put it in your go godots blender file.
@Lukky You stand out from the crowd of RU-vidrs providing Godot tutorials because you explain the little things that most simply skip over, so you never know the reasons why things happen. Your tutorials, I dare say, educate those of us learning this game engine, in a way that we can take anything you show, and do what WE want to get done. I consider you among the top tier tutorial creators here. I'm looking forward to more videos from you in the future. Would you happen to post anything anywhere else on social media, such as Twitter? Would you happen to tinker around in Blender as well?
Thank you so much for the kind words 😊. Yes I'll post all my socials on me channel soon. ( Twitter is lukky_nl ). And yes I do use blender alot most of my games start as blender mockups actually :)
Jesus ... i tried for a week to achieve this by trying to merge like 7 different tutorials from different people and different engine versions. This is absolutely perfect. Thank you so much 🥳
Thanks for the tutorial! You can add a springcamera3d to camera-mount, move, and child the camera3d to the springcamera3d, adjust the spring length to match your camera3d, and now you have object collision detection, so the camera3d does not go thru the objects.
If you get the error "Can't change loop mode on animation embedded in another scene.", I fixed this from the Animation window with "Animation" -> "Manage Animations..." -> Click the save icon -> "Make Unique"
Hi. Where did you click to get the "manage animations"? I fiddled around a bit but couldn't find that. I made the mixamo_base a scene, and then edited in that scene, which appears to be working.
hey. More specifically at the top of the animation window, around the middle, hovering the mouse over it and "animation tools" comes up. Clicking on it, manage is between new and duplicate. I'm on 4.1.1 (if that affects anything. It's hard to tell sometimes.) @@owenlloyd2528
im so happy i found ur channel, u actually go through theses things in such nice detail, and i also love the slower tone of the videos. Thank u so much
I've watched a lot of videos recently trying to find a more updated tutorial mainly for changes in newer versions of Godot scripting etc, but have always found you to be the best at getting someone started!
Thx you very much, not only i have learned how to set up 3rd person camera ( which was point of watching this video at first ) but also how to add animations , running and transitions.👍
If anyone is having trouble with the camera controller around the 23:00 minute mark, where there character stops looking in the direction your camera is facing while moving. It may be because instead of visuals.look_at(position + direction) should actually be visuals.look_at(global_position + direction). For me the position command was outputting an increasing value no matter where I walked rather then referencing the global position. You can reverse engineer this issue by using the print_debug(position) line which then will print the variable on the screen when running the game. Good luck guys! also great video man!
This guide is really nice and in-depth. It is the first time I try to make a game in Godot and this really helps, thanks! I would like to see a guide expanding on this on how to add hitpoints and attacks and the logic behind it.
Thank you! This video moved me forward in my gamedev progress more than any of the tutorials I have watched on YT or paid for at other sources. Since I am an old man just entering gamedev at retirement (Dark Souls inspired gamer, sadly only discovering this art when Elden Ring was released), I have been trying to learn a lot of skills from drawing to coding, music, to modeling - so fun! I have not coded anything since my Fortran and Cobol days, (Pacal, C, Basic, etc...) and I sure wish there was a reference book for gdscript as opposed to the online documents, but my brain is finally starting to rewire for art and coding, despite my preferred learning method of books. With this little 3d controller tutorial I have been able to craft my real-world farm into godot with an adequate animated character model of myself. I decided that modeling my farm and working the farm with a 3d character would be a great way to learn gamedev fundamentals before venturing further. Oh, like a real fool, I modeled the terrain and building in Blender so that I could port them to both Ureal5 and godot to see which I prefer. Doing this made my head spin. I am sticking with godot for now, despite Unreal5 being much easier to set up the base farm and character, but I like coding, challenges and the small package of godot without the ridiculous delays and crashes of Unreal. Apologies for the long-winded comment but I am feeling more inspired and capable simply because of your excellent tutorial video.
Greta video. Thanks a lot. I'm gonna need this for remaking my unity game into Godot. Thanks! Didn't know Godot was SO MUCH SIMPLER than unity. Your explanation was on point. Thanks a lot!
Great tutorial! One addition that people might find useful is clamping the camera angle i.e. setting a max / min angle so you can't make the camera go upside down. At 16:00 add the following in line 20 (under the camera_mount.rotation.x): camera_mount.rotation.x = clamp(camera_mount.rotation.x, deg_to_rad(-90), deg_to_rad(45)) (If you want you can set variables for CLAMP_MAX (-90) and CLAMP_MIN (45) and tweak them til you get what you want.)
I stumbled across your videos by accident - fantastic! on RU-vid, everyone is yelling and chattering so much in their videos. Starting to watch your videos at first I experienced an unusual sensation in my ears - as if I suddenly teleporting from a loud, noisy metropolis to the mountains, to calming nature. Your videos are just some educational ASMR. And most importantly, useful knowledge as a result. Please keep going 🙏! It's great. Huge respect for your work, man! Thank you.
@Lukky, wow! This is one of the best tutorials I have found, especially related to Godot. Looking forward to the next ones! Anything related to 3d games is great :D *It would be awesome to see how you set up the jumping animation with this style. It can be quite confusing to new people how to add extra animations with different requirements.
Hello, I am a friend in China, I am a newcomer to Godit, and I love Godot Your videos are great too! Godot is also popular in China! Especially after 4.0, every one of your videos is great and special! Hope to continue to produce great videos!
I thuroughjly enjoyed this tutorial :D I would like to see other tips and tricks for setting up 3rd person controls such as removing walking / running animation loop while in jump. but this solves 99% of what most beginners have to setup first. Anyways, keep up the excellent work! will be subscribing RN
Long time ago, i played a 3rd person PS1 game called Army Men 3D. They were very proud to have made a 3D video game back then. They used over head for general movement, panning to a quasi-top-down like Metal Gear Solid in tight corridors, and over the sholder to solve camera clipping problems: by having the camera zoom ONTO the sholder like a parrot, rather than go true 1st person. This meant the head never blocked the camera even for just a single frame. In this case, it was a shooter, so putting the camera on the right sholder wasn't an issue cuz it was in line with the gun. For a melee fighting game, where you use your right and left in equal measure, this might be an issue.
Thanks for the tutorial. I have a problem with the character getting tilted when I start moving at like 45 degrees. It happened after I wrote "visuals.look_at(position + direction)". Edit: I found this in the comment section "visuals.rotation.y = lerp_angle(visuals.rotation.y,position.angle_to(position+direction),delta*rotation_speed)" wich is an alternative to the first line of code allowing for smooth rotation, it also fixed my initial problem. If anyone has the same problem use this instead, just declare a new "var rotation_speed = 10" at the top and it worked fine.
for those who don't know how to move all locally created mixamo animations just use the model and skeleton from one of those nodes and in the animation player nodes of the other scenes just copy and paste it to the animation player node of your preference (it has to be only one) entering manage animations there you paste it by touching the portfolios, if it doesn't even let you copy it you have to save the scene with (ctrl+s) there it lets you do that, I'll let you know don't know much because I spent a whole day looking for how to do that and in the end I discovered it para los que no sepan cómo se mueve todas las animaciones de mixamo creadas localmente solo tienen que usar el modelo y el esqueleto de uno de esos nodos y en los nodos de animation player de las demás escenas solo tienen que copiarlo y pegarlo al nodo animation player de su preferencia (tiene que ser uno solo) entrando en manage animations ahí lo pegan tocando en el portafolios, si no les deja ni copiarlo tienen que guardar la escena con (ctrl+s) ahí les deja hacer eso, les aviso a los que no sepan mucho porque estuve un día entero buscando como hacer eso y al final lo descubrí yo
*If you don't want the visuals to snap to the directions, add these two lines of code instead of the tutorial code:* In _INPUT() add: visuals.rotate_y(deg_to_rad(event.relative.x*PUTSENSITIVITYHERE #
@Lukky Thank you so much for this tutorial, it is a great addition to the community's array of learning resources. I have a special request, seeing you're aware of the Gears of War series - would you be willing to do a tutorial in Godot on how to create a Cover System similar to that seen in Gears?
This tutorial was exactly what I'm looking for, thanks for making it. Also, do you have any videos covering that shooter project you showed at the end?
I know, late comment, but I'd love to see a tutorial on how to add collision detection (hit/hurt box?) to the kick, so kicking a "target" would knock it back/over, and kicking a wall would maybe knock the player back or interrupt the animation.
There is a jitter/shake when colliding with the boxes. That's because the floor is too wide causing imprecision in the physics engine. We have to subdivide the floor in smaller pieces or use WordBoundaryShape instead.
Love ur content bro Just one question How do you fit all the animation in one base? I tried a lot but I can't do it (I can download all the animations seperately though) Again,love ur content❤❤❤
32:05 - To contribute a bit, instead of the if !animation_player.is_playing(): unlocking fix, I did an "await" coroutine on the kick function. It goes.... animation_play("kick") locked = true await get_tree().create_timer(1.5).timeout locked = false ....which, to me, seems a bit more un-glitchable (perhaps debate-ably compared to a dedicated timer and/or state machine but this way fulfills one thing at a time principles).
That was a great explanation! I did 3rd person controllers in a couple of engines and it was always a major pain, but this looks great! What would it look like if we combined this with animation trees, state machines and animation events?
Love your tutorials! Have also looked at and recreated the first person player you showed in another video. Now I want to combine them. Make it possible to switch between third and first person view with the same player by scrolling in and out with the scrollwheel on the mouse… How would that work I wonder. Simply have the camera change location relative to the player upon that scrolling action with a script? (Within a certain range ofcourse)