This project is a Unity spaceship game controlled using a wearable glove. The glove uses an IMU, a flex sensor, and a button to control ship movement, throttle, and shooting. An Arduino Nano reads the sensor data and sends it to Unity over serial.
The game is a one minute asteroid challenge. The goal is to destroy as many asteroids as possible before time runs out. Asteroids spawn continuously around the player and break apart when hit.
A full playthrough using the glove controller is available here:
https://www.youtube.com/watch?v=u9J_HRNVX4U
- Arduino Nano
- SparkFun BNO08x IMU
- Flex sensor (throttle control)
- Push button (shooting)
The Arduino reads the IMU over I2C, samples the flex sensor using an analog input, and sends all values as comma separated data to Unity.
- Unity (game engine)
- C# (gameplay and input scripts)
- Arduino IDE
- LaTeX and TikZ (documentation)
- Hand rotation controls ship movement
- Finger bend controls throttle
- Button press shoots
- Keyboard controls are available if the Arduino is not connected
- Upload the Arduino sketch to the Arduino Nano
- Connect the glove hardware and USB cable
- Open the Unity project
- Set the correct serial port in the ArduinoInput component
- Press Play
- The IMU may need recalibration during play
- The game is designed to be simple and fast for testing different input methods