Exercise 03 | Hand
Q - W - E - R will contract the index, middle, ring, and pinky fingers, respectively
T will ball the hand into a fist
Created out of interest in using a controllable hand in future games. May add colliders to each of the fingers in order to pick up and grasp objects.
Used Autodesk Maya to model, UV map, and rig contraction animations for each finger. Overall a fun process! Going into the exercise, I had no idea how avatar masks worked; however, I had read posts online and on youtube in regards to more than one animation playing at a time.
Using Unity's official tutorials and reading user tutorials online, I was able to finger out how to manipulate joint transforms using avatar masks. What this translates to is the ability for more than one finger to contract at a time in the hand! You can do finger rolls (Q -> W -> E -> R) and even throw up the horns (W + E).
Perhaps the biggest obstacle was wrapping my head around the idea of using more than one avatar mask. Previously I had tried to fit all the relevant transitions (to get more than one finger to contract at a time) in one animation layer by playing around with bool values in the script. This looked something like:
- if press q, then play index finger animation
-from that state, if the user presses w, then play w
I was quickly met with a wonky response in which the two animations would play simultaneously for a short amount of time; then one would abruptly finish. I was also unable to "wiggle" fingers. Long story short, creating a single animation layer was not the option.
The solution in this case? I'm not entirely certain it was the optimal route; however, I ended up creating 4 separate avatar masks and 4 separate animation layers for the index/middle/ring/pinky fingers. Allocated the proper transform constraints, attached the masks to the correct layers, then bumped up the weight for each to the max!
The result was responsive finger contractions that I am absolutely happy with.
Thank you for taking the time to read this!
Leave a comment
Log in with itch.io to leave a comment.