How to Program in Unity: Third Person Movement Explained

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 81

  • @Luizfernando-dm2rf
    @Luizfernando-dm2rf 2 роки тому +34

    This is literally better than some paid courses classes.
    Your channel is amazing and I have to applaud what you're doing here, well fucking done Nicky 👏(sorry if I misspelled it)

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому +3

      Thank you for your kind words! I hope that it helps 🙌

    • @Brukrex
      @Brukrex 2 роки тому

      Better Some paid courses? Can you link them "better?

    • @gabrielmelo4541
      @gabrielmelo4541 Рік тому

      @@iHeartGameDev hello what is the name of the visual studio code theme you are using

  • @touchlight6751
    @touchlight6751 2 роки тому +13

    As someone who is working on a project finding this channel is the best thing happened to me this year

  • @vicetbeki3734
    @vicetbeki3734 6 місяців тому +2

    your content is amazing , i found what i was looking for there , from boolean animation to blend trees , retargetting , third person movement etc , everything is well explained , and the videos are not too long , respect and thank you

  • @greeng448
    @greeng448 2 роки тому +4

    Finally a third person tutorial. I have followed your animation tutorial and it when so well your code are very easy to understand. I will definitely watch this tutorial when it come out. Love from Vietnam 🇻🇳 .

  • @kruth6663
    @kruth6663 2 роки тому +1

    Right when I'm actually trying to do 3rd person movement for the first time, I see this video being posted. Strange.
    Thank you for making these amazing tutorials.

  • @iHeartGameDev
    @iHeartGameDev  2 роки тому +9

    Thank you all for checking out the new tutorial! I'm so excited to finally share a tutorial on how to set up a third person camera and third person movement that feel good to use. It took a minute to get here and I know that a lot of you were waiting for it, so it's awesome that it is finally out! Thank you all for the support! I hope this helps you all on your gamedev journeys and I can't wait to share more 💛
    Cheers!🍻
    -Nicky

    • @sarkariadmi4058
      @sarkariadmi4058 9 місяців тому

      Can you please take it to more advance level . Like combat states, combos, sword draw and out, wall run, climb etc

    • @sarkariadmi4058
      @sarkariadmi4058 9 місяців тому

      Please 🙁🙏

  • @patrick17_6
    @patrick17_6 2 роки тому +3

    Thanks for this, waiting now

  • @irispecquet7252
    @irispecquet7252 2 роки тому +1

    You are the best!! Thanks a lot. I am a third year student in game developpement and I discovered your channel today. You already help me a lot with my project. Awesome channel, thanks again.

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому

      Thank you Iris! Happy to have you in the discord now and an awesome new member of the community!

  • @OliverWendelin
    @OliverWendelin 2 роки тому +4

    These tutorials are really top notch and among the highest quality here on youtube! After finishing the movement and camera series - are you also planning on tackling more complex systems such as inventory systems, item setup (scriptable objets etc.)? it is really hard to find in-depth videos on this topic!

  • @matthewmathis62
    @matthewmathis62 2 роки тому +2

    Looking forward to it!

  • @weckar
    @weckar 2 роки тому +11

    I've been moving away from the buil-in CC mostly because it limits you to the capsule-shaped colliders - which in my opinion is often a deal-breaker later in development.
    Looking forward to see what you do with it!

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому +3

      Thanks Weckar! I think it makes sense to step away at some point too. Both the capsule shape and inability to rotate the collider can be tough to deal with. I'm not sure when it makes sense to do so though, so I'll probably leave it up to the community

    • @Morphexe
      @Morphexe 2 роки тому +2

      You should just Kinematic Character Controller, or RIval. They are the best Kinematic Controllers out there.

    • @castlecodersltd
      @castlecodersltd 2 роки тому

      @@iHeartGameDev how about creating a video on this - a hand rolled character controller which overcomes these issues, please?

    • @Kino4
      @Kino4 2 роки тому

      @@iHeartGameDev Give Scivolo CC a try, it's free.

  • @darkdoom907
    @darkdoom907 2 роки тому +3

    Fun story, I made this yesterday all by myself. (P.s. partial thanks to your videos)

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому +2

      Dark doom! Awesome to hear from you and great to see that you were able to get it working!!

  • @tigranavagyan1587
    @tigranavagyan1587 Рік тому

    Thank you Nicky, this is AMAZING explanation!!! 👍

  • @lanefaulhaber875
    @lanefaulhaber875 Рік тому

    Hey, thank you sooooo much for these videos! These have been super helpful to me as I've been beginning making my first game!

  • @lanefaulhaber875
    @lanefaulhaber875 Рік тому +1

    Do you think you could do a video about making backups for unity and the process of trial and error sometime? It probably wouldn't be as technical as these other videos, but I think it could be very insightful for the creative programming process.

  • @mezya7299
    @mezya7299 2 роки тому +1

    So informative, thanks a lot!

  • @ericelnomada
    @ericelnomada 2 роки тому +3

    please make the rigidbody 3dcharacter controller series

  • @ankitk18
    @ankitk18 2 роки тому +2

    thanks so much man

  • @JustSomeGameDev
    @JustSomeGameDev 2 роки тому +2

    bro i just made a third person cam with my own frecking code then i see this masterpiece 😭

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому

      You probably learned a lot! I hope that this is still helpful!

  • @BigodeIlustrado
    @BigodeIlustrado Рік тому

    Could you do a tutorial on an fps movement or how to reuse your series code for an fps?

  • @lanefaulhaber875
    @lanefaulhaber875 Рік тому

    These tutorials have really helped me! But I think there are some things I don't quite understand since making the state machine. Like, how do I know if I need to make a new root state? Also, how do I make new variables that can be read in the PlayerStateMachine class? Or should all variables be written in the PlayerStateMachine class, and then use getters and setters to access them in the other classes? Thanks!

  • @Krwatkins0002
    @Krwatkins0002 Рік тому

    Thank you for the wealth of knowledge on the subject. Really, this is a gem of a tutorial series. I know there are a lot of recommendations and you're probably already well on your way through your next one but I hope you can show how you'd handle something like sliding. Especially when you have stored momentum from moving, falling and possibly things knocking you around like enemies or explosions. I figured most of sliding out using ProjectOnPlane to get the angle and adjust the falling gravity however when I try and go down a slope at a certain angle the X for _appliedMovement is 0 or -1 because of the slope angle and I jitter at the edge of the slope. Hoping for a solution, it's got me stumped for too long now.

  • @omarenriqueduranavellaneda2938

    Que gran trabajo, gracias por estos videos.

  • @rajeshreddy240
    @rajeshreddy240 Рік тому

    Currently I want to Implement a crouch system but i dont knnow how to implement. In old input system we use
    If(Input.GetButtonDown)
    {
    Crouch = !Crouch;
    }
    and we can use this boolean to use crouch just by using only one button but now i cant find a way to implement like this in new input system.When I tried to implement the current state goes to crouch state only during holding the button but I need to switch to crouch state when I click the button and switch to another state from crouch state when i click the same button.

  • @obsidiantaken12
    @obsidiantaken12 5 місяців тому

    When I turned on the camera I got a error that said argument out of range must be non negative and less than the size of the collection how do I fix that

  • @ИванАрабаджийски

    Can you give some tips on 3d combat? Nobody has a tutorial online.

  • @fernandogomez9021
    @fernandogomez9021 2 роки тому +1

    It's just awesome

  • @tomdriver6733
    @tomdriver6733 Рік тому

    My Character is moving in a Circle around the Camera, when strafing to the left or right. What could be the Problem? I want it to move in a straight Line.

  • @kruth6663
    @kruth6663 2 роки тому +1

    Hi. I have a beginner's question. Instead of multiplying the x and z vectors separately, what if I use the camera's transform.forward vector3, clear its y value and normalize it, then multiply it with the input vector3? Would that work as well? If it works would there be any problem doing it this way?
    Your tutorials are awesome, thanks!

    • @orchard800
      @orchard800 Рік тому

      I was wondering this too.

    • @BlueAndy_
      @BlueAndy_ Рік тому

      Why dont you try it yourself, its worth a try

  • @clarkmeyer7211
    @clarkmeyer7211 2 роки тому

    cinemachine is also great because you don't have to create extra cameras. the virtual cameras concept is genius.

  • @KoenfuPanda
    @KoenfuPanda 2 роки тому +1

    Can’t wait for this one 🎉

  • @LostSol25
    @LostSol25 2 роки тому

    Really cool video! You should do a tutorial on procedural animation

  • @ethanharris8713
    @ethanharris8713 10 місяців тому

    I have no idea what's wrong with my character, but the model will only rotate with the camera sometimes and never past 90 degrees... Anyone know what's up?

  • @FioreFire
    @FioreFire Рік тому

    the camera space conversion could be reduced down to just a couple lines of code with TransformDirection()

  • @ultragamerpro6903
    @ultragamerpro6903 2 роки тому +4

    I know this is a tall order, but could you please make a version of your tutorial series for unreal engine? I have been looking everywhere for resources on creating Mario Odyssey style movement! If you don't have the time to dedicate to this task, could you at least point me towards resources to help me implement Odyssey style movement in unreal engine?

    • @matthewmathis62
      @matthewmathis62 2 роки тому +2

      What you're talking about is called a *3D Platformer*
      There is a tutorial for how to make one by *Astrum Sensei* The tutorial Playlist is in the Video Description:
      "Creating A 3D Platformer With Unreal Engine 4"
      /watch?v=Rl7xxQhp4q8

    • @caster-
      @caster- 2 роки тому

      I'd totally watch it too! These videos are a great resource

  • @Yamartim
    @Yamartim Рік тому

    Hey guys i've had an issue where the camera relative movement works perfectly in the editor but after building the game it becomes fixed again, did anyone else have this issue? I found nothing on it on the internet and spent the whole day on it with no clue what to do...

  • @TriteanRares
    @TriteanRares 2 роки тому

    Great Video!
    I followed it to implement the same for my prototype but there are some problems.
    I have very jittery camera movement on the Y axis (so when looking up/down), with both mouse and controller, while using the new input system with the CinemachineInputProvider. The cinemachine brain is set to SmartUpdate/FixedUpdate and my target is a rigidbody controlled using AddForce - Acceleeration in FixedUpdate(). I tried LateUpdate but then everything is jittery. It's been 3 weeks and have not solved it yet. Thoughts?

    • @ChapsJust
      @ChapsJust 4 місяці тому

      Did you find a fix ?

  • @acrostiic5623
    @acrostiic5623 Рік тому

    Every time I try to add the Cinemachine Free Look Cam, it always aims at my players feet and doesn't seem to work right. I do everything like in the video but I think maybe theres been an update to Unity because I cant get it to stop looking at the feet/bottom of my character.

    • @BlueAndy_
      @BlueAndy_ Рік тому

      In the Look At section you dont neccersairley need your whole player, i had the same problem and i just put in the body bone of my character. Worked fine

  • @ponrajp9296
    @ponrajp9296 2 роки тому +1

    lol working thanks

  • @aksiproduktifperadaban8574
    @aksiproduktifperadaban8574 2 роки тому +1

    all workеd

  • @atokosto
    @atokosto 2 роки тому

    Wow 😍

  • @anupamkumar4109
    @anupamkumar4109 2 роки тому

    Can you do mad max style combat system

  • @Lherme
    @Lherme Рік тому

    My character isn't rotating

  • @darkdoom907
    @darkdoom907 2 роки тому

    I started watching brooklyn nine nine and realised, I've seen Jake Peralta somewhere

  • @blinkachu5275
    @blinkachu5275 2 роки тому

    Sad to see that this is the last of the CC tutorials, as one of the most important aspects of a CC isn't tackled. Collision. Yes, the Unity CC has basic collision but not nearly good enough to tackle anything but flat surfaces.

    • @iHeartGameDev
      @iHeartGameDev  2 роки тому +1

      Latest != last -- There will definitely be more videos in this series!

    • @blinkachu5275
      @blinkachu5275 2 роки тому

      @@iHeartGameDev Ah, fair enough, my bad, read it wrong ^^;
      Hope to see slopes and other uneven surfaces handled in the future, as your videos are exceptional

  • @ssk360
    @ssk360 6 місяців тому

    am i the only one getting an orbiting issue with the camera?

  • @franciscooteiza
    @franciscooteiza Рік тому +2

    And now this is officially a dead channel.

  • @Massive-3D
    @Massive-3D 2 роки тому

    "Learn the code" I will NOT, no matter how simple and easy you make it!

    • @BlueAndy_
      @BlueAndy_ Рік тому

      You still look at a unity code vid bud... dont know what to tell you

  • @MrSkyAndrea
    @MrSkyAndrea Рік тому +1

    Just use this code to convert the world-space direction to a camera-space one.
    direction = Camera.main.transform.TransformDirection(direction);
    direction.y = 0f;

  • @molten3047
    @molten3047 Рік тому

    I keep getting this error everytime I click W A S or D :
    Look rotation viewing vector is zero
    UnityEngine.Quaternion:LookRotation (UnityEngine.Vector3)
    playerStateMachine:handleRotation () (at Assets/State Machine/playerStateMachine.cs:121)
    playerStateMachine:Update () (at Assets/State Machine/playerStateMachine.cs:159)

    • @adris4009
      @adris4009 Рік тому

      same, did you find the solution?

    • @SiroJin_
      @SiroJin_ 2 місяці тому

      if(positionToLookAt != Vector3.zero)
      {
      Quaternion targetRotation = Quaternion.LookRotation(positionToLookAt);
      transform.rotation = Quaternion.Slerp(currentRotation, targetRotation, _rotationFactorPerFrame * Time.deltaTime);
      }
      You can resolve this issue with exception handling.

  • @kailashhsu
    @kailashhsu Рік тому

    cameraForward.y = 0;
    cameraRight.y = 0;

    • @kailashhsu
      @kailashhsu Рік тому

      unity says this is not working