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.
https://i.imgur.com/cFXFB4K.jpg
https://i.imgur.com/ulnePkt.jpg
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.)
https://i.imgur.com/PfkkoDZ.jpg
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.
https://i.imgur.com/4qkO7Jy.jpg
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.
https://i.imgur.com/qaNqytH.jpg
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.
https://i.imgur.com/ctQQzgo.jpg
Creating materials
For the building I created 24 new PBR textures using Substance Designer, which are available to download for free.
https://i.imgur.com/10NDeIF.jpg
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.
https://i.imgur.com/3oVdIVB.jpg
The hands are based on a model from BlendSwap which I then rigged to make them hold the controller.
https://i.imgur.com/8Z9O1dX.jpg
Coding was done using Unreal Engine and C++.
Further information, future updates and the full C++ code can be found on my portfolio.
4 Comments
Great Job. Sounds like you went from Idea to finished with not a lot obstacles in your way. Was that more because you sketched out the idea first or as a result of your proficiency with Blender?
Thanks! I think it was a combination of both. Sketching the building first helped a lot when creating the final model and I was already comfortable modeling with Blender. I ran into lots of errors when doing stuff in Unreal and coding it tough, which sometimes felt a bit frustrating (but I learned a lot :D).
Did you use Blueprints or code it in C++? I really would prefer to use Unreal but I wish they could implement C# like Unity.
I mostly used C++ and some Blueprint for doing the audio stuff.