Introducing Mechscale VRIntroducing Mechscale VR
October 05, 2016
{% import 'macros.html' as m %}
Update: What happened to this? Basically I got the mech movement and controls working, and it was fun! But I realized I didn't have enough resources to make all the artwork and environments it needed, or the time (and skill) to do it myself. It might come back if I can figure out how to rescope it into a smaller project, but for now it's shelved.
I'm pleased to announce a new game I'm working on for the HTC Vive called MechScale!
I'm going to try and post frequent-ish updates in dev blog form, here's the first update:
Here a little info about how the mech is rigged. Right now if you watch the video you're seeing the rig itself, but this will be replaced by a proper mech model.
{{ m.blog_img('/images/mechrig.jpg',size=800,alt='Mech Rig Info') }}
The head and hands are driven directly from the Vive Controllers. The position of the body and the pelvis are estimated from that. I wrote a simple Two-Joint IK solver for unity that solves the elbow angles and knees (based on the hand and foot positions).
Then, I have a footstep controller that places the feet. I calculate where the footsteps would be if the mech was standing still there. Basically just to the right and left of the body so the center of gravity is between them. This is the "ideal" foot position. If the foot is currently near enough to this, I just leave it, but if it's past a certain distance I just animate it to the ideal pos with a simple stepping motion. To make it look more like walking, one one foot is allowed to be stepping at a time, so if one is already stepping, the other waits for it to finish.
It works pretty nicely and I'm planning to use the same thing on some of the enemies, too. One of the enemies is a horse-sized robotic spider thing, that should look pretty cool with this footstep logic. Also will be fun to step on.
If you have any questions or suggestions about the game, please ping me on twitter or email, or use the comment box below, and I'll try to address them in a future blog!
Thanks!