## Inspiration

We saw a short video on a Nepalese boy who had to walk 10 miles each way for school. From this video, we wanted to find a way to bring unique experiences to students in constrained locations. This could be for students in remote locations, or in cash strapped low income schools. We learned that we all share a passion for creating fair learning opportunities for everyone, which is why we created Magic School VR.

## What it does

Magic School VR is an immersive virtual reality educational platform where you can attend one-on-one lectures with historical figures, influential scientists, or the world's best teachers. You can have Albert Einstein teach you quantum theory, Bill Nye the Science Guy explain the importance of mitochondria, or Warren Buffet educate you on investing.

**Step 1:** Choose a subject *physics, biology, history, computer science, etc.*

**Step 2:** Choose your teacher *(Elon Musk, Albert Einstein, Neil Degrasse Tyson, etc.*

**Step 3:** Choose your specific topic *Quantum Theory, Data Structures, WWII, Nitrogen cycle, etc.*

**Step 4:** Get immersed in your virtual learning environment

**Step 5:** Examination *Small quizzes, short answers, etc.*

## How we built it

We used Unity, Oculus SDK, and Google VR to build the VR platform as well as a variety of tools and APIs such as:

* Lyrebird API to recreate Albert Einstein's voice. We trained the model by feeding it with audio data. Through machine learning, it generated audio clips for us.
* Cinema 4D to create and modify 3D models.
* Adobe Premiere to put together our 3D models and speech, as well to chroma key masking objects.
* Adobe After Effects to create UI animations.
* C# to code camera instructions, displays, and interactions in Unity.
* Hardware used: Samsung Gear VR headset, Oculus Rift VR Headset.

## Challenges we ran into

We ran into a lot of errors with deploying Magic School VR to the Samsung Gear Headset, so instead we used Oculus Rift. However, we had hardware limitations when it came to running Oculus Rift off our laptops as we did not have HDMI ports that connected to dedicated GPUs. This led to a lot of searching around trying to find a desktop PC that could run Oculus.

## Accomplishments that we're proud of

We are happy that we got the VR to work. Coming into QHacks we didn't have much experience in Unity so a lot of hacking was required :) Every little accomplishment motivated us to keep grinding. The moment we manged to display our program in the VR headset, we were mesmerized and in love with the technology. We experienced first hand how impactful VR can be in education.

## What we learned

* Developing with VR is very fun!!!
* How to build environments, camera movements, and interactions within Unity
* You don't need a technical background to make cool stuff.

## What's next for Magic School VR

Our next steps are to implement eye-tracking engagement metrics in order to see how engaged students are to the lessons. This will help give structure to create more engaging lesson plans. In terms of expanding it as a business, we plan on reaching out to VR partners such as Merge VR to distribute our lesson plans as well as to reach out to educational institutions to create lesson plans designed for the public school curriculum.

 [via GIPHY](https://giphy.com/gifs/E0vLnuT7mmvc5L9cxp)
## Inspiration

With everything being done virtually these days, including this hackathon, we spend a lot of time at our desks and behind screens. It's more important now than ever before to take breaks from time to time, but it's easy to get lost in our activities. Studies show that breaks increases over overall energy and productivity, and decreases exhaustion and fatigue. If only we had something to help us from forgetting..

## What it does

The screen connected to the microcontrollers tells you when it's time to give your eyes a break, or to move around a bit to get some exercise. Currently, it tells you to take a 20-second break for your eyes for every 20 minutes of sitting, and a few minutes of break to exercise for every hour of sitting.

## How we built it

The hardware includes a RPi 3B+, aluminum foil contacts underneath the chair cushion, a screen, and wires to connect all these components. The software includes the RPi.GPIO library for reading the signal from the contacts and the tkinter library for the GUI displayed on the screen.

## Challenges we ran into

Some python libraries were written for Python 2 and others for Python 3, so we took some time to resolve these dependency issues. The compliant structure underneath the cushion had to be a specific size and rigidity to allow the contacts to move appropriately when someone gets up/sits down on the chair. Finally, the contacts were sometimes inconsistent in the signals they sent to the microcontrollers.

## Accomplishments that we're proud of

We built this system in a few hours and were successful in not spending all night or all day working on the project!

## What we learned

Tkinter takes some time to learn to properly utilize its features, and hardware debugging needs to be a very thorough process!

## What's next for iBreak

Other kinds of reminders could be implemented later like reminder to drink water, or some custom exercises that involve sit up/down repeatedly.
# EasyCampus

Download our Unity Project in this Google Drive Link: <https://drive.google.com/open?id=1G7KM3N9Tv7HMqMhF524LlaOv-tWK5p8Y>

## Inspiration

When we were freshmen, we had a hard time getting ourselves familiarize with the campus: we didn't know which classes were in which buildings, and even if sometimes we knew the name of the building, we didn't know how to get there as fast as possible. Even if we have campus map, it was very confusing and abstract. As a result, we spent a lot of time finding buildings and sometimes we were even late for classes because of it.
Therefore, in order to improve freshmen's experience, we want to use VR to help people feel and know the campus in a better way. Moreover, visitors can also get familiar with the campus before they visit.

## What it does

* This VR application shows you around the campus.
* It automatically walk you through the shortest path to the building you want to go from where you are.
* If you just say where you want to go or a course you take, it can recognize words you say and lead you to the building.
* It displays description of a building near you and courses related to it.
## How we built it
We used Unity to build the campus and wrote scripts in C# to control VR related behaviors. We transformed the campus to a graph, and then utilized Bellman-Ford algorithm to find the best path to buildings. For voice control, we used Microsoft Azure Cognitive Services Speech API.

## Challenges we ran into

* Adjust camera to a right position to prevent users from feeling dizzy when using this app. To fit both the first-person controller and cardboard camera, we used gyroscope to build a distinguisher between mouse motion and CardboardHead.
* Even though we learnt the shortest path algorithms at school, we were usually given a well-formatted graph. It was much harder to transform a campus map to nodes and edges because shapes of buildings and roads were difficult to parse.
* Build models in Unity to reflect the campus. It took a lot of efforts for us to adjust details: lights, winds, and locations of buildings to make the campus more vivid and attractive.
* Adjust positions of texts to display when users are near a certain building.

## Accomplishments that we're proud of

* Built buildings and natural landscapes in Unity .
* Successfully figured out the algorithm to find the shortest path in the campus.
* Utilized voice control.

## What we learned

* Adjust VR camera in Unity.
* Add details to models in Unity.
* Use voice control.

## What's next

Incorporate the app on mobile phones or Hololens. Add more details to the campus: slopes, stairs, and interior of buildings.