Hi Mark!
Thanks for the kind words! I haven't really solved this yet, but your input is very much appriciated as I am not sure how i want the controls to be yet. I want them to feel good, and my first thought was to make it like a twin-stick shooter (the problem is indeed finding a good control scheme for mouse and keyboard). I have considered the problems that would occur with animations the way it is now, but changing it so W walks forward in relation to where the character is looking would feel very weird. Snapping the camera as a sort of 3rd person view isn't really something i would love to do, as it would take away from the top-down feel of the game, and I am not sure how you would control the character's rotation with the mouse then. (edit: I guess that could work, actually. Still use top-down view but parent the camera to the character model, and when moving the mouse left and right it would simply rotate the character controller? hmm, interesting, I will try making this and will update with a build to see if it feels better
The idea of having the character face the way you are walking with WASD except when shooting sounds like it could be a great way to do it, except that the rotation would snap as you mentioned when beginning to shoot =/ I am still twisting my brain to try and come up with a system that could make it work without the current top-down twin-stick feel being removed or diminished.
IF i was to keep the current control scheme, What i think could potentially work is if i put box colliders on the movement portion of the character (invisible GO that always faces same way as the camera, this is what has the WASD movements, and the character model is a child of it) one box on each side of it, and I could then raycast forward or backwards or whatever direction from the character model, and detect which box I am hitting and thereby know which way the character is facing compared to the WASD movement, and use that to play the correct animation depending on which way i am moving.
I havent delved too deep into that, was just an idea I had.
If you have any suggestions for a solution, or for another control scheme that could work, please let me know
(I had planned on adding controller support, so it would have to work similarly to a controller-operated twin-stick shooter where left stick controls movement according to camera angle, and right stick controls rotation)
thanks again!
-Koz