3rd Person Controller - Unity's New Input System

Поділитися
Вставка
  • Опубліковано 10 лип 2024
  • Using Unity's new input system, C# events, blend trees with animations, and Cinemachine create a basic 3rd person controller in Unity. Create basic movement, jumping, melee attack (animation only).
    Tutorial Files: github.com/onewheelstudio/Adv...
    Assets Used in the Video (Affiliate)
    ************************************
    Low Poly Megapolis: assetstore.unity.com/packages...
    Toony Tiny People: assetstore.unity.com/packages...
    Want to support the Channel?
    *******************************
    Shop the Unity Asset Store (affiliate): assetstore.unity.com/top-asse...
    Become A Channel Member: / @onewheelstudio
    Or a Patron: / onewheelstudio
    Grab a T-Shirt: onewheelstudio.com/merch/
    My video and streaming kit: kit.co/onewheelstudio/tutoria...
    Buy a Game Design Books: kit.co/onewheelstudio/game-de...
    Other Links
    ************
    Discord: discord.onewheelstudio.com
    Twitter: / onewheelstudio
    Devlog: onewheelstudio.com/
    Twitch: / onewheelstudio
    Timestamps
    *************
    0:00 Intro
    0:24 Scene Setup
    0:47 Input Action Asset
    4:14 Generating C# Code
    4:59 Creating 3rd Person Controller Code
    7:54 Jump Code
    11:55 Movement Code
    19:00 Character Object Setup
    23:20 Movement Animation
    26:33 Movement Animation Code
    28:45 Melee Attack Animation
    31:55 Melee Attack Code
    33:50 Cinemachine Camera
    37:40 Input System + Cinemachine
    39:07 Other Useful Settings
    39:58 THE END
    #unityinputsytem #GameDevelopment #Unity3D #indiedeveloper

