THIRD PERSON MOVEMENT in Unity

  Рет қаралды 1,458,636

Brackeys

Brackeys

Күн бұрын

Let's learn how to make a solid third person controller with a moving camera!
Jason no longer offers the course mentioned in the video.
👕Get the new Brackeys Hoodie: lineofcode.io/
● Third person controller asset: assetstore.unity.com/packages...
····················································································
❤️ Donate: www.paypal.com/donate/?hosted...
► Join Discord: / discord
● Website: brackeys.com/
● Twitter: / brackeystweet
● Instagram: / brackeysteam
········································­­·······································­·­····
► All content by Brackeys is 100% free. We believe that education should be available for everyone.
❤️ Donate: www.paypal.com/donate/?hosted...
········································­­·······································­·­····
♪ "ES_Dress Code_Black - oomiee" by Epidemic Sound

Пікірлер: 3 000
@michaelanderson2861
@michaelanderson2861 3 жыл бұрын
Bless your soul Brackeys! I miss you evey day
@rein556
@rein556 3 жыл бұрын
Gave us so much information to us without expecting anything from us
@melomaniakjm
@melomaniakjm 3 жыл бұрын
@@rein556 ahah good one
@rein556
@rein556 3 жыл бұрын
@@melomaniakjm no I am serious,He really gave us so many tutorials for free
@kartavyaseth6582
@kartavyaseth6582 3 жыл бұрын
He is not dead 🤣 he only quit youtube
@rein556
@rein556 3 жыл бұрын
@@kartavyaseth6582 lol 😂😂😂😂🤣😹🤣
@Morphinias
@Morphinias 4 жыл бұрын
I can already see my brand new unfinished project Edit: I did not expect a 1000+ likes. Wow!
@apainush9540
@apainush9540 4 жыл бұрын
That is exactily what i was thinking at
@iraklitulashvili2820
@iraklitulashvili2820 4 жыл бұрын
Yeah! Lol 😂😂
@dgameboss4963
@dgameboss4963 4 жыл бұрын
kzbin.info/www/bejne/j5ecl2ubeJJ9ms0 Hey there it's me again DGame_Boss and this time I took a challenge too make a complete Game in 24hrs and the game is a replica of a popular mobile game call ball blast... My apologies for spamming you this way... Enjoy the video and have a nice day. 😁
@Futureblur
@Futureblur 4 жыл бұрын
Underrated :)
@aludjahjerod8678
@aludjahjerod8678 4 жыл бұрын
100%😂😂
@Phoenix-0455
@Phoenix-0455 3 жыл бұрын
To lock the cursor, use the line 'Cursor.lockState = CursorLockMode.Locked;' in the start function.
@WZDRIP
@WZDRIP 3 жыл бұрын
thanks
@davidmaaschdeyck
@davidmaaschdeyck 3 жыл бұрын
Thats really helpful thank youuuu
@davidmaaschdeyck
@davidmaaschdeyck 3 жыл бұрын
@@WZDRIP And thank you for replying, otherwise i would've scrolled past this comment
@just-some-guy-without-a-mo9702
@just-some-guy-without-a-mo9702 3 жыл бұрын
I wouldn’t understand anyways, I don’t even have Visual Studio and don’t know how to open my Third Person Controller script on it...
@davidmaaschdeyck
@davidmaaschdeyck 3 жыл бұрын
@@just-some-guy-without-a-mo9702 😮😮😮
@SpaceflightRocketShorts
@SpaceflightRocketShorts 3 жыл бұрын
I was able to watch this video 14 times while waiting for Unity to load...
@SpaceflightRocketShorts
@SpaceflightRocketShorts 3 жыл бұрын
@@taj2163 good question I also made a comment for that and I never got a good response
@jacobation69
@jacobation69 3 жыл бұрын
so you were waiting 5 hours! i feel really bad...
@mainframehardtutorials8441
@mainframehardtutorials8441 3 жыл бұрын
2 gb ram lol
@ihatehandles
@ihatehandles 3 жыл бұрын
so sorry for your loss
@WZDRIP
@WZDRIP 3 жыл бұрын
(X) Same
@aaronkanaron
@aaronkanaron 3 жыл бұрын
If anyone is too lazy to write the code themselves, or just don't know how to do it; Here is my script which includes gravity, jumping, and everything shown in this video. You can also tweak it however fits your game :D (Press read more) using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Security.Cryptography; using System.Threading; using UnityEngine; public class ThirdPersonMovement : MonoBehaviour { public CharacterController controller; public Transform cam; public float speed = 6; public float gravity = -9.81f; public float jumpHeight = 3; Vector3 velocity; bool isGrounded; public Transform groundCheck; public float groundDistance = 0.4f; public LayerMask groundMask; float turnSmoothVelocity; public float turnSmoothTime = 0.1f; // Update is called once per frame void Update() { //jump isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask); if (isGrounded && velocity.y < 0) { velocity.y = -2f; } if (Input.GetButtonDown("Jump") && isGrounded) { velocity.y = Mathf.Sqrt(jumpHeight * -2 * gravity); } //gravity velocity.y += gravity * Time.deltaTime; controller.Move(velocity * Time.deltaTime); //walk float horizontal = Input.GetAxisRaw("Horizontal"); float vertical = Input.GetAxisRaw("Vertical"); Vector3 direction = new Vector3(horizontal, 0f, vertical).normalized; if(direction.magnitude >= 0.1f) { float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y; float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime); transform.rotation = Quaternion.Euler(0f, angle, 0f); Vector3 moveDir = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward; controller.Move(moveDir.normalized * speed * Time.deltaTime); } } }
@AndenPMS
@AndenPMS 3 жыл бұрын
God bless you, just tired of trying to learn C# for the past month lol
@nagybalint1474
@nagybalint1474 3 жыл бұрын
thx i accidentally deleted the wrong script
@nagybalint1474
@nagybalint1474 3 жыл бұрын
any idea how to trigger animations? I mean I tried to check velocity.x velocity.z but no and if I test if speed is 6 then it is so I need to have speed on 0 and if I hold a button it goes up to 6 or is there any better solution
@benjioffdsv
@benjioffdsv 3 жыл бұрын
Why do you keep System.collections, system.threading and system.security ? These are useless for the script.
@Themakingavid
@Themakingavid 3 жыл бұрын
Thank you, this was extremely helpful
@user-bk5tt8bx1i
@user-bk5tt8bx1i 2 жыл бұрын
Book Mark 2:06 Start (The course sounds great!) 4:38 Free Look Camera 17:37 Camera clip
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@TheSkeleton27
@TheSkeleton27 Жыл бұрын
Thanks mate
@joecraft9098
@joecraft9098 Жыл бұрын
69 likes... *Nice*
@masterbuildertristan2494
@masterbuildertristan2494 3 жыл бұрын
If any of you are using the High Definition template made by unity, and when testing game you may come along a message in the games window, try adding in the HD aditional camera data component.
@laurenwilkerson2435
@laurenwilkerson2435 3 жыл бұрын
Fyi in Unity 2019.4 "All Packages" has been Renamed to "Unity Registry"
@Zacari
@Zacari 3 жыл бұрын
Thank you.
@rensalazar
@rensalazar 3 жыл бұрын
Good to know. (no sarcasm) Thanks, sis!
@toniloncar1134
@toniloncar1134 3 жыл бұрын
god bless you
@dvtrixter6541
@dvtrixter6541 3 жыл бұрын
it dosnt work :(
@SpaceflightRocketShorts
@SpaceflightRocketShorts 3 жыл бұрын
Me: making a race car game Brackeys: *we can think of the character controller as the motor that drives the player* Me: perfect.
@flaze2275
@flaze2275 3 жыл бұрын
quality comment 👍
@WolfpackOne
@WolfpackOne 3 жыл бұрын
Use WheelColliders
@TheMerchant3773
@TheMerchant3773 3 жыл бұрын
perfect
@Cow_eater
@Cow_eater 2 жыл бұрын
Perfection
@Corbano
@Corbano 2 жыл бұрын
no
@Demon.Immortalis
@Demon.Immortalis 2 жыл бұрын
tip: if u dont want ur camera to move up and down(y-axis) go to y axis in cinemachine and set the speed to 0 :). hope it helps!
@bst-music6517
@bst-music6517 2 жыл бұрын
Kinda obvious but thanks anyways
@nikhilambavaram6006
@nikhilambavaram6006 Жыл бұрын
@@bst-music6517 Not rly. I'm a beginner and I really would've struggled around for a bit without this comment lmao.
@cupcakes4100
@cupcakes4100 Жыл бұрын
Thank youuuu I think I will need that
@FleetingDream755
@FleetingDream755 Жыл бұрын
@@bst-music6517 there's always one...
@ethanlittlejohn2536
@ethanlittlejohn2536 Жыл бұрын
The character won't turn with my camera, after I copied the top comment's code, can you help?
@robotman5105
@robotman5105 3 жыл бұрын
I'm extremely appreciative of the fact that he made the code with the intention of being open for customization instead of being specific and restrictive. Literally a perfect video for a basic third person controller.
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@howtoyes8988
@howtoyes8988 Жыл бұрын
@@akash_the_phenomenal942 Why did you reply to this comment a year later???
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
@@howtoyes8988 I thought when I normally comment on KZbin channel, only channel admin will get the notification and other devs will help me when see my comment, I replied in few of the comments such that they will be get notified and may help me regarding this .
@Kasuga-
@Kasuga- Жыл бұрын
@@akash_the_phenomenal942 did u put the player game object accordingly? 5:16
@ikey07ch
@ikey07ch 3 жыл бұрын
This was amazing tutorial, I really didnt wanted to use some 3rd person templates, as you never learn what exactly you have to do to achieve it, this was really helpful!
@Sylfa
@Sylfa 4 жыл бұрын
Please note, changing the camera near clip plane can really create a lot of Z fighting in the distance, or if you go to very extreme numbers, even in the middle distance. The reason is how floating points and the Z-buffer works, the Z-buffer stores the pixel depth as a number between 0 and 1, with a bias towards the numbers near the camera (it's non-linear, so 0.1 is not 10% through the distance between near and far clip, but much closer to the camera). And then ofc, the floating point can only store a certain amount of precision, you don't have infinite memory to write down all the decimal points after all. Practically this means that most of the Z-buffer is reserved for close to the camera, and by making the near value very small you basically make it so the difference between 100f and 101f is 0f, meaning objects far enough away will start occupying the same distance as far as the Z-buffer is considered. In general you want your near clip plane to be the highest you can tolerate in the game, and if you reduce it with an order of magnitude you *should* reduce the far clip with the same magnitude. So from 0.3 - 1000 to 0.03 - 100. Though I noticed now that Unity actually prevents you from going under 0.01 as near clip plane to avoid people setting it to 1e-10 and having everything just go wrong. Though you can set the far distance higher to see the effect partially, the near clip plane is more sensitive though due to the non-linear math being used.
@WuxiaNovelsAudiobookHD
@WuxiaNovelsAudiobookHD 4 жыл бұрын
I want to say thank you for making these videos! This quarantine made me realize I want to make my own game and your tutorials are my savior. If I end up really making it, I would tag you as my mentor!
@quoipi
@quoipi Жыл бұрын
For anyone looking for the Cinemachine dropdown menu, it is now accessed by right-clicking in the Hierarchy tab. If you do this and Cinemachine is not present down the bottom, try right-clicking inside your Project tab and clicking Reimport All.
@luigimich_
@luigimich_ Жыл бұрын
thanks man, really helped me out
@brodymortensen1004
@brodymortensen1004 Жыл бұрын
for me i found cinemachine in the GameObject tab
@quoipi
@quoipi Жыл бұрын
@@brodymortensen1004 That's because the GameObject tab is the same as the menu that appears when you right click in the Hierarchy tab.
@brodymortensen1004
@brodymortensen1004 Жыл бұрын
@@quoipi Oh my bad man! I'm still a little new too unity!
@quoipi
@quoipi Жыл бұрын
@@SamTheTourists That's because the GameObject tab is the same as the menu that appears when you right click in the Hierarchy tab.
@derekw8039
@derekw8039 3 жыл бұрын
I have spent a long time searching the internet for a way to smooth player rotation the way you do here! Thank you thank you THANK YOU!!!!
@lucasbonde2
@lucasbonde2 4 жыл бұрын
As always, so much quality in the videos! Never gets boring to learn from the Brackeys team!
@butlerfuqua
@butlerfuqua 3 жыл бұрын
This is fantastic! I don't think anyone has videos quite like yours. I love how you perfectly balance getting to the point and explaining what's going on. Please keep making videos like this!!!
@joe.editrz
@joe.editrz 3 жыл бұрын
id dunt work do...
@vedaantpatel8455
@vedaantpatel8455 2 жыл бұрын
This man is a god. Brackeys you are the one person whose Unity tutorials actually helped and now you have taught me so much that I referred back to this video to start making my very own video game. Thank you... :)
@TheHanskiH
@TheHanskiH 7 ай бұрын
This helped me a lot, i was struggling with movement and camera composition. But with your help, i manage to do the style i was looking for.... Thanks
@VerySus
@VerySus 4 жыл бұрын
My brain started hurting when he started saying things like Euler and Quaternion...
@Pxlarizar
@Pxlarizar 4 жыл бұрын
It’s just something y have to suffer through when your a dev
@PetersExcapades
@PetersExcapades 4 жыл бұрын
ill try to explain it simply, think of Quaternion as a Vector3 with an extra value, or Vector4 for example, the quaternion has x, y, z, and w, it is really hard for us humans to visualize the w rotation, so we have Euler angles, if u do Quaternion.Euler(new Vector3(0, 90, 0)); this will create a quaternion that will turn ur character 90 degrees to the right (all rotation is clockwise). Euler() takes a vector3, transform.rotation uses Euler angles
@PetersExcapades
@PetersExcapades 4 жыл бұрын
if u need more explanation let me know
@omergg4170
@omergg4170 4 жыл бұрын
yea me too
@omergg4170
@omergg4170 4 жыл бұрын
@@PetersExcapades Aaaaa... i don't think i understood anything
@baran9086
@baran9086 3 жыл бұрын
I can't say how thankful i am for this video. It really helped me a LOT. Thank you very much!!!
@nishantrishinair854
@nishantrishinair854 Жыл бұрын
! I was trying to make a third person camera system for my game but it wasn't really working. Despite the differences in setup, this worked for me without having to change much. Thanks for making this tutorial so flexible/customisable
@Futureblur
@Futureblur 4 жыл бұрын
I now know that I know nothing.
@tacomixen
@tacomixen 4 жыл бұрын
Finally Jon Snow.
@chocpix
@chocpix 4 жыл бұрын
I know what the best symbol is... [ ] The symbol of *brackeys*
@chocpix
@chocpix 4 жыл бұрын
Yet... I know nothing else...
@ariarichards-
@ariarichards- 4 жыл бұрын
Nice rhyme rap
@salihcanozdemir2112
@salihcanozdemir2112 4 жыл бұрын
play.google.com/store/apps/details?id=com.UrazSoftware.StickyBall
@ChaosCain4
@ChaosCain4 4 жыл бұрын
I'd already made something like this, but seeing it in such a nice package shows how much I have yet to learn. Thanks a lot for such an amazing video, so straightforward and clear
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@ChaosCain4
@ChaosCain4 Жыл бұрын
@@akash_the_phenomenal942 Been a while since I did much with this, I'm not sure what you mean. It could be that it's reading the movement of the mouse from the moment you press unity's play button and move down back into the screen. Maybe don't read the mouse inputs on the very first frame of the game if that helps. Besides that I'm not sure, sorry. I hope you find a solution.
@-RandomYoutuber--
@-RandomYoutuber-- 10 ай бұрын
the script wont let me add the character controller as a controller for it
@defifire9980
@defifire9980 2 жыл бұрын
This tutorial is the best i've seen for the movement. Congratulations man !! thx you so much
@kelseyprimar8290
@kelseyprimar8290 3 жыл бұрын
This was a great video! Very clear, concise and to the point! Thank you!
@puchinbold
@puchinbold 3 жыл бұрын
He always looks like he's about to start laughing
@dexah4842
@dexah4842 3 жыл бұрын
i imagine him just going "ccch-chhh" the whole video
@nazarya5547
@nazarya5547 3 жыл бұрын
İ don't think he looks like he will laugh he just looks happy.
@TheMerchant3773
@TheMerchant3773 3 жыл бұрын
@@nazarya5547 yeah
@andrewericliu3845
@andrewericliu3845 4 жыл бұрын
Me : Works for hours writing camera collision code. Cinemachine: Does it in two clicks. Me: 0_0
@Wodsobe
@Wodsobe 4 жыл бұрын
i can relate to this lol
@CristianCardosoMendesAntiMark
@CristianCardosoMendesAntiMark 4 жыл бұрын
i did my script in seven hours, with a bad smoothing, i am really sad
@TotatoC
@TotatoC 4 жыл бұрын
lmao same here
@rogerpatino3000
@rogerpatino3000 4 жыл бұрын
I have the opposite problem. Before I implement ANYTHING, I obsessively look up resources online for hours to see if it has already done and I can just use someone else's method.
@warlock1080
@warlock1080 4 жыл бұрын
It's literally what I was trying to get figured out the past couple days. then I look at this... Thank you!!
@thevengefulone2976
@thevengefulone2976 Жыл бұрын
So far these videos are giving me knowledge of how to build a base reference for a game that I know is going to take a while for me to make even with the help of my team currently still trying to put together 😂
@XxdeadloicxX
@XxdeadloicxX 2 жыл бұрын
Great video ! Just one thing, if you normalized your direction vector it'll be useless to check if its length is greater than 0.1 (if you do this to simulate a stick deadzone).
@dauf5093
@dauf5093 3 жыл бұрын
I don’t understand some parts of the code yet, but I am making progress over time and I can notice it. I’ve been practicing Unity for quite a time now and found out lots of essential stuff thanks to your tutorials. Keep up the great work.
@CloutClan4
@CloutClan4 3 жыл бұрын
Are you still game developing?
@erikaburahmanov5215
@erikaburahmanov5215 4 жыл бұрын
I am following for about 5 months and I am making huge progress with your tutorials. You are cool guys. If it is possible could you make a tutorial more about third-person control and more about importing 3D fbx models to unity
@tolafia6708
@tolafia6708 2 жыл бұрын
Where would i be without this channel...It's too useful for things i forget all the time
@sam2chill
@sam2chill 3 жыл бұрын
I’m glad to see people replying to people who need help, it shows how great a community Brackeys built sad to see him go
@fumble8228
@fumble8228 2 жыл бұрын
wdym? am i the only person who doesnt know
@sam2chill
@sam2chill 2 жыл бұрын
@@fumble8228 what bro
@ghettosupastar9285
@ghettosupastar9285 2 жыл бұрын
@@fumble8228 Brackeys has quitted making new video's about Game Development in Unity. though he also implied that he might make a comeback nothing is set in stone. he is taking a break
@gabefoster1737
@gabefoster1737 4 жыл бұрын
I don't even use unity but these videos are so entertaining, keep up the good work!
@edricko7
@edricko7 4 жыл бұрын
Just when I needed this, thanks Brackeys!!!
@blacky101011
@blacky101011 2 жыл бұрын
So powerful yet so simple! Many thanks!
@UniSolJeroen
@UniSolJeroen 3 жыл бұрын
I had been trying so hard to get my player movement to work right with my camera movement the past few days and couldn't figure out this last missing part, and then find this video and noticed how easy it is if only I had brushed up on my math some more. Also, cinemachine... I forgot it existed... **buries head in hands**
@JesusSkywalker92
@JesusSkywalker92 4 жыл бұрын
I've noticed that whenever you make a controller that uses a cylinder or capsule as the base, you make the scale 1.8 on the y axis (being 1.8 metres is the average height for a person) but the base height of cylinders and capsules is unity is 2 metres high on the y axis so by making is a scale of 1.8 you're essentially making a person that's 3.6 metres tall.
@peterkovac1406
@peterkovac1406 2 жыл бұрын
as long as you keep proportions its ok, like map scale
@caderade1742
@caderade1742 4 жыл бұрын
I've been banging my head looking for a good tutorial on this!!! Just in time, Tysm :D
@WhiteGemDev
@WhiteGemDev 9 ай бұрын
Too sad you stopped making videos here, I still watch your stuff on a regular basis. Thanks for creating!
@gameclips5734
@gameclips5734 3 жыл бұрын
I found there was a slight delay when releasing the directions and the player stopping, you can reduce the delay by increasing the gravity setting for Horizontal and Vertical in the Axes preferences in project settings.
@OmAr-ko5vi
@OmAr-ko5vi 3 жыл бұрын
wow! I AM SEARCHING FOR THIS FROM A LONG TIME AND EVERYONE HAVE HIS WAY AND THE MOST OF THIS WAY DOES NOT WORK BUT YOU DIT IT THANK YOU VERY MUCH
@loganjones5537
@loganjones5537 4 жыл бұрын
Perfect this is exactly what I'm working on!
@emmetmayer
@emmetmayer 4 жыл бұрын
Same, it's kinda creepy
@WarpedCyan
@WarpedCyan 4 жыл бұрын
@@emmetmayer Orr somebody suggest it
@parvayalar3686
@parvayalar3686 3 жыл бұрын
In the last part instead of creating movDir, use transform.forward. transform.forward points in the current forward direction of the Player Object. controller.Move(transform.forward * speed*Time.deltaTime);
@baharprogrammer2957
@baharprogrammer2957 Жыл бұрын
Thanks for your help today, your video is the best way to game development in unity
@KvnLeandro
@KvnLeandro 4 жыл бұрын
That was exactly what i need right now, i love this channel so much
@anotherperson3450
@anotherperson3450 3 жыл бұрын
It would be nice if this has a next part with animated character like running jumping and etc
@flint8182
@flint8182 3 жыл бұрын
i would recommend watching seabastian league
@rasuku7353
@rasuku7353 Жыл бұрын
Thanks!!!This video has what I was looking for!!
@caseyco21707
@caseyco21707 2 жыл бұрын
This worked for me, and the results are stunning. Thanks.
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@frankeeeej
@frankeeeej 4 жыл бұрын
For camera-relative inputs I always use this line in my playerController: " movInput = (Cam.transform.forward * Input.GetAxisRaw("Vertical")) + (Cam.transform.right * Input.GetAxisRaw("Horizontal")); " Which is just one line of code and therefore superior ;p Apart from that, this cinemachine setup is waaaay superior than anything I ever made by myself, so I shal copy this for future projects, haha
@thomasdaly7270
@thomasdaly7270 4 жыл бұрын
yea man I rate this
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@MagdaMuffin13
@MagdaMuffin13 4 жыл бұрын
You're really bringing me through my studies right now.... thank you so much!
@Pxlarizar
@Pxlarizar 4 жыл бұрын
Oh are you in comp sci
@BurakHerdem
@BurakHerdem Жыл бұрын
This tutorial was so good that I could feel the third person movement coming inside me whenever i played my game
@tyraresgame
@tyraresgame 3 жыл бұрын
You saved my life, my final project and my times....Thanks you very much
@zill4_
@zill4_ 4 жыл бұрын
How would this work if you want gravity? [edit]x2 Below is my code, the main difference is that I am using a rigid body and gravity. Also to note that his rotation is always 'smoothing' so it never comes to rest, which is why I just use the just the target angle. translation = Input.GetAxisRaw("Vertical"); straffe = Input.GetAxisRaw("Horizontal"); vSpeed -= gravity * Time.deltaTime; movement = new Vector3(straffe, 0f, translation).normalized; if (controller.isGrounded) { // Jumping, if we are on the ground, v goes back to 0. vSpeed = 0; if (Input.GetKeyDown("space")){ vSpeed = JumpForce; } } // movement rotation float targetAngle = Mathf.Atan2(movement.x, movement.z) * Mathf.Rad2Deg + cam.eulerAngles.y; transform.rotation = Quaternion.Euler(0f, targetAngle, 0f); // if vertical/horizontal are active isMove is True (1) else False (0) isMove = (( translation != 0 || straffe != 0) ? 1 : 0); // Direction for us to move given that motion is present (isMove) Vector3 moveDir = Quaternion.Euler(0f, targetAngle, 0f) * (Vector3.forward * isMove); // Gravity acting on us. moveDir.y = vSpeed; // Movement controller.Move(moveDir.normalized * Speed * Time.deltaTime);
@uv21
@uv21 3 жыл бұрын
what is cam.euler angles because unity says cam.euler angles out of context
@youtubestarter6664
@youtubestarter6664 3 жыл бұрын
@@uv21 I think he forgot to copy the line "public Transform cam;" at the top so you get an error cause unity doesn't knwo what cam is (ps sry for my bad english)
@nachiketmore9068
@nachiketmore9068 2 жыл бұрын
Could you send the entire code. I know its been a year but still I can use it..
@mateodemicheli2420
@mateodemicheli2420 2 жыл бұрын
@@nachiketmore9068 Same here bro pls
@rayanesaada5080
@rayanesaada5080 2 жыл бұрын
what is vSpeed?
@pietuuh2065
@pietuuh2065 4 жыл бұрын
Finally! I've been waiting for this.
@HansBuchser69
@HansBuchser69 4 жыл бұрын
Same. The last one broke cus unity updated
@GamicoMart
@GamicoMart 2 жыл бұрын
Amazing man amazing no one provide free knowledge like this its ridiculous.... I checked out 20 channels on you tube but no one is like you💥
@protpus1750
@protpus1750 3 жыл бұрын
amazing tutorial, i found what i need to learn. you won a subscriber, good video bro
@FaithBasedBiz
@FaithBasedBiz 3 жыл бұрын
I'm woking on a third person game with Legos, and this saved me from quitting, I'm serious, I was gonna stop making the game! TYSM, Brackeys! 😊
@YE55INE
@YE55INE 3 жыл бұрын
If anyone's having snappy movement when going from a direction to the opposite one just uncheck "snap" in project settings-axis
@chalie42
@chalie42 3 жыл бұрын
Thank you VERY much
@higorss
@higorss 3 жыл бұрын
where do i find ''project settings-axis'' ???
@subarunatsuki1902
@subarunatsuki1902 2 жыл бұрын
@@higorss Did you found it?
@higorss
@higorss 2 жыл бұрын
@@subarunatsuki1902 I don't remember sorry. I gave up on my game dev career
@subarunatsuki1902
@subarunatsuki1902 2 жыл бұрын
@@higorss No Problem, thx anyway :D
@mohammedalmughery7821
@mohammedalmughery7821 3 жыл бұрын
Thx ALOT brackeys I really appreciate the lessons u gave us
@justusedforstuff4391
@justusedforstuff4391 Жыл бұрын
awesome video thanks really helped me undrstand it and ive used this for my school project
@not_halls
@not_halls 3 жыл бұрын
Does someone know how I can change Ethan's script from standard assets to move where the camera is pointing?
@JelleVermandere
@JelleVermandere 4 жыл бұрын
Aah, the infamous cilinder-cube man, ready to boldly go where none have gone before!
@thekillerduck6977
@thekillerduck6977 4 жыл бұрын
Lol
@hypehextech4680
@hypehextech4680 4 жыл бұрын
yo Jelle! wassup
@JelleVermandere
@JelleVermandere 4 жыл бұрын
HypehexWorks #neverstoplearning
@hypehextech4680
@hypehextech4680 4 жыл бұрын
@@JelleVermandere xD nice
@dgameboss4963
@dgameboss4963 4 жыл бұрын
kzbin.info/www/bejne/j5ecl2ubeJJ9ms0 Hey there it's me again DGame_Boss and this time I took a challenge too make a complete Game in 24hrs and the game is a replica of a popular mobile game call ball blast... My apologies for spamming you this way... Enjoy the video and have a nice day. 😁
@nitrogaming7565
@nitrogaming7565 11 ай бұрын
Amazing tutorial really easy to understand love this and you❤❤❤
@samoldfield9997
@samoldfield9997 6 ай бұрын
thank you sir and your team. your works are the best
@666nevermore
@666nevermore 3 жыл бұрын
How do you convert those values into a rigid body? working with character controller is almost useless, you can't interact with most of things. I tried a couple of ways but it seems like RigidBody doesn't like that Vector3 moveDir for some reason
@mrbobo4614
@mrbobo4614 2 жыл бұрын
Here is the code with a jumping function & gravity using System.Collections; using System.Collections.Generic; using UnityEngine; public class ThirdPersonMovement : MonoBehaviour { public CharacterController controller; public Transform cam; public float speed = 6f; public float gravity = -9.81f; public float jumpHeight = 3f; public Transform groundCheck; public float groundDistance = 0.4f; public LayerMask groundMask; Vector3 velocity; bool isGrounded; public float turnSmoothTime = 0.1f; float turnSmoothVelocity; private void Start() { } // Update is called once per frame void Update() { isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask); if(isGrounded && velocity.y < 0) { velocity.y = -2f; } float horizontal = Input.GetAxisRaw("Horizontal"); float vertical = Input.GetAxisRaw("Vertical"); Vector3 direction = new Vector3(horizontal, 0f, vertical).normalized; velocity.y += gravity * Time.deltaTime; controller.Move(velocity * Time.deltaTime); if(Input.GetButtonDown("Jump") && isGrounded) { velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity); } if (direction.magnitude >= 0.1f) { float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y; float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime); transform.rotation = Quaternion.Euler(0f, angle, 0f); Vector3 moveDir = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward; controller.Move(moveDir.normalized * speed * Time.deltaTime); } } }
@runarholberg162
@runarholberg162 2 жыл бұрын
Thank you! Which button do i Jump with? nothing happens when I hit "space"
@Lua_computa
@Lua_computa 2 жыл бұрын
THANK YOU!!!! I just sorta rage quit trying to figure out a solution myself
@Lua_computa
@Lua_computa 2 жыл бұрын
Do you think you could put it in a pastebin link so people can just easily add it?
@dawaysss7987
@dawaysss7987 Жыл бұрын
sad thing is its flappy bird u can spam space :skull:
@akash_the_phenomenal942
@akash_the_phenomenal942 Жыл бұрын
When I hit Play , camera snaps to different position,(in front upward of the player) (It is working fine after that ,when I move mouse it moves the camera accordingly , but snap at starting the game is weird) (I have tried locking the cursor in start , but still snap problem exist) Why is this Happening , Please Help...
@kzysz3904
@kzysz3904 3 жыл бұрын
I was fighting with camera and player movement for a few weeks... After 20 minutes of this video this is better than everything that I got....
@DistorsionMentalBuzz
@DistorsionMentalBuzz 2 жыл бұрын
I was so excited with what i had learned so far, i only wanted to know how to rotate a character's direction. after watching this i feel so overwhelmed. :( that's awesome btw
@puruarora3584
@puruarora3584 4 жыл бұрын
Finally ❤❤ Pls pls also make a video on humanoid movements...i am tired of using ethan🌚🌚
@davegamedevelopment
@davegamedevelopment 4 жыл бұрын
Haha love the intro! Thanks a lot for the tutorial! :D
@novarl4115
@novarl4115 2 жыл бұрын
i love how this dude isnt even making content anymore and his stuff is still the first thing to show up when i search literally anything unity related
@linesthatmove
@linesthatmove 3 жыл бұрын
This was such a great tutorial!!!
@jealouscase3634
@jealouscase3634 4 жыл бұрын
Hey Brackeys, if you have not already, do you think you could make a video covering voxel animation? I know there are already tutorials out on this subject, but I'm sure your explanation would be the most straightforward and beneficial. If you see this, thanks!
@iangraham6730
@iangraham6730 4 жыл бұрын
Jason is top class, have been following him for a long time, well worth a sub!
@halimebeyzacicek8440
@halimebeyzacicek8440 2 жыл бұрын
so useful and clear. i loved
@user-chuquangvuong
@user-chuquangvuong 5 ай бұрын
How you provide the information is so interesting and easy to understand man, you got one subscribe !
@timurradman3999
@timurradman3999 5 ай бұрын
Lol he quit ages ago
@Hoptronics
@Hoptronics Ай бұрын
​@@timurradman3999but did he really??
@georgeorwell4891
@georgeorwell4891 4 жыл бұрын
I swear, this guy is a psychic.
@veczz2509
@veczz2509 4 жыл бұрын
Tell me about it lol
@PotatoTheProgrammer
@PotatoTheProgrammer 3 жыл бұрын
when i move the view in scene view its sensitivity goes to a very high number, and the camera moves very fast
@cohenlockwood6066
@cohenlockwood6066 3 жыл бұрын
change the speed of the y axis or x axis depending on which axis you want to slow down
@pol3824
@pol3824 2 жыл бұрын
Once again amazing tutorial!
@a_carotyt8589
@a_carotyt8589 2 жыл бұрын
Wish you still posted. this helped SO MUCH!
@furkanpoyraz8008
@furkanpoyraz8008 4 жыл бұрын
Awesome video! Would've been even better with the new input system, since v1 is officially out it might be worth checking out.
@l2hetoric
@l2hetoric 3 жыл бұрын
Takes a bit of tweaking but works well with the new input system. Just haven't figured out how to manage the movement angle in relation to the camera using the new input yet
@MAxAMILLIoN757
@MAxAMILLIoN757 2 жыл бұрын
@@l2hetoric Please reply here with the code if you figure it out
@Drag-kv6rr
@Drag-kv6rr 3 жыл бұрын
Ok i'm whatching these video rn and I wanted to tell you : "WoW" I'm in high school but I've seen that the real programming is soooo different, I admit that I'm having a lot of difficulties and the temptation of giving it away and just copy the code is really big but actually I'm here to learn not to copy so thank you for your explainations, I really appreciate how you make it look so simple, it is very motivational, God bless you!
@insanityyyy
@insanityyyy 2 жыл бұрын
dont stop urself from copy and pasting , i learnt c# by copy and pasting different things i wanted together into one script , it helped me understand it alot more
@sir.niklas2090
@sir.niklas2090 Жыл бұрын
Thanks for the tutorial!
@user-dw8lv6sy2y
@user-dw8lv6sy2y 3 жыл бұрын
3인칭으로 프로그램을 만들게 될 것 인가 아니면 1인칭으로 프로그램을 만들게 될 것 인가는 큰 고민 중 하나였습니다. 이런식으로 각각의 장단점에 대해서 자세히 설명해주시고 특징들을 잘 짚어내어 주셔서 선택을 하는데에 큰 도움이 되었습니다.
@Alphzs
@Alphzs 3 жыл бұрын
Everything works great... just in Unity editor, but after build - "Mouse look" is not working.
@camabel7539
@camabel7539 3 жыл бұрын
Yeah
@victorseba6410
@victorseba6410 3 жыл бұрын
me be caveman. me dont speak english
@BamassacreGaming
@BamassacreGaming 3 жыл бұрын
Me coming into life always wanting to code games. Me hearing Quaternion.Euler and looking back at my code and getting a migraine
@matteocarlascio8531
@matteocarlascio8531 3 жыл бұрын
Love u man!! It really helped me out!!
@devinjackson6437
@devinjackson6437 2 жыл бұрын
Trying to create a 3D beat em up and this really helped crystallize the concepts. Mine doesn't work as well as yours lol but damn this really did help
@noahbeep3426
@noahbeep3426 4 жыл бұрын
Why is my mouse inverted in cinemachine camera Edit: I figured it out lol, it's in the Third Person Camera settings, just tick the box next to inverted if you have the same issue
@Abldishabsmaj26193
@Abldishabsmaj26193 4 жыл бұрын
wait... how do change that?
@stef9019
@stef9019 4 жыл бұрын
@@Abldishabsmaj26193 Click on your Third Person Camera. In the "X Axis" tab, behind the "Input Axis Value" field, there's a "Invert" tickbox, make sure it's not ticked on.
@samysabi1166
@samysabi1166 4 жыл бұрын
THANKS, I BEGUN TO THINK OF JUMPING OF THE WINDOW FOR THAT
@cupcake-gameclip5129
@cupcake-gameclip5129 3 жыл бұрын
any idea why the character dont move at relative axis? regardless of where my mouse pointing, it seems to move WASD with respect to global x,y,z
@Pendragondnd
@Pendragondnd 3 жыл бұрын
Thanks for the Edit!
@danielmazzara7814
@danielmazzara7814 4 жыл бұрын
This is the entire code. I´m using the 2019.3.0f5 version of unity. This code have UnityEngine.Vector3 cuz that solved me a problem. (this script is without the jumping part) using System.Collections; using System.Collections.Generic; using System.Numerics; using UnityEngine; public class ThirdPersonMovementScript : MonoBehaviour { public CharacterController controller; public Transform cam; public float speed = 6f; public float turnSmoothTime = 0.1f; float turnSmoothVelocity; // Update is called once per frame void Update() { float horizontal = Input.GetAxisRaw("Horizontal"); float vertical = Input.GetAxisRaw("Vertical"); UnityEngine.Vector3 direction = new UnityEngine.Vector3(horizontal, 0f, vertical).normalized; if (direction.magnitude >= 0.1f) { float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y; float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime); transform.rotation = UnityEngine.Quaternion.Euler(0f, angle, 0f); UnityEngine.Vector3 moveDir = UnityEngine.Quaternion.Euler(0f, targetAngle, 0f) * UnityEngine.Vector3.forward; controller.Move(moveDir.normalized * speed * Time.deltaTime); } } }
@balint_hun4260
@balint_hun4260 4 жыл бұрын
Thx for the code dude, i had some problem with mine as well so now i don't have to rewatch step by step
@mrbob4104
@mrbob4104 4 жыл бұрын
thank you alot
@mrbob4104
@mrbob4104 4 жыл бұрын
I had a problem cause I wrote Mathf.SmoothDamp instead of writing Mathf.SmoothDampAngle
@einwenigtot5448
@einwenigtot5448 4 жыл бұрын
@Jovan Did you bind your camera to the "cam" variable and your CharacterController to the "controller" variable?
@nelson5953
@nelson5953 3 жыл бұрын
When i copied and pasted it, most of the code that's supposed to be colored is white. Anyone know how to fix this?
@rjua1
@rjua1 3 жыл бұрын
Soooo hopeful. Thank you very much!!!
@FrancybelloCoding
@FrancybelloCoding 3 жыл бұрын
awesome video !! thank you so much! 😀
@soceity7102
@soceity7102 4 жыл бұрын
Sees this video after 1 month of working on third person movement Me: internal screeching
@samysabi1166
@samysabi1166 4 жыл бұрын
same
@Cheepe1000
@Cheepe1000 3 жыл бұрын
same, worst part tried using Cinemachine and Character Controller and couldn't get the handle of it...
@s7887177
@s7887177 3 жыл бұрын
same here.
@davestomper3428
@davestomper3428 3 жыл бұрын
I cant get it working either
@monkeyrobotsinc.9875
@monkeyrobotsinc.9875 3 жыл бұрын
wow, only one month? lucky you.
@flannagus4787
@flannagus4787 3 жыл бұрын
yes yes it worked! now im feeling a surge of dopamine, thats sure to stop after some time, thanks!
@potatojellyjake554
@potatojellyjake554 3 жыл бұрын
Thank you so much I just started unity
@user-qw1xt7ow6d
@user-qw1xt7ow6d 2 жыл бұрын
thank you. little bit complicated about smooth moving, but it works :)
@cq5857
@cq5857 3 жыл бұрын
NOTE: Cinemachine menu has moved to GameObject -> Cinemachine
@siddhantrahulpatil
@siddhantrahulpatil 3 жыл бұрын
thanks
@dr.kamranhabeeb9969
@dr.kamranhabeeb9969 3 жыл бұрын
Thanks a LOT
@rybadesign
@rybadesign 3 жыл бұрын
Thanks
FIRST PERSON MOVEMENT in Unity - FPS Controller
23:53
Brackeys
Рет қаралды 3,2 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 24 МЛН
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,4 МЛН
La final estuvo difícil
00:34
Juan De Dios Pantoja
Рет қаралды 27 МЛН
Google's NEW AI Algorithm: INTERNET JUST CHANGE FOREVER
12:02
The Future of Game Development
8:58
Brackeys
Рет қаралды 1,1 МЛН
THIRD PERSON MOVEMENT in 11 MINUTES - Unity Tutorial
11:07
Dave / GameDevelopment
Рет қаралды 240 М.
How to program in Godot - GDScript Tutorial
58:10
Brackeys
Рет қаралды 275 М.
#1 FPS Movement: Let's Make a First Person Game in Unity!
21:38
Natty GameDev
Рет қаралды 830 М.
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 24 МЛН