Technology and Design Features

For our Capstone project, my team is building an Augmented Reality Arcade Classics app. Because not all of us have the same mobile operating system (one of us is on Android, the other two on iOS), we wanted to make sure that we all had the ability to test our project on our own hardware. For this reason, we opted to use Unity’s AR Foundation framework to develop our application. AR Foundation allows for easy multi-platform building while only needing to create one version of the application.

We briefly considered using a Python AR package, but ultimately opted for Unity’s framework because it includes more industry standard technologies, such as ARKit and ARCore. Personally, I have some interest in working on AR projects professionally, so I was more inclined to go the industry standard route.

The AR Foundation features we’ll be focusing on are the AR Session, Camera, Image Capture, and Image Tracking features. These features fit well with our choice to use Marker-Based AR. Marker-Based AR simply means that we’ll have some sort of marker in the environment that triggers the AR experience. For us, this means we’ll have a QR-Code-like image that corresponds to a specific arade classic game in our app. With an active AR Session we can turn on the camera, which will send the image capture data to the image tracker. The image tracker in turn identifies these images from a Reference Image Library. When the tracker identifies the marker, the game corresponding to that marker will start up in the AR environment.

Flowchart of how the AR Foundation features fit together

One of the reasons we chose to go with Marker-based AR despite the fact that it requires the marker to exist physically, meaning the user may need to print it, is that we wanted to make sure that the burden of setting the play area is not the responsibility of the user. If the marker is on a flat surface, then the game will be playable. If we asked the user to define the play area, we introduce the potential for user error, and other bugs that can arise from an inconsistent environment.

We want it to be really easy for the user to get started, so they can focus on the game, and it doesn’t get much simpler than “point your camera at this and go!”

Another reason to go with Marker-Based AR, particularly as it fits in with Unity’s AR Foundation, is that it allows us to get a little bit creative with the markers. Since the AR Foundation Image Tracker uses a Reference Image Library, we can use any image we want, as long as it can be easily distinguished from the environment.

Concept of AR Marker for Snake

The overall design for our application is quite modular. Specifically, we have designed it so that games can be easily added once all of the AR has been set up and is functional. All we would have to do to add a new game is create the scene for it, create a marker for it, add the marker to our Reference Image Library, and create the logic to link the marker to the game. In the early stages of our project, while we’re working on the AR functionality, it will be difficult to work independently; however, once we have one game working, we could fairly easily work on separate arcade classics to buff out the library of games available on the application.

The big question now is how many games will we have time to make in the next 8 weeks?

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *