So we’ve completed our programming objectives! Is there anything left to cover? The overview and list of sections is in this post.
Our controller is good, but its by no means perfect. There are a few little quirks that need to be ironed out:
Strafing not so smoothly
Something a little strange happens when we go from strafing left to quickly strafing right. The character appears to flip direction very quickly.
A potential fix for this would require looking at our animation blend spaces, which would require having some specific animations for strafing.
Fortunately there are some game examples available from the Unreal Marketplace which have some assets to pinch! The First Person shooter has some assets, such as a 2D blend space for motion, that could be re-purposed for our use.
Statically rotating
When we rotate, the character does not move. It statically rotates around on the yaw axis. Its a bit strange looking.
To fix this requires an animation update, and perhaps another boolean flag to indicate that we are rotating. We’d then feed this into the state machine that blends motion in our character, so it could perform some kind of motion while rotating.
Right and mouse click together
In some MMO games, if you click and hold both the right and left mouse buttons, your character will begin moving forwards for as long as you hold these buttons down.
This sounds easy to implement, right? Well, in that case, I’ll leave this as an “exercise for the reader”
Anything else?
If you’ve noticed anything else about the controller that is odd, or want to suggest an improvement, feel free to leave a comment! I’d love to hear about any improvements that could be made to this work, since I’ll be using it in games I make.