AR Project

CarView

My project, "CarView," allows users to see a car in alternate reality and customize it to their liking. Using augmented reality technology, the app places a 3D model of the car in the user's physical environment, allowing them to get a better sense of the car's size and design. The app also shows reflections of the user's physical environment in the car, so they can see how the car would look in real-life settings. From there, users can customize the car by changing its color, wheels, and leather options. The app also allows users to view the car from different angles, so they can see how the customization options look from all sides. This app is perfect for car enthusiasts who want to see what their dream car would look like in real life, and for those who want to make sure they're getting exactly what they want before making a purchase.

Using environment probes in Unity I was able to achieve a much more realistic look. Most car paints (with the exception of a satin finish) are reflective and you can see features of the environment around you. Since the environment in AR is dynamic and changing based on where the user is, reflections can be difficult to get right. Without any reflection at all the material looks flat and unrealistic. To solve this Unity uses the information of the environment available to it from the camera and creates an estimate of how the reflection will look. While this isn't perfect, it is very impressive and better than nothing at all.

I also added hand occlusion. While this causes a bit of a performance hit, I kept the scene simple enough that the effect is worth it. This allows the user to place their hand or friend in front of the camera and the car clips around them. This creates the illusion of depth and physical space as it looks like the simulated objects can be grabbed and either in front of or surrounding a physical object.

The UI I wrote is simple, allows for easy customization. The sliding menus make it easy to expand if more customization options are available. By using prefabs, I can quickly add new tabs or options as well. I break out the customization properties into groups to make them easy to find and navigate. If this app was brought to industry, depending on the car manufactors needs this could be updated to take on many other forms including options such as body styles, car stitching, badging and more.



ARFinal.mp4