КОМЕНТАРІ • 315

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

    Amazing video and helped me understand how the new input system works, but i'm having some issues with my player character constantly going up in the air. I can move around and turn but it seems like he is constantly jumping up into the sky. what could be the issue?

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

      At 16:31 there was an error with on-screen text pointing it out. The error does effect the jump. Could that be the issue?

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

      @@OneWheelStudio well, I saw it and already made the change but that still makes the character float upwards constantly. I even tried copy paste the one from your github, but it still has the issue.

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

      Is it possible you have gravity turned off on the rigidbody?

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

      @@OneWheelStudio nevermind, I found out what the issue was. the issue was that I had the capsule collider as a trigger. which for some reason made it the character go up into the air.

  • @centauriboy
    @centauriboy 2 роки тому +119

    For anyone using Unity version 2021.2.4f1 or higher, in order to select "Add 2D Vector Composite", you need to change the Action Type to "Value" and the Control Type to "Vector 2" in the Action Properties, then you can press the plus sign and it will be called "Add Up/Down/Left/Right Composite".

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

    I love this style of videos, keep up the great work! It feels like a one on one tutoring session and that makes walking through the codes and around Unity all that much easier! Thank you for making great videos!

  • @99darkprince
    @99darkprince Рік тому

    I have been watching a lot of Unity tutorial videos trying to get a better understanding of both the new Input System as well as being able to better understand Unity with creating my game and I have to say this has to be the most helpful and beginner friendly tutorial I have seen, and it really allowed me to better understand how to work with creating a character controller. Thank you so much for making this video it has helped me tremendously get better at making my own games!

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

    There's always, like ALWAYS something new to learn in your videos. Love your content. ❤

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

    This video is what I have been looking for for a week. Thanks a lot, great content !

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

    You are by far the best instructor I've ever seen, thanks for the hours you take to make and upload these videos, you make my life so much better after dealing with learning frustration as a noob in Unity. THANK YOU!

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

    I have been trying to wrap my head around this new input system and thanks to you, I think I about have a grasp on it. Thank you for your time and effort. Liked and subbed.

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

    Excellent tutorial! Thanks very much. I don't normally comment on many tutorials but felt I had to in this case. I really like your approach and feel that you've helped me take my understanding of Unity character controlling and physics to the next level. Cheers and keep up the great work. ;-)

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

    I appreciate you for putting this out. I've been stuck in a lot of weird/bad habits for making controllers, using animator and barely understand the input system and this made it all so much clearer for me, even without following along directly.

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

    Thank you so much! You helped me a lot. I'm new with Unity and C# but after this video I made big steps forward with my project and skills. One step at a time :) More videos like this and I would like to see long video where we could make full game from start to finish.

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

    Hi, thank you for this video, love the video style, keep up with the good work.

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

    Thank you! It was a pleasure to look at clean code.
    Subscribed.

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

    Thanks a lot for the video! Very informative and understandable.

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

    Awesome video about third person controller! Thanks!

  • @Hoglet.Interactive
    @Hoglet.Interactive 2 роки тому +1

    Another great tutorial from O.W.S. Cool!

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

    Excellent tutorial! thank you!

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

    This video helped me a lot. Thanks!

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

    Thank you for making this! I've tried so many character controllers and they all felt wrong. This is perfect for PS2 style or highly stylized games.

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

    Thank you for your clear explanation of why we normalize the camera look vectors. I finally understand.

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

    Cheers for this, great tutorial

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

    24:37 You can find the animation inside the objects. So click drop down for the object, fbx or whatever it is, and drag the animation from inside of it into the inspector. Great tutorial!

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

    THANK YOU , im a newbie and ive been trying to do this exact motion and movement for 3 days

  • @OneWheelStudio
    @OneWheelStudio  2 роки тому +41

    Do you like this style of video? Longer, less scripted, and admittedly less concise? Or would shorted scripted videos be more helpful?

    • @_Garm_
      @_Garm_ 2 роки тому +6

      i like this style :)

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

      this was a decent vid, but shorter scripted videos are definitely better IMO

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

      This is great! So far the best video I found showing how to implenment the new Input System, Cinemachine, Animation and putting it altogether.
      Instead of a series of videos in a long tutorial, I really dig this relatively short form.
      p.s. the timestamps are really helpful too, thank you.

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

      This type of videos where you can actually see the bigger picture and the architecture of making games, but at the same time you cover every component and technique that makes up that bigger picture. Big thanks!

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

      Great video! thank's a lot for your work ;)

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

    Very good video explained everything nicely

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

    great tutorial , thanks

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

    Nice video, you could probably use some comments on methods you create so that it is more understandable for future use

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

    You are a LIFE SAVER mate :D

  • @eddyrc7
    @eddyrc7 2 роки тому +8

    For anyone not finding creating "input actions", you need to install the input system from your package manager before the first step in this tutorial.

  • @mikelangford5964
    @mikelangford5964 6 місяців тому +1

    This was a good start. The code needs some modifications to handle any sort of hill or stairs, but not a bad intro.

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

    Best Player controller tutorial ever! no more spider web animators!

  • @aliceintini8900
    @aliceintini8900 Місяць тому

    This tutorial is amazing! Can I ask how to add an animation to the jump?

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

    Amazing video and helped me understand how the new input system works, and can u make tutorial how to make so that when i click control when player moves this player slows down and goes on walk animation

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

    Hey really liked this kind of style of video, very informative, learned a lot. But when you were explaining the movement physics was a bit confusing, maybe do a separate video where you explain this better ?

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

      That’s a fair critique! My day job is a physics teacher so easy to gloss over bits when I’m focused on the code. Was there something in particular about the physics that was unclear? Or all of it? 😛

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

      @@OneWheelStudio This video was was about unity new Input System and boy it delivered. I think it's more a request/suggestion than a critique :D yeah to me physics and math is unity is the bigger hurtle. I do understand them when I get explained, but figure this out by my self or where to start is what melts my brain. Cheers

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

      Totally get that. Always happy to try and answer questions - pop over to the OWS discord any time I can help.

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

    Hey @One Wheel Studio I dont know how to get when the mouse button down for example, could you help me, because I need set an animation for an action that need hold the button down

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

    Okay I fixed the missing thirdpersonactionsasset by RENAMING my inupt settings thingy, but I still don't know what to rename RIGIDBODY? I'm using a different unity asset character than yours called Insect4_Green. Do I rename that character to RIGIDBODY? It also has a sub thingy called Body_LP.

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

    Why do we only multiply the jump descent by Time.fixedDeltaTime isn't everything in FixedUpdate frame rate independent? Also, curious why you choose not to use a CharacterController?

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

    Really awesome tutorials, you made! 🙂
    Little question: How can i change / blend the animations for crouching / proning? im a bit struggling to get it 😞

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

      Thanks! ☺️ the blending is handled in the transition. Unity will usually do a good job for you but in the transition you can tweak the settings.

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

      @@OneWheelStudio Youre just awesome 🙂Ive found out how to implement other animations, my only problem is: if i change the maxSpeed it causes into slower animationspeed. 😞

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

    Great video. You should do the same for touch input for mobile devices.

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

    Great video, very helpful!!
    Is there a part 2 related to the zombies?
    (can't find it, lol)

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

      No there isn’t but if you check the links in the description you should be able to get the code used for them - it’s pretty basic though.

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

      @@OneWheelStudio thank you so much!!

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

    Amazing video, but when I press Space on my keyboard, the player does not jump. How can I fix it?

  • @daberechiukoha-kalu356
    @daberechiukoha-kalu356 2 роки тому +1

    THANK UUU

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

    This is very cool. Would you please do a tutorial to show how to combine melee animation with the third person from the starter assets? The code seems to be different. Thanks for this video! :)

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

      Have you found anything on this? Cause I'm struggling too

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

      No, not really. But I think you can combine Mixamo animations and the starter assets. So you could parent a sword to the hand? But I'm not sure about this.

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

      @@juliaalder2007 If you find anything on that then please tell here. And also in this tutorial when I press the W key , the player directly runs from idle when he should just walk. Can you tell how to fix it?

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

    Hey! Thank you for the video, it's been really helpful. How would you go about smoothing out the character rotation in this code? Look rotation is giving me very snappy results.

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

      I haven't played with that myself, but you could add a scaling processer to the binding. It will give you x and y values or 1, make that 0.5 and I'd guess your rotation will be slower and maybe smoother?

    • @Smokey-A
      @Smokey-A 2 роки тому +2

      Quaternion toRotate = Quaternion.LookRotation(direction, Vector3.up);
      this.rb.rotation = Quaternion.RotateTowards(rb.rotation, toRotate, 10f);

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

    How can I make my character run only when i am pressing the shift key? It always transitions into run animation just by pressing the W key...

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

    for me there is no mouse delta showing up, I tried pass through and vector2 also value and vector2, any ideas how to solve this?

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

    Hey,
    After watching some other videos on movement and rotation on a rigid body character this is probably the best and more to the point. Everything works good for me, the only question I have is ('cause i tried to research but couldn't find anywhere) around 14:20 where you copy paste the GetCameraForward function to the GetCameraRight and you replace the highlighted text from 'forward' to 'right' only in the highlighted text, how is that done? is there shortcut? i've tried Ctrl+F2 and other ways but I can't figure it out. Obviously no rush on this but I think for those like me that don't know would be a great help. Thanks again for this video.

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

      Glad the video was useful! To rename variables I generally use CTRL + R +R ( press R twice). I believe pressing F2 also works.

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

    Wait, doesn't the current melee code let player spam attack? Animation will play fine but if we were to put damage mechanic, player would be able to do damage several times during animation just by pressing attack constantly.

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

      Not exactly, but the solution shown also isn't pefect. As shown the player can press the button once and the animation will run and if they press the button again the trigger will get set and when the melee animation finishes it will immediately play again. To resolve this you could check the which animation is playing. You could also dive in to Animation State Behaviors which allow really good control/knowlege of the animation state.
      Check Animation: www.reddit.com/r/unity_tutorials/comments/owryhj/3rd_person_controller_new_input_system/
      Unity Animatin State Behavior: docs.unity3d.com/ScriptReference/StateMachineBehaviour.html

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

    I have a different question. If I wanted to use a 2d directional animator (for example to make the character able to strafe to the sides with animations) then how would I use that with the new input system?

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

      I'm not sure it's any different with the new input system. Maybe I'm wrong. So here's my first thought on the problem:
      You would need to separate out the side to side velocity and the forward/backward velocity - these would need to be relative to the camera's direction. You could look up "vector projections" to project the character velocity onto the camera's direction to get the velocity in the s/s or f/b direction.
      From there you could then send the magnitude (with sign) of each of those velocity to the animator as parameters.

  • @user-wo3ym4bj8e
    @user-wo3ym4bj8e 2 роки тому

    How would it be the solving for slope in 2/3D while having same code for movement as in your example ? After checking the normal of the ray how should I move the player and also let him jump ?

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

      I'm not sure exactly what you are trying to do. Might be an easier conversation on Discord? Feel free to come by the OWS discord (link in the description).

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

    Can you please make a video how this work's in with mobile input. Please.

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

    Hello sir, Can we make videos on 3rd person shooter with different type of gun using Animation rigging ?

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

    awesome video but you didn't show the look direction at mouse and controller right stick

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

    Excuse me, I want to know how to connect the gamepad for PC Building Game in Unity?

  • @angrypug9841
    @angrypug9841 Місяць тому +2

    The NEW way to set up the 2d Vector is as follows :(
    Click on Move
    Go to Binding Properties and select "Action Type: Value" then "Control Type: Vector 2"
    THEN you can right click Move and Add Up/Down/Left/Right Composite will show up.
    It will then add a 3d vector to your drop down for WASD.
    So stupid of them to switch that up

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

    Great video! Got one question how would you go up stairs and slopes?

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

      Slopes should be okay if you use a capsule collider. Stairs!?! That's another issue altogether. I couldn't tell you the best way to do that. I might fake it! Have it look like stairs, but keep it smooth.

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

      Stairs are a bit of a mess, I have played with several controllers and most of them seem to offset the collider to be on the top of the mesh having the bottom of the collider where the stair height should be. However, once you offset the collider, the mesh will fall into the ground, you will then need adjust the height of your character based on Raycast distances and then lerp your character's position to keep smooth movement. This works quite well for 90% of applications. Just have to keep in mind when moving the player on Platforms that the movement of the platform might occur after the Raycast of the player thus having the player fall up to the collider for a frame or two.

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

    can you make a video for a climb system?

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

    18:57 im big dumb and still have no idea why you square root the magnitude of the vector, anyone know where to find an explanation to this?

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

    I loke how in 3:22 you're correcting yourself when you said it right xD

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

      Ha! I go a bit cross eyed editing these long videos.

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

    whenever my player goes idle, the next time it moves the animation stays on the first frame. :(

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

    what does it mean this ?where can i get ThirdPersonActionsAsset ? Assets\Scripts\ThirdPersonController.cs(10,13): error CS0246: The type or namespace name 'ThirdPersonActionsAsset' could not be found (are you missing a using directive or an assembly reference?)

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

      That means it can't find the class/script in your project. Did you generate the C# class from your input action asset?
      If you have other errors that are preventing compilation that could be a problem too - if there aren't any other errors then don't worry about this.

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

    Hello, thanks for the video! I got through it but am having issues with gameplay where the camera is very choppy.... I think it is within the animator somewhere since I turned it off and then gameplay looked normal and not choppy/stuttering. any suggestions?

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

      I'm not really sure what that's about. I know a few other folks have commented about it, but never saw it on my end. It does seem weird that the animator would effect the camera. Might be worth playing with the camera target - the base object vs. the animated object?

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

      @@OneWheelStudio Turning on Interpolate on the Rigidbody fixed the issue for me :)

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

    Can you create a menu system with the new input system? Specifically with drop down menus and sliders using a game pad. There is like nothing out there showing how to do this.

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

      This is definitely on my list! Can’t promise if or when it’ll get done but it’s definitely on my list.

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

    Question - I have terrain that is uneven and when my character runs/walks across it hills, it remain in air and gravity isn't applied. Might the rigidbody mass be too low? Something I need to add in code?

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

      Oh, and gravity is already enabled on the rigidbody

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

      At 16:31 there is an error and on screen text to point it out. For lots of folks this has been the cause of jump issues. If that's not the issue you're more than welcome to jump over to the OWS discord server and we can try and figure out a solution.

  • @fongaming101
    @fongaming101 5 місяців тому +1

    I like

  • @Hassanali-jr4yb
    @Hassanali-jr4yb Рік тому

    First of all thanks for such an amazing content, But I am really confused as there are 4 ways to use with new input system
    like you said in your first video about new input system. As the best ways are only 2 through Messages or by using Unity Events. But in this video your not using Invoke Using Unity Events?

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

      My favorite method is to generate a C# class and using C# action/events. That's the approach that I've used here. It's a work flow I'm comfortable with - but at the end of the day use whatever method works best for you.

    • @Hassanali-jr4yb
      @Hassanali-jr4yb Рік тому +1

      @@OneWheelStudio thanks

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

    you cannot drag those animations because they have meshes included those are full animation files with mesh pieces included
    if you opened the animation that you said "I can't drag these into the animation slots" and you selected the animation file specifically then dragged it into the blend slot it would work.
    I had the same question I was like why can you not drag this into the blend state but that is because that is the entire mesh and not just the animation data

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

    Thanks a lot for that video.
    Any idea why I don't see that blue/rect rectangle on game view for the cinematic camera? May be a setting to activate?

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

      This deeply frustrated me too. It seemed inconsistent - i did finally figure it out but now I can’t remember what it was. Do make sure that you have gizmos enabled in the sceneview.

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

      @@OneWheelStudioYes all gizmos with a checkbox are enabled. But a lot of Cinemachine entries don't have a check box.

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

      I reply to myself, you need to have "aim" section expanded on CinemachineFreeLook !!

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

    Thank you for bit on Input System + Cinemachine, but I'm getting jittery movement with the camera now as compared with when I used Mouse X/Y

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

      Idk if youre still having this problem but using interpolate on the rigidbody fixed this issue for me

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

      Interpolate + continuous

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

    Thank you for such an impressive material and explanation! But I had a problem, even two, 1 this character just flies away although the collider and rigidbody are installed and configured exactly like you have, 2 moment is that the animations are not played and the character is in place in the idle pose. What could be the reason? These artifacts?

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

      Does this happen when jumping? There was an error in the code that I pointed out via on screen text. This has caused issues for other folks.

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

      As for the animation, sounds like the animation parameter is not getting set correctly? Are there any errors in the console?

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

    Cool vid. I like how well each function is explained. One question though, why not use a Quaternion.Slerp instead of Quaternion.LookRotation in the LookAt() function? LookRotation makes it feel too 2d and snappy when the character rotates. Slerp just adds that smooth feel and you can adjust the rotation speed in the command to a higher value if you want to get a faster rotation etc... The reason I ask, is because I notice a trend in these thirdperson controller tutorials when it comes to this approach. Am I overlooking something by using Slerp instead of LookRotation?

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

      I think the honest answer is that Slerp never made it into my toolbox so to speak. Probably the same for other content creators so we just don't think about it and go with what we've always used.

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

      Personally, I like the immediate change in direction, it feels more arcade-like. I'm interested in games like Chinatown Wars where the 2.5D characters were made with sprites, but I think there's a happy medium that can be struck with full 3D models, you just have to make things move more like a cartoon, fast "poses." If you want realism, use root motion and start with Unity Starter Asset Third Person Controller.

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

    this has exactly what i need! i just cant get the jump to work. Ive read through the comments to find a solution, and increasing the raycast distance doesnt fix it. ive tested it without the bool and it works fine, with my own animation! could there be something else im missing? I dont think you mentioned anything about tags or layers

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

      It’s possible there are some settings on the animation that aren’t correct. I usually have to just tinker until I find the right setting - it’s not something I do often. But maybe check the root motion. It’s possible the animation is trying to hold the character in place.

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

    cool )

  • @zwenkwiel816
    @zwenkwiel816 29 днів тому

    38:40 I thought I was having an aneurysm

  • @018FLP
    @018FLP 2 роки тому

    I'm commenting before following the video, but just by passing my eyes on it, it seens that this is the perfect tutorial for everything i planned to use, so thanks a lot in advance

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

      I hope it lives up to expectations 😉

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

      ​@@OneWheelStudio Yeah, there are a some tweaks to make (e.g., my move is 2d simple directional, with backwards and sideways specifics animations), but in general a very very solid tutorial, i learned a lot! =DD

  • @user-wo3ym4bj8e
    @user-wo3ym4bj8e 2 роки тому

    I would like to be able to move the char up and down and when having that, not moving on x. How should be the velocity scripted in that case ? ty

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

      Up and down as in along the y-axis? Rather than use a function like get camera forward you would want a function that returns the upward direction or just use (0,1,0). This would cause the y-input to apply a force along the up/down axis. You'll likely need to turn off gravity or account for it in some way.

    • @user-wo3ym4bj8e
      @user-wo3ym4bj8e 2 роки тому +1

      @@OneWheelStudio solved it like this: if up down pressed i put vector2.up or down as forcedirection || after this if else i do this if (verticalVelocity.sqrMagnitude > maxSpeed * maxSpeed) rb.velocity = verticalVelocity.normalized * maxSpeed * Time.fixedDeltaTime; /// hope this will help others :) cheers!

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

    One point to square roots calculation in general. This isn't slower anymore most compiler these day can do it in 1 cpu clock cycle. It cant get any faster then this. :)

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

    Can you please make a third person tutorial for bolt 🙂

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

    why do all these tutorials use cinemachine? What if I don't want to add some bloated camera library to my project?

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

      Then get out a pencil and paper and figure out the trig to do it yourself...

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

    Great tutorial, im habing some issues but is because me i dont understand at all your code!

  • @kylershahalami6453
    @kylershahalami6453 3 місяці тому +1

    I found out how to get the jump to work for me!
    I created a new private float at the top and named it "RayRange" and set it to 1.25f
    After that, I went down to the private bool IsGrounded() function and changed it to the following:
    private bool IsGrounded()
    {
    Vector3 direction = Vector3.down;
    Ray ray = new Ray(this.transform.position, transform.TransformDirection(direction * RayRange));
    if(Physics.Raycast(ray, out RaycastHit hit, RayRange))
    {
    return true;
    }
    else
    {
    Debug.Log("not grounded");
    return false;
    }
    }
    Hope this helps some folks!

  • @Magma-uw7yo
    @Magma-uw7yo 2 роки тому

    I ve got somme problems I want to fix, First, the cam go to right when I moove the mouse to the left and left for right, how can I fix that ? Secondly I want to block my camera to only the "front view" like fps with just one view behind him. When I turn, the camera turn too fast so we can't see where we watch

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

      The left/right issue can be fixed by inverting the controls or by adding a negative sign to the horizontal inputs.
      As for the second issue, sounds like you want a different aim algorithm - I made a video covering the basics of the aim options. ua-cam.com/video/E1s5HWQyyxg/v-deo.html

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

    How can I initiate Jump action? It doesnt do anything when I press spacebar. Also there seems to be a problem with the gravity script. My player doesn't fall down, it just moves in the same plane.

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

      The issue with the gravity is at 16:31. I made a mistake in the code and put an text based message on the screen pointing it out. I should have made it more obvious. Oops.

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

      @@OneWheelStudio I'm gonna check it today, thank you for pointing this out

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

    Quick question, is there a reason my character stays in the air when jumping or going off cliffs?

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

      Yes. There was an error in the code with a on screen notification - wasn’t super obvious. Can’t remember exactly where in the video (on mobile) but if you check the comments there should be solutions and time stamps.

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

      @@OneWheelStudio thanks will check it out!

  • @KotobaProject-KOTOBA
    @KotobaProject-KOTOBA Рік тому +1

    HEY! Thanks for the Tutorial!
    i had an issue with the character, one that made her fly as soon i started the game. It wasnt the code error in 16:32 and it wasn't a capsule collider issue, i find out that this is a problem with the Animator component... to fix this, just disable Apply Root Motion. Hope someone find this useful, thanks for the video

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

    I am looking to use the new input system to change weapon with the d-pad buttons. But everything I do don't work.

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

      Are the events getting invoked? Are any functions getting called?

  • @user-ee1jz5nl6c
    @user-ee1jz5nl6c 2 роки тому +1

    Thank you for video! Can you make video about Touch input for mobile divice?

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

      I have almost zero experience with mobile, but I do get a lot of requests. So maybe some day. Can't promise it'll happen soon.

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

      In the third person controller from the starter assets mobile is implemented.

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

    would this be the same for a character controller? would i just replace rigidbody with character controller?

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

      I honestly have explored the character controller much, but what’s shown in the video should be adaptable to the character controller component.

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

      @@OneWheelStudio I'll give it a shot

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

    I keep getting camera jitter as well as I'm completely frozen in y space. I don't go up or down.

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

      any resolution to this? my gameplay is really jittery and was thinking it has to do with the animator.

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

    my charecter will move but it will only move up or down even A and D make me go ,up and down
    and my jump does not work

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

      For the movement: Are you sure BOTH Vector3 GetCameraRight/Forward are set to .y?
      right.y = 0;
      forward.y = 0;

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

    How would you add a jump animation to this setup?

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

      There would be a lot of steps to do that! I would suggest researching "triggers" in the animator and "avatar masks." The trigger will let you transition to a new animation - you will need to add a jump animation. Then you can use an avatar mask to have the jump animation only apply to the legs - this allows the arms to still hold a weapon or what ever.

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

    How can I make my player jump, please reply!!

    • @OneWheelStudio
      @OneWheelStudio  8 місяців тому +1

      Sorry, been busy. Check the comments if you haven't. Lots of folks have had jumping issues, and I'd guess there's a good chance you issue is mentioned.

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

    Hi, congratulatión for your video, i Have a questión, I have an animatión of Jump, Where do i can write in the code the instruccion "_animplayerSetTrigger("Jump") ?

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

      greeting, ready I made it

    • @aliceintini8900
      @aliceintini8900 Місяць тому

      @@jmunozve Can you explain how you did that please?

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

    hi first of all really great video tutorial but I am having a issue the left and right movement do not seem to be working

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

      Are there any errors being thrown? Are the events for the left/right inputs getting invoked?

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

      @@OneWheelStudio WOW!, I didn't expect to get a reply on such a old video, turns out unity was just being unity and restarting the project fixed the issue thx

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

    Is it just me or does the video at 38:40 start doing a weird skip/stutter for the rest of that segment? (up to ~39:07 )

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

      Hmm. I don’t see it happening. I’d definitely be interested if others see seeing it too.

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

      @@OneWheelStudio it does.

  • @vj711
    @vj711 5 місяців тому +1

    I have this error.
    I have done everything as the video.
    No i didnt type the code in ondisable to onenable.
    Null reference exception: Object reference not set to an instance of an object ThirdPersonController.FixedUpdate()

    • @Seshua87
      @Seshua87 4 місяці тому +1

      NRE: Object ref is normally because something is not being linked together, go through your code, and your hierarchy and make sure you link everything that should be, i.e make sure your camera is linked. Small tip, it's really hard for someone to help you when we can't see your code, 98% of the time it's a typo. Try pasting your code into a reply message and someone might be able to spot the problem.

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

    plyer isnt facing in direction of input

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

    Hi it was a very usefull tutorial. But I have some problems I used codes exacly same but my character animation did not well it's acted very strange. And my character lookAt code works only when I use update if ı use fixedUpdate the code does not worked. Also same problem with animation codes

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

      Note : I fixed that issue if your character animation is wiggle too just select Animate Physics on Animator component.

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

    What is the point of the keyboard movement if you can't walk. If you play keyboard you will only be able to run. Where is the simple shift run?

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

      You would need to add that functionality. My first thought to do that would be to use the shift button to toggle the max speed. Shouldn't be too hard to add in.

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

    Thank you for your time. I have a problem. When I press play I can move in all directions and the animations work but when I press jump the character stays in the air.

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

      This happened to someone else who accidently added a "Character Controller" component. Any chance you did that?
      If not, something in one of the component is likely not set right. Feel free to jump over to the OWS discord - it's easier to help there. Add in some screenshots of the inspector for the player object.

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

      @@OneWheelStudio Thanks for the reply. I only added Rigidbody and CapsuleCollider like you did. Seems like there is no gravity as the chracter wont fall off a ledge either. Maybe I missed a part of the video that addressed this.

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

      Gravity should be turned on by default on the rigidbody. Check that.

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

      @@OneWheelStudio Yes "Use Gravity" on the Rigidbody is checked.

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

      Hmm. That’s weird. I would lift the character up so it would fall and start turning components off until you can figure out what is preventing it from falling.