- Home /
Root Motion or CharacterController in FPS
I want to make a Horror FPS game where the player can see their own body when they look down. I have two options here
Allow the animation to dictate movement - Root Motion
Move character and sync animation as best i can - CharacterController
My thoughts are to use Root Motion as I get a much cleaner walk (no sliding) and I'm able to make the player more immersed by making the animations more grounded. However, I haven't tried using root motion to move a player in a FPS style setting before.
our goal is to have clean and grounded movement, the ability to climb, jump, use a weapon. Also to use IK for controlling hands.
Character controller is just very easy to code with, but I think that trying to match the speed with the animations along with directions will be a pain.
Any thoughts?
Answer by theANMATOR2b · Mar 23, 2016 at 04:01 PM
A couple things to consider -
How much character movement will be done - where the player is looking down at the ground - to see if any movements are sliding or not 100% exact?
Will the player be performing A LOT of locomotion movement/actions while looking down where the feet can be seen?
Have you performed any research on similar games? The first one that comes to mind is Aliens Isolation - which had visible body FPS. I think there were some sliding in some of the rotate in place animations and some of the variable speed movements, but nothing that was completely terrible.
When you eventually start testing - consider including a couple in place animations that don't have locomotion to see how well the two setups control the legs with in place animations like side step, rotate L/R in place, and crouch.
Alternately look at this new asset on the asset store - Looks quite nice
Thanks for the reply @theANI$$anonymous$$ATOR2b
I cant imagine the player would be looking down a lot, unless they really liked the ground texture :)
The only game I could think that displayed a body is $$anonymous$$irrors edge. This game wouldn't be parkour based, just climbing up ledges, ladders, walking narrow beams, running with walking being the default. I'll have to install Alien:Isolation again as I didn't notice any issues with the animation as I was playing.
We currently have a very basic walk animation being played when we move using a charactercontroller as it stands, the walk animation is not synced with speed (or the other way round).
I also want to utilise I$$anonymous$$ to move the hands and have the head move in a realistic fashion with the camera, both of which I believe to be possible with either choice of movement.
If I go the CharacterController route, I would use RayCasts to map out the edges and plot a route when doing any kind of traversing over or up an obstacle.
going the Root motion route, while I still need to plot a point to move to, i don't need to worry about syncing up animations.
I guess for FPS I should lean towards using a charactercontroller and legacy animation system, but utilise the AnimationController for blending movement and dictating what animation should be played at what point.
good route?
As a non-coding artist - I rely on mecanim and root motion - and imo it's a better system for getting accurate/realistic results. Not to say that code can't be setup to be as accurate as you describe. Results will be based on the amount of time dedicated to setting up the system and time investment in $$anonymous$$utely fine tuning each animation for every possible scenario.
Show & tell in the forum when you decide on a system and start seeing results.
Your answer
Follow this Question
Related Questions
Keeping characters within Fighting area 1 Answer
When Root Motion anims reset character position, collision objects are ignored 1 Answer
Problem with CharacterController, Climb Animation, and Root Transform Position Y 1 Answer
How to respect colliders in Animations with Root Motion ? 1 Answer
Odd FPS controller bug 1 Answer