[Prototype] Everest - Character Control

Hey all,

A while back I saw @Ross working on a cool character controller. He pointed me to this excellent talk by David Rosen.

At last months CT meet-up @NickCuthbert gave a talk on the core elements of a third person char controller and some thoughts on how to structure one.

Both of the above inspired me to try create a character controller of my own with an aim to have a character that feels grounded in its environment and understand how to structure that in unity.

image

So I’ve spent time creating this: https://ashashza.itch.io/everest
It’s a demo that shows each step of the process and has a little area to play around in. This is more experiment than game but thought I’d share anyway.

Would love to hear your thoughts on what works well and what doesn’t feel good. Particularly around character control / feel and creating atmosphere.

If anyone is super interested, I’d be open to cleaning up the project to share code or discussing parts of this demo.

Comments

  • Dude this is great. Your camera controls are on point too. Getting a strong journey vibe from this.
    @NickCuthbert's talk was awesome. Super cool to see the active ragdoll integrated into something. I'd be keen to see the code!

    Id love to see some more dynamic keyframes/animation and maybe some IK for the feet? I also noticed the character controller doesn't really climb stairs so maybe that could be improved a bit. I think that talk also mentions adjusting the characters center of mass in a sinusoidal (or similar) fasion based on the footsteps to give the character some bounce to its run.

    Any plans to develop this further?
    Thanked by 1ashashza
  • edited
    Hey, glad you liked it.

    The camera controls are mostly taken from:
    Cinemachine makes this super-easy.

    You can grab the core class for the ragdoll tracking here. You'd attach RBMuscle to each joint in the ragdoll and set the target to the corresponding item on the animation rig. See PuppetMaster docs for the dual rig setup. My class is significantly simpler than what PMaster is doing but gets 95% of the way there.

    You mentioned animation/keyframes... right now the animation rig just uses poses. There are only 4 static poses! (walk, idle, slide, jump/in air). All the apparent motion comes from blending poses and having the ragdoll track towards the pose targets. One thing I'm really intrigued by is how little effort is required to get a surprising amount of motion. I'd like to see what's possible if a talented animator spent time with this. Good point on the sinusoidal motion, it's possible to do programatically but I figured it'd be better to leave that control to the animator, so it's possible to add any amount of bounce at any point in the animation.

    I'm not planning to take this any further right now, but will definitely use the controller in future prototypes.
    Thanked by 1Ross
  • There needs to be some smoothing or something so the character doesn't get stun-locked on geometry in the scene. A couple of times playing the "Behind the Scenes" I would get stuck on the edges of steps or corners of pillars. I feel like in other games the character would slide around them.
    Thanked by 1ashashza
  • Hey @Fengol, thanks for the input.

    I've noticed the same while watching others play, so will definitely improve this for the next iteration of the controller.
Sign In or Register to comment.