My Journey in Developing an AR Storybook AP

My journey through this capstone project has allowed me to explore a landscape of technology that has drawn both my creativity and affinity for innovation. This blog post is a self reflection of that journey including major breakthroughs, successes, and what its taught me.

Biggest Success

My biggest success in this project so far has been learning Unity and Vuforia. I’ve been able to complete two of the Unity pathways: Unity Essentials and Mobile AR Development. Through which my team and I have been able to create an engaging and interactive platform to allow readers to develop a love for reading. I’m most proud of the strides we’ve made in such a short amount of time since the winter term is a shortened quarter. We’ve overcome hurdles as a team to bring our idea of bringing static illustrations to life in a 3 dimensional space.

Biggest Breakthrough

One of the biggest technical challenges that I overcame in this project was figuring out how to “flip pages”. The pathways I took discussed me how to render a model on an image target and to control it using UI buttons; however it fell short in discussing how to cycle through a series of models. My original instinct was to create numerous scenes and utilize a C script tied to a UI button that would call the SceneManager function in order to achieve this functionality.

After repeatedly failing to implement that approach I scoured the Unity forums and internet for a solution to my dilemma. I began to become disheartened when the solutions I found were for outdated versions of Unity and Vuforia and wouldn’t work on the current versions. It then dawned on me that I could create an array through a C script that I could assign several empty game objects to as pages and use the UI buttons to iterate through that array. That solved the issue however a new issue arose when I tried to implement two UI buttons to toggle the narration audio and text for each page.

I first attempted to implement these buttons by following along with the AR markers and planes mission in the Unity Mobile AR Development pathway. This mission used the Visual Scripting tool to implement the toggle buttons however the buttons would work when iterating through the array of pages. I eventually scraped the Visual Scripting graphs that I created and implemented the functionality within the same C script that I wrote. Once these roadblocks were overcome the rest of the project has become a simplified cycle of designing the pages and assigning them to the array.

What I’ve Learned

Through this project I’ve gained valuable lessons into both the technical aspects of Unity and Vuforia as well as my own capabilities. Technically I’ve learned how to :

  • Configure an AR development environment
  • Deploy a project to Android
  • Find and import assets
  • Set-up and manage Unity Version Control
  • Spawn an object on an AR Marker
  • Add world space UI and screen space overlays
  • Integrate Firebase database and authentication

Personally this project has made me rediscover why I pursued software development as a career two years ago. Developing an AR storybook app not only required technical prowess but also creativity. I realized that I’m most fulfilled when I’m able to utilize the skills I learned at OSU to create an application that navigates the intersection of art and code. I also found that I tend to gravitate towards a leadership role when placed in a group setting, and recognized the importance of fostering a collaborative environment where ideas can flourish and thrive.

Conclusion

My journey though this capstone project has been rewarding in a multitude of ways. From gaining experience with Unity and Vuforia to overcoming obstacles and working in collaboration with my teammates, each step of the journey has been a testament to my personal and professional growth since starting at OSU. I’m eager to continue my exploration through the other pathways both within Unity and beyond to other emerging technologies.


Posted

in

by

Tags:

Comments

Leave a Reply

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