Interactive Furniture App
The interactive furniture app was designed as a furniture layout and measuring app. The intention was to create an app which would allow customers the ability to lay out, measure, screen capture, browse etc. a furniture range before committing to any potential purchases. Customers could, therefore, ensure the furniture would fit in any pre-defined space or would match any specific dimensions.
An environment was first created in 3DS Max along with a number of furniture assets. These were imported into the Unity3D game engine and arranged to mimic a typical patio-type space. The main functionality, which was coded in C#, was then implemented. This included:
Moving furniture: The user could move around a piece of furniture by clicking and dragging it.
Snap furniture: Pieces of furniture could be snapped together when dragged close enough to each other. This would allow for easier precise arrangement of furniture. The distance tolerance at which the furniture would snap could be increased or decreased.
Measure mode: The ability to take measurements within the furniture space. The user would click and drag to create a measurement which would be displayed in 3D space with a metric measurement output. This included two modes:
Freeform: Measurements could be dragged out freely anywhere within the space.
Snapping: Measurements would snap to furniture corners making it easier to take more accurate readings.
Multi-select and move furniture: Multiple furniture items could be selected and moved simultaneously, preserving their layout. The user would first select the pieces of furniture which they wanted to move together; the selected pieces would become highlighted. The highlighted pieces could then be moved to a new location while preserving their relative positioning.
Screen shot functionality: This would allow the user to save out a screenshot of their furniture layout (including measurements).
Beauty pass: This option would show the user a rotating 360 degree view of their furniture layout.
Finally, basic functionality for loading assets from an online server was implemented. Furniture assets could be stored as packages in an online location. These packages would then be downloaded when the app was run instead of being included with the app itself. This would provide the possibility in the future for making the app load furniture and environment assets from an online repository. The repository could be updated remotely with new furniture and environments, negating the need for the entire app to be updated with new assets before being re-downloaded by users. It would also make the app extremely lightweight requiring only the basic framework to be included in the initial download while content could be streamed to it during use.
Do you have an idea for an interactive app which you would like our help on? Get in touch!