3rd Person / True First Person Locomotion system progress

Hey UE4 community,

Here is a quick video of a character locomotion system I’m working on.

Goals:

  • Create a system that looks realistic and works in many game types (3rd person / TFP)
  • Minimize as much foot sliding as possible without using root motion (Seamless blends from moving to idle)
  • Keep player in constant control (Capsule movement must be unaffected by animations)
  • Looks good at all times and in all conditions, as to prevent system from looking visually broken (collision with walls / input spam / transitions)
  • Use as few animations as possible as to decrease the animators workload

Features:

0:05 - Single pose leaning animation for turning (additive, blend based on characters rotation rate)
0:20 - To idle blending. Seamless blends from moving to idle. Blends between various idle poses and transitions seamlessly back to main idle pose. Even works while strafing to idle. (not shown)
0:30 - Input spam
0:35 - Slow movement. Idle pose blends on arms so they don’t move as much when walking slowly.
0:40 - True First person. Idle blends still look great!
0:55 - “Look at” movement state. Character will always look at camera direction and never rotate away from it. Backwards locomotion when input points away from camera direction (Same state used by TFP)
1:10 - Strafing. Optional to have character strafe when walking in the “Look At” state. (Backwards and Forward strafes to the sides)
1:30 - Wall collision. Character rotates in direction of velocity when jogging, so you cant keep running into a wall. Character will stay rotated toward Input direction while walking, and strafing animations will play based on characters direction.

Let me know what you think of it so far!

UPDATE:

Both “Get Up” animations working properly. This is fun :smiley:

Besides the camera looking a bit too shaky i really like how it looks so far specially in first person

Yeah the video processed wrong. Im reuploading it now.

This looks fantastic, out of curiosity, are you intending on releasing this on the marketplace at some point?

Well…no I don’t think so. Right now its still heavily a work in progress, and its not as easy as just releasing an animation pack, or a blueprint system. Instead its more of a method of how to go about doing stuff. And a lot of it really works! I think the “moving to idle” works very well in basically all situations, and many things can be adjusted. But nothing is really a secret. I have a few unique ways of doing things in the anim-bp as well as the rotation logic, but that’s it. Ive just tried to be smart as to how I make it. If there is something specific you would like to know how to do Id be glad to help! I can show off screenshots of my work If you’d like.

So to elaborate more, I’m essentially just developing a template of sorts…figuring out what works, and what doesn’t. Trying various methods of doing things, then analyzing them to see if they meet certain qualifications I’ve made and such. (also studying other games to see where things work and where they don’t :D) For example, I’m figuring out the best way to structure an Animgraph, so that is both flexible, adaptable, and most importantly, simple and foolproof, while still retaining visual quality. So in the end I can see what is needed to make it work, then I (or any animator) know where to plug in certain animations, and know how to structure those animations so they can work together. The same goes for the capsule movement logic. What works? What doesn’t? How can I make it foolproof? How can I make it work well with the Animgraph?

So yeah, that’s what I’m doing. It’s kinda hard to release a method of doing something on the marketplace…but I’m happy and open to sharing ideas and helping others

This look amazing. I would purchase this off the marketplace just to see your methods. The other option would be to do a tutorial series but It definitely depends on what you want. Exposure Vs. money. I also have no idea how much exposure or money you would get so take it with a grain of salt. The guys who released the “Advanced Dissolve FX” on the marketplace did a little of both. He released a tutorial to get a simple effect and then released a full fledged pack with everything already done.

Thanks! Haha as a college freshman, money sounds really nice…But I don’t know If I’m ready to release anything on the marketplace just yet. I would never release anything that isn’t completed or is misleading. Maybe if I can finish the blueprint and add more features, and also make my own keyframed animations for UE4’s standard skeleton template, then I’ll think about releasing it for the marketplace. But right now I’m very busy with college so progress is pretty slow.

This looks really well done so far. But as you are saying it still looks very wip and the video currently only covers a few basic elements. There is still a long way to go for you and I wouldnt even begin thinking about marketplace publishing.

What I like about this is that we have the same ideologies when it comes to control. Having a highly reactive movement component with direct user input (not going through rootMotion) while keeping character animations stable and smooth.
Currently im also in the process of developing a character controller with these parameters and its going quite well.

A few Ideas of things Ive done so far / or am planning to do next:

-Crouching movement state (while above a certain movement speed, hitting crouch makes the character slide under obstacles and get back up if speed is still above tolerance, if not, or if obstacle is still above character, go into crouch and lower speed)
-Prone (for crawling into very low roofed tunnels or when in some sort of sniper mode etc.)
-Jumping (behaves different depending on directional input and movement state, in normal movement its a regular jump, in crouch state its a roll, in single combat state its a dodge)
-Falling (different types of animation depending on the distance traveled or time passed during free fall and whether it was a controlled fall or unintentional - still not sure how to determine that fact)
-Climbing (theres lots of types of climbing, climbing over obstacles of various heights, free wall climbing, ledge climbing, ladder/rope/pole climbing) I havent done much here but its a very big topic.
-Proper interaction with walls and obstacles (going into cover when needed, playing some sort of hit animaiton when running into a wall, maybe even something like a parcour style wall run, jumping/sliding over obstacles when running towards them, such as car hoods etc. Removing arms from intersecting with walls using Ik systems on intersect)
-Turning in place (if you look around and go past a certain angle threshold the character should start to turn to be able to face the current camera aim)
-Unarmed combat (blocks, dodges, kicks, punches, damage intake anims, etc. etc. Here and with some of the climb I also planned to see if one can make an animCurve type thing that controls the capsule movement for short periods of time to have an exact match of the animations used when they are supposed to happen with some sort of positional transition)
-Misc. movement types for immersion/fun (walking stairs, balancing/walking on narrow surfaces, hindered walking when walking in water, sneak (could be crouch), drunk, damaged walk when with low live/injured, catwalk, strolling, etc. etc.)

Then we also have the entire world of movement with a weapon and everything around that:
Equip unequip weapons, Aim, Reload, Fire, Idles etc.

Those are just the ones I could think of right now, as you can see theres loads of things that can be covered.
Im planning to at least spend time checking out each of these and see how far I can take it. It would be cool if we could then share knowledge etc. I have a youtube channel where Im regularly posting random progress videos. Currently nothing that goes too in-depth into locomotion, but Im working on it. Ill definitely keep an eye on this thread and see where it goes.

Keep it flowing,

-S

Update: Ragdoll Blending

Both “Get Up” animations working properly. This is fun :smiley:

This looks great! Keep it up! :slight_smile:

Thanks!! Its a lot of work, and I still have a lot to learn.

Would you mind showing your steps to create the TFPS viewpoint? Is it possible to assign a key press allowing just the head to change its orientation and snapp to straight ahead when the key is released, and if so how would you do it?
Regards
Slinky