Finger Interaction

777     
Actions (select, translate, rotate & scale) are determined by number of fingers extended
5b359faf-7c81-4b8e-b988-58232d9cd1ab

Hey, my name is Filipe Rodrigues and I'm a Biomedical Engineering student from Lisbon, Portugal. I'm currently using the Leap Motion Controller for my Masters Thesis and I've been having a lot of fun with it!

This is a pet (ongoing) project that I thought maybe was worth sharing. It's a simple UI in which the user's actions/tools (select, translate, rotate & scale) are determined by how many fingers he/she has extended at any given moment. I take no creative credit for the base concept since I decided to do this after watching this video by Torsten Sprenger.

This mini app was made entirely in C# (without the use of the THREE.js API). Hope someone enjoys it:) Any pointers are more than welcome. Cheers

INSTRUCTIONS:

When the scene loads all interactable objects are selected by default;
Depending on how many fingers the user has exetended, different actions become available;
0 fingers extended (closed fist): Purposely does nothing (left empty by design, gives the user a stance in which he/she can reposition his/her hand without affecting the current selection);
1 finger extended (any finger except thumb): Select individual interactable objects;
2 fingers extended (any 2 fingers): Translate the current selection based on the velocity of the tips of the extended fingers;
3 fingers extended (any 2 fingers): Rotate the current selection based on the velocity of the tips of the extended fingers;
4 fingers extended: Currently does nothing. Ideas? It's not a very comfortable stance, plus leap doesn't recognize it very well;
5 fingers extended (open hand): Scale the current selection based on the velocity of the tips of the extended fingers;

Notes:

  • You must use your Left hand to interact with objects.
  • Even though this project includes a 'Direct-to-Rift' executable, this is not a VR app. Launch the standard executable.