Dorian Zgraggen writes:
As a school project, I created an interactive building for virtual reality using Blender, Substance Designer, Substance Painter, MakeHuman, Unreal Engine 4 and C++. Inside the building, the user can teleport around and change the materials of various objects.
Here’s a quick demo video:
Modeling the building
As with most projects, I started drafting the scene on paper. Relatively quickly, I switched to blocking out ideas in Blender to see whether they work in 3D or not.
Below you see two ideas I started modeling in Blender. A much smaller version of the second building was the one I ended up using.
Eevee’s real-time rendering capabilities allowed for prototyping various types of windows and seeing what kind of shadows are produced. (The blue humans were used to get a better feel for the proportions.)
In the scene, I also used some 3D models by the furniture company Vitra and the plumbing company Kohler, which I retopologized using the snapping feature and the shrinkwrap modifier.
Below you see the original model in comparison to the retopologized one.
Since one of the chairs was made out of multiple materials, but the software needed objects with one changeable material only, I baked a mask with Cycles which I then used in Unreal Engine to lerp between different colors. This resulted in a nice way to choose the colors in Unreal Engine and also is much more performant than baking different color maps for differently colored chairs.
One problem I ran into when trying to model the elevator was finding multiple reference photos of the same elevator, so I shot my own. You can download them for free here.
For the building I created 24 new PBR textures using Substance Designer, which are available to download for free.
Making it interactive
Blender was also used as a prototyping tool to come up with new ideas for the user interface and the teleportation marker.
The hands are based on a model from BlendSwap which I then rigged to make them hold the controller.
Coding was done using Unreal Engine and C++.
Further information, future updates and the full C++ code can be found on my portfolio.