Home Unreal Engine

Smoother character movement for NPCs?

polycounter lvl 6
Offline / Send Message
BTDarmstad polycounter lvl 6
Greetings!

I'm working on a prototype for a stealth game, and I would like some help figuring out the character movement for NPCs. While the default character movement setup is perfectly functional, it's pretty rudimentary for the level of flow I would like to see. I'm an animator, and I want the character movement to complement the animations, not work against them.

https://www.youtube.com/watch?v=W-7b0hOA55s

This is what I have at this time, currently trying out navigations through doorways. Hopefully I will soon be able to add the actual door that it can open. The only things I did after recording this is turning on "smooth" rotation. I also set up a couple of twist animation additives in a blendspace so that the creature will twist when turning. Only, it looks unappealing when the nicely interpolated animation blendspace is combined with the default linear rotation of the actual character movement. 

I have been trying to affect the rotation rate so that it has more of a rubber band effect, both in and out of rotations towards a destination (which probably need different logic). Same goes for movement, but the rotation is more noticeable, so I started there.

This is more or less the kind of movement I would like to see:

https://www.youtube.com/watch?v=UOYxtmxYdJU


I can post more details later, bur for now, I would appreciate any tips on general fine tuning of NPC character movement using the character blueprint template.

Replies

  • Alex_J
    Options
    Online / Send Message
    Alex_J grand marshal polycounter
    you might be interested in that new motion matching  sample project

    but to do it the normal way, i'd make turn around animations for 90 and 180 degrees
    then in your blueprint, before you call for a new move-to event, check and see what the angle between current world rotation is and the next proposed location, and if its near 90 or 180 play that animation first, and bind to notify event to let you know when it is complete and start the actual move-to event then

    you can probably play it as a montage, then you can easily fire event from blend out or complete of the montage.

    to find the rotation difference i think you can just get current actor world rotatation and look at rotation for the next move-to location, and get the delta of the rotations
Sign In or Register to comment.