All critics welcome!
MHR is a small, but growing, Portuguese boutique furniture design and fabrication company. It started as an artisanal upholstery workshop, but grew steadily as a quite important player in the custom furniture business. In late 2014, they decided to offer their designs as a collection of sofas, beds and accessories, all designed in-house.
This is a catalog-like app, that lets users browse the Company's furniture collection. The app features a minimalistic interface, and in addition to a 3D-view of the models, it allows users to customize the furniture's materials to their taste from a quite extensive library of fabrics, synthetics and leather.
Development time for this project was around 6 months. The app itself (the Unity work) took about a month to develop, but modeling and texturing took an additional 4-5 months. Since no technical "plans" or drawings for the sofas were available, everything was modeled from reference photos, with some measurements provided by the furniture's designers. This implied lots of revisions to the models themselves, but was a very nice opportunity for the company to "have the blueprints" once the 3D models were made. As part of the project, the client received the finished source 3D models, to be used as the base for a technical drawing's catalog.
The app was built for Windows, Mac and Linux desktops, and for iOS and Android tablets (a smartphone version was deemed unnecessary). Also, currently, the app is being adjusted for WebGL publication in the client's website. All versions are (or will be) available for free - via the customer's website for desktop versions, and the respective App Stores (soon).
Since everything (and I mean everything!) was made by a single developer (me :-P), we consider this to be a quite successful project - all things considered.
BLENDER: All 3D assets were made in Blender (so add another 2 or 3 weeks jiggle-room to that develop time - Blender takes some getting used to!);
PHOTOSHOP: all 200+ materials were scanned (or photographed)/retouched/prepared for tiling from real-world fabric/leather samples;
PIXPLANT: This wonderful (OMG! WONDERFUL!) app was used to create the "final" base tile for each material. If you do texture/2D work with tiling materials, and don't know this tool, please do yourself a favor and check it out! You'll love it, and it will save you loads of time; a retouched version of the generated tile was used as the albedo for all materials;
KNALD: Finally, the (also amazing) Knald was used to create the rest of the needed maps - i.e., normal, height and occlusion, where applicable.
All 2D assets were exported at 2K resolution (for some "future proofing"), but the texture sizes were reduced to 512K and 256K for desktop and mobile, respectively; the 3D models were saved both as hi(gher)- and lo-poly versions; the higher-poly versions were used in the desktop versions of the app, and the lo-poly for mobile devices.
And of course, everything was implemented in Unity (5.x), with C# scripting. We acquired a Plus subscription (the client wasn't keen on the "Made With Unity" splash, unfortunately) to finish development, after starting with the Free version; Plus is a great value, especially for a turnkey project like this (the client owns the app and assets, so no further revenue will be generated by the app), and since the project was priced well below the Unity Plus revenue limits, it was a perfect fit!
The app is not very feature-rich, and that is, to a degree, by design. We wanted it to be as simple to use as possible, and accesible to anyone.
Within it, you can:
- Browse the three different catalogs: sofas, beds and accessories;
- Get additional information about each model;
- Enter the "scene view" where you can spin and zoom in the model - either by touch or mouse - to get a better look at it from any angle;
- You can show/hide the UI in the 3D scene view;
- Select and change the piece material by "material group"; each model has at least two (and up to six) material groups you can assign different materials to;
- You can choose from up to three different configurations for some models, each one with a different environment/scene;
- Finally, you can save an image of your customized model, in three different available resolutions, as a clean (no UI) and hi-quality JPEG;
FOR THE CLIENT
The way the app was designed allows the client to just add new models and materials to the app, without requiring a re-build. The "app catalog" is stored in plain JSON files, and as long as the 3D assets and/or textures are present in the right place, the app will display/use them. To try an prevent problems, the files are a little bit "obfuscated" to regular end-users.
This was my first-ever Unity project, and my first-ever full 3D-cycle development also; it served as a sort of learning experience, with many invaluable lessons I'm sure will be applied to future projects - hopefully, in our just-started "Keep On Gaming Studio"! Thanks for reading!