Now that ProtoForms is lookin and workin good, time for me to start playing around a little. Lately I've seen a few people show off "Hand Controllers" that they put together in Maya or Blender. So I wanted to give it a try myself using all the stuff I current have built.
To keep things simple, I only control the fingers and not the thumb. The controller can be broken down into two main parts that you can consider for controlling
First is how much does the fingers spread out. For simplicity I defined a single spread value that gets applied to the fingers. Each finger is configured with a max angle it's able to spread, then I can use a gradient value ( 0 to 1 ) to apply the overall spread of the fingers. If you stretch out your own hands, you can easily see that each finger is different plus the middle finger doesn't really spread, stays in place... on my hand anyway.
Second part is how to bend the fingers. That's actually pretty easy. Again, I use a gradient value for each finger of how much it should bend. 0 Means no bending, 1 means complete bending. For 3 joint fingers, a Max angle of rotation is 90 degrees each is enough to form a finger pose that shows a fist or a closed hand. I keep all my rotations at the local space of each joint since most often your finger bones should have no rotation at the local level. So once I have my Spread and Bend Rotations, I apply that to the BindPose rotation of the bone to use as my new finger joint rotation.
So this was just a quick prototype I made in 2 hours. Something for fun and a nice example for people to learn from. In the future I hope to setup a better Hand with Protoforms so that I can also do some controls for the thumb. So... I'll get to it when I get to it :)
All source is up, free, do whatevers you want with it.
[ SHAMELESS PLUG ]
I have a patreon for anyone who would like to support my work. Everything I do I release as open source. With a enough support I can do this full time and make more stuff for people to use and learn from. https://www.patreon.com/sketchpunk