Role: UE4 Contractor Developer
Engine: Unreal Engine 4, Blueprint
Platforms: Oculus, Google Daydream (mobile)
I was contracted by M3DIA, a startup specializing in photogrammetry for business, to create an interactive VR shopping prototype to showcase the quality and potential of photogrammetry to their customers. The experience is set in a Mountain Designs store (an existing client of M3DIA’s) and features user customiseable high res scans of a number of available products.
The specifications for the experience were developed in partnership with the client and the project was successfully developed to run natively on both high end PC VR and google daydream.
Check out this Gif of how an item is viewed and customized in the experience
I was tasked with taking the cleaned and retopologised scan meshes and making them color customisable in engine.
I performed texture cleanup as the scans needed to be de-lit and have material ID masks created so we could easily adjust the color of the correct areas (both of these I did manually in photoshop).
Once the textures and masks were ready to go the rest was all very easy to accomplish in engine - Swatch selection widgets were created and used to control the currently viewed asset’s dynamic material instance.
Each asset could be easily selected for close inspection by the viewer using a traditional laser pointer method for interaction. We opted for a simple pointer style interaction model to unify the experience across both pc and mobile platforms despite some successful experimentation with more physically based hand type interaction on the oculus.
Another compromise made for the low end was attaching the Cart to the user’s view. This was originally intended to be attached to the hand but again because there’s no spatial tracking on daydream it was moved to the view instead which was actually more intuitive for users unfamiliar with VR anyway.
Each object could be configured from a spreadsheet, and filled the info panel (visible left), the floating feature callouts (attached to the object being inspected), and the available colours dynamically based on configured data. This setup made it extremely easy to configure any number of scans as they became available.
Info and Cart gif