Dev Update 03-Jan-2017
Long time no see! I started working on the player characters. After setting up a solid technical pipeline I did some modeling and rigging and successfully imported the first character into Unity:
Cpt. Runar “Rune” Sigmundsson
From there I worked on the animation system.
I didn’t want to break the currently quite fluid player movement, so I decided against animation driven moves but instead moving the player is driving the animation. This is also much simpler considering it needs to work in multiplayer. You usually just send transform data so you need to work with that anyways.
So the idea is that the players character is disconnected to the actual player object, observing the absolute position and rotation data and interpretes it in a way that feels not rigid but how a human would actually move along that input. The body and legs rotate according to the movement vector, while the upper body and head rotate towards the actual view vector. I also use a maximum twist constraint, which will decide whether the character needs to walk forwards or backwards to resolve the input transform.
The next step was to enable the character to wield weapons and get the aiming to work. This is actually not that easy, because you need to decide between two approaches: a) the more arcade like, turret type system where the weapon is always centered. You can see this in action in the Alien Swarm game. However I feel this works fine there because of the more cartoonish look of the game. But it would probably not look good here, so I went for b), which means you have the weapon on your side, with a significant offset to your body center. This unfortunatly means that players need to work harder to get their aiming right, however I think I could minimize that issue. Probably It’ll need some retouch later though. Anyways, see the system in action:
Good thing with the offset is the players will have more benefit when finding upgrades like laser pointers 😉
Thats it for now, I hope to show you more soon 🙂