YUXI: The Mixed Reality Hardware Toolkit
The original inspiration behind YUXI was to create a set of methodologies, toolchains, and examples to mix physical computing with VR/AR/MR projects. The project examples currently a Raspberry Pi and breadboard mounted to a trackable base plate. From there we use Spacebrew to connect the inputs and outputs to Unity.
YUXI has 3 examples included to get you started and to get a sense of what you can do with it.
- Hello World
- Lights and Buttons
- SenseHat Letters
Example 1: Hello World
This project creates the connection between the Python script on the Rapsberry Pi which publishes the wifi routers which it sees on its network and sends them to Spacebrew. The Unity side animates satellites for each incoming message. When connected the Python script will send each new Wifi Router to animate as a satellite in Unity. There is no need to connect additional hardware to the Raspberry Pi for this example to work.
Example 2: Lights and Buttons
Using a breadboard to connect a button and an LED light, this example has identical Spacebrew publishers and subscribers in the 'physical' and 'virtual' side of the project. Both the Unity and Python side publish button pressed events and subscribe to a toggle light event. On their own, pushing the button will not perform any action. However you can route the physical button to either the physical or virtual light in order to control it. When deployed on an iOS device you can tap the virtual button on the screen to control the lights.
Example 3: SenseHat Letters
This example require connecting a SenseHat shield to the Raspberry Pi. The Python side of this example can listen for letters sent to it and display them on the LED matrix. Joystick directional presses are published from the board. On the Unity side letters can be sent to animate as a set of voxels, floating off into space. When routed together letter sent are shown on the LED matrix and then transfer to the augmented voxel space.
- Connecting YUXI to a Power Relay
- Connecting a Motorized Slide Pot to Spacebrew and Unity
- Virtual Wheel of Items with a Physical Knob using Servos Motors
- weathAR: Weather AR with Motorized Contorl
- Skywriter Hat, RPI and the Allegory of the duck
- Sending images from Spacebrew to Unity
- Popping AR Balloons
- Touch Virtual Spiders
- Servos Control a Virtual Marble
- Cat and Mouse: with a motorized slide pot
YUXI has primarily been created by Joshua Walton and James Tichenor, with the help of the the CIID IDP Class of 2018: Fahmida Azad, Anna Smeraglioulo, Alex Penman, Mantas Lilis, Abhishek Kumar, Juliana Lewis, Federico Peliti, Jing Yu, Rina Shumylo, Julius Ingemann Breitstein, Micol Galeotti, Reuben Jerome Dsilva, Sami Desir, Sareena Avadhany, Shalin Shad, Sindhumandari, Surojit Dey, Yuxi Liu (where the project gets its name), Chaeri Bong, Axel Jorgensen, Raphael Katz, Raunaq Patel, Ubaldo Andrea Desiato, Varenya Raj