Jump to content
  • Advertisement
Sign in to follow this  
Samurai Jack

Unity 3rd Person Character Controller (horizontal axis: left, right)

This topic is 1127 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts



I have some issues with writing a character controller for a 3D game like Tomb Rider or Ninja Gaiden Sigma.

It is no matter for what language or system, my question is in general: what kind of motion animations do you

actually need?


The whole post is about camera based / relative movement. The camera might not be allways 100%

behind the player it might follow delayed like a spring or being fixed depending on the location.


The main problem is what should happen when the player engages left or right on the analog stick.


Some games start rotate on spot by 90 degrees. Unity interpolates this even further, if you are applying

forward force (vertical analog axis) and applying side force (horizontal analog axis) the animator component

will blend the turn left or right motion with the forward motion. Might this be a problem?


Why I am asking that: what about if you press 100% left on the analog stick, will the motion always be some

kind of ellipsoid or circular because of the blend? Theoretically, if you use forward force [0..1] where 0 is stand

and 1 is running and also the side force or axis angle [-1..1] where -1 is left and 1 is right it is possible, that

when you turn left once the character is facing left the 100% horizontal position of the left axis translates to

100% forward force which means running without rotation?


If you stick with that, why are there then: normal right rotation move and sharp right rotation moves?


This interpolation thing drives me crazy. The next thing is for example, what it the player just slightly presses

the horizontal axis the movement is very short and very jerky. How to avoid that?


And what about the player is facing straight forward and you press straight down the vertical analog axis.

The player should perform a 180 degree rotation like in Ninja Gaiden.


Has anyone some good resources? I have tried almost every controller on the Unity Asset store and sooner

or later you will run into a situation where the motion is jerky. Even the standard unity 3rd person controller

gets easily messed up when you try to perform either very minimal rotations or a 180 degree turn.


I also think, that modern 3D games like Tomb Rider, Ninja Gaiden or Devil May Cry don't always follow the

character instead it looks like every scene has some "hotspots" for the camera and when you reach a segment

the camera doesn't follow the player via translation or zoom instead it only rotates in order to keep the player

in center of the screen.


Feel free to post.


Thank you in advance!

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!