(WEEK 9-14)
Koh Xin Yee / 0363349 / Bachelor of Interactive Spatial Design (Hons)
Experiential Design
Final Project
Students will synthesise the knowledge gained in task 1, 2 and 3 for application in task 4. Students will create integrate visual asset and refine the prototype into a complete working and functional product experience.
Functional Application: Unity-based AR project files, including an APK for Android or an iOS build folder for iPhone
Markers: Image markers, if necessary for marker-based AR
Presentation Video: A video walkthrough of the final application, showcasing its features and usability
Marker (Image Target): generated database using vuforia engine
As what I've planned in my prototype, my landing page was built out in Unity, with a progress bar of an animated cutlery icon moving while waiting for the screen to load. I set up a simple delay script in order to wait for the animation to run for a while before the Home scene is loaded.
In the home scene, I built an info panel which will appear onclick of the info button. Also, clicking on the "Scan Product" button will load Scene1. This two buttons are both controlled by the HomeSceneManger script.
In Scene1, when the image target is identified, the details panel will appear, but half covered. By pressing the handle, the animator will prompt the panel to be pulled up or pulled down. The "Explore" button leads to Scene2, which is the scene for 3D models visualisation. Scen1Manager script is for loading scenes like home scene or scene2, while DetailsPanelController script is to control the animation of the details panel.
Scene2 is the scene where I started using 3D models. I arranged 4 of the stages models on the image target nicely so they wouldn't block each other. Each model has a button floating on top, and this buttons will lead to details of each stages. I control the buttons by the Scene2Manager script. Each model in Scene3 has its own index, so in this script, I can control it for every button to lead to different models.
In Scene3, it is supposed to be all the 4 stages in detail. Eventually in my prototype I was trying out the cinemachine to switch between cameras in Scene2, so I didn't need to create another scene, but it didn't work. So I guess it will be just easier if I would built another scene for this.
Here I'm using ModelSwitcher script, what we have learn a few weeks ago. I thought that it would be fun and easier, so I need not create 4 scenes seperately for all 4 stages. So I stacked all 4 models together on the image target, and revised the script in order that it can also control some other game objects like the text or description panel when the model switches.
By using this script, I managed to switch the description panel and the stage name text at the same time while switching the 3D model objects, by using the on click function attached to the left and right buttons.
I also created simple animations for each stages using the animator for a more lively experience.
After adding all the scenes, I tried building the app to my Honor tablet through the USB debugging. Why I decided to use my tablet actually, is because my phone is really slow and cacat, and doesn't even have a screen recording function. (I know there are screen recording app, but I don't really prefer using them.) Although everything seems fine, I have turn on developer mode on the device already, but I couldn't seem to find the app installed. So I had to manually transfer the apk file to my device and manually install it. Every time I changed something, I install the app again and update it in my device.
The process wasn't so smooth actually, because I forgot to change the screen size in unity, causing every element to be positioned wrongly. I tried building the app to my phone too, but due to the different ratio of my phone, everthing is also out of place.
To solve this, I tried changing the canvas scaler to scale with screen size, and thought that I wouldn't need to rearrange all my assets again, but bruh, sadly I was wrong. Turned out that the solution is to add a custom resolution for Unity, in order that the screen size fits my tablet the most. I gave up with the scale with screen size, because initially I was trying to make my app work in all sorts of screen size, including my phone, but I failed. So now this app only works nicely in my tablet size muahahahaha//
YOOO FINALLY!! This module has come to an END... I'M EXHAUSTEDDDD lol. To be honest I had been screaming in the living room for a few weeks while completing this project. The main issue is ALL THOSE ANNOYING BUGGGGGGSSSS. I don't really know why, it seems that I really have no fate with unity (sobbing), I just can't get it right all the time. Everything including the scripts and assets seem well, but it just doesn't work all the time??!! Bruh, I felt so dumb and tired everytime. This is not my first experience with Unity, but is my first with AR. Although the journey felt difficult, felt bad, similar to games dev (sorry Mr Razif I swear it's not your fault 😭, it's just that I'm dumb), but undeniably I managed to learn a lot of stuffs from this.
Trying to pick a topic was real hard. Our formal PD Mr Yusri always mention, what that matters is the idea. Without good idea and content, it is hard to create anything good, including designs. I was struggling with what app I'm going to create, because I can't seem to easily connect AR experiences with our designs. I felt that what I have thought of, they always seem to have a better alternative, and the experience would be better than AR. Anyways, I managed to set the topic, and the nightmare continues.
It felt like a long journey, although I didn't really seem to have done much. But it eats up all the time and energy while doing the trials and errors. Nevertheless, it was such a satisfactory to watch when what I built works out well after much struggles. Everytime trying to revise my designs is for a better purpose, and the main reason is I could'nt tolerate with myself. This causes me to always have the feeling that I didn't do enough. It could be better, better, and better.
Of course, design is a never ending learning process, Have no fear of perfection -- cause I'll never reach it. Overall it was an insightful and creative learning experience. I hope I will never need to touch this again (jkjk I'll need to earn for a living), but also hope that all these experiences I've gained along the way, will help to shape myself into a better me. Never perfect, but somehow beautiful with imperfections.