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=UOYxtmxYdJUI 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
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