Role: Design & Dev
Team Members: Hrishikesh Shinde, Akshay Laddha
Time: 3 months
A virtual reality android app to experience & try out different interior design options for your showrooms or any interior space.
I was always fascinated by Virtual Reality as a technology ever since I heard of it. I was eager to learn this technology. But for me the best learning happens when I implement and build something from it. So instead of just learning the technology, I thought that I could even score grades from it if I submitted it for my project course. And with this I could even give my whole time and dedication to it. But I didn’t want to just slap VR onto some non-existent problem and call it a project. I wanted to solve a genuine problem that exists.
Our house was getting renovated around same time and observed a problem that I couldn’t visualize the interior designs shown to us because they were pics of someone else’s home. But I realized this could be big problem for commercial people. Firstly the showroom design plays integral role in attracting the customers. And rolling back from the designs once they are installed can be very costly and could lead to decline in business. Secondly for builders, they have to get bookings for apartment before the building is even ready so they make a room replica with construction material, which they later destroy.
Hence we (me & my team) decided to tackle the following problem:
To develop a Virtual Reality experience for the user to see all the possible designs for their home and try out different combinations in real-time
We decided to go with Google Cardboard type of devices which use mobile phones as their screens. This choice emerged from our initial goal to keep starting cost to minimum for the business owners while still being able to reap benefits. This decision was also made so that it could be easily adoptable as everyone has a good smartphone & the cardboard type VR device costs less than Rs.800(~10$) . We decided to make an .apk file for our project that can be installed on any android device.
As this was a new technology for me, I needed to learn everything from scratch and as no one from our batch knew about this, if some issues came across there was no other savior other than the internet. As the scope and end deliverables of project were figured out, I was able to stay on track while learning. We decided to use Unity for our 3D designing and Google Cardboard VR SDK. Unity has a wide range of functionalities which are easy to use and is very intuitive in terms of learning, designing and scripting the logic. Unity uses C# as its scripting language and is fairly easy to learn if there is familiarity with languages like C++ or Java. The first month of our project was spent by me to learn all the details of Unity and then setting up all the SDKs in place to start actually implementing the scope.
Initial project set-up
Initial setup of the project with SDKs and getting it to export the .apk file was very challenging as we ran into many errors with no help on internet.
Scripting
As Unity has C# scripting, I had to learn it how to write scripts in C# from the documentation available on Unity website. The process though difficult proved extremely fruitful as starting from the basics I knew multiple approaches while scripting the logic. The community on Unity is also super awesome, and got a lot of help from them as well
There was no boilerplate code to scrap off of, so when I was building the initial logic for the changing lights and textures which could be scaled easily, was a challenge.
Lighting
We decided on night time for our in-app scene. As there was going to be lights, false ceilings and multiple LEDs, we realized it’s true glory can only be realized and praised if there was no external main light. But as we remove the main light(the sun) from the scene, setting up the lights to lit up the scene is very arduous and intricate task.
Setting up the ceiling LEDs was also also tough task as all the point lights needed to be individually placed by someone.
Limited Interactions
As opposed to Oculus or any other high-end VR device, the cardboard version has very limited interactions. Though the gear was suitable for our performance side of project, the limited interactions was a major pain point. As we controlled the in-game player with a Bluetooth gamepad type controller, our interactions were limited. So we needed to craft build logic in a way that maximum controls could fit without confusing the user.
..... continued on my portfolio
Built with