We noticed that the hardware lab had Leap Motion controllers on tap, and wanted to take advantage of that resource. Our initial idea was a real time fluid simulation that could be manipulated using the kit. That plan quickly came to require much more work and math than we could finish in a weekend. We still wanted to use the Leap Motion hardware, so we created Digitalis, Latin for "having finger-like qualities." The application demonstrates uses of the Leap Motion as an input for games made in Godot.
What it does
Digitalis leverages the Leap Motion software kit to mirror hand gestures into our 3D game space. When certain hand gestures and positions are detected, it creates a particle effect, like a magic spell. These spells are:
Fireball: When a hand makes an ~90 degree angle with the wrist towards the screen, a fireball is launched from the hand.
Tracer: When the index finger points forwards, particles are spawned there, creating an effect similar to drawing on the screen.
Lightning: When the two palms are facing each other, a stream of electricity is generated between them.
How we built it
- Godot Engine open-source 2D and 3D game engine
- Leap Motion controller hand tracking hardware and software
- Godot Leap Motion Plugin
- Version control using git on Github
- Audacity for audio editting and formatting -Google Docs for brainstorming and research
Division of Labor:
- Leap motion input
- Particle effects
- Debug UI
- Audio programming
- Asset gathering
Challenges we ran into
- Our first idea was well out of scope for a weekend project
- Neither of us had used Godot for a 3D application before, though Ethan was familiar with it from a 2D perspective
- Our project structure made it difficult to work in parallel without merge conflicts
- 3D transformations, especially rotation, were quite difficult to work with
- Input from the Leap Motion is a bit more inconsistent than expected
Accomplishments that we're proud of
- Learning to use the Leap Motion API and 3D Godot in a weekend
- Creating polished graphical effects for spells
- Wrapping some of our own methods around the Leap Motion to make input easier
What we learned
- The Leap Motion API
- Godot’s 3D graphics capabilities
- Some new 3D math
What's next for Digitalis
We may eventually try to make the original idea of fluid simulation work. As we will no longer have access to the leap motion after the hackathon, we may also attempt to integrate a webcam based hand tracking algorithm, like this one from Google.