Nova’s Hideout | 3D Modular Level

I created the character, Nova, about a year ago for a character design project. I had a lot of fun creating her, so I decided to sculpt her as part of a 3D personal project.

For my final 3D project before graduating I decided to build the place where Nova lives: Nova’s Treehouse! A stylized treehouse inspired by Adventure Time and the Legend of Zelda.

I wanted to use this project to get better and faster at modelling and texturing. All assets were made in Maya, detailed in Zbrush, textured in Substance Painter, and assembled/rendered in Unreal Engine. I also explored the camera and animation capabilities of Unreal and rendered out a short montage video.


All assets for the scene were first created in Maya. Objects with similar surfaces (wood, metal, etc.) were given the same Maya material (usually a Lambert) and placed in a display layer. This wasn’t necessary, but it did help with organization.

To determine how many objects I could keep together, I aimed to keep as many objects on one UV tile as possible at the same texel density. Most objects in the scene are 5.12 texel density at 2048px texture map. Some objects were adjusted based on visibility in the scene or size.

After the UV’s were organized, and the models were completed, the assets were exported as FBX, and imported into Substance Painter. In Painter I used a mix of base/found substances, and building my own substances using fill layers, and overlaying different maps. I made liberal use of the warp and sharpen filters to create the stylized look of my scene.

When all of the textures were complete, I started to assemble the scene. I placed objects in the scene in a way that would make someone want to explore the room and see the become interested in the little story elements.

In total, there were over 600 instances of the various objects in the scene which equated to about 517,000 tris. There were also about 15 different materials used, each with about 3 maps attached.

I used the stock Unreal Engine 4 export option in Painter, and assigned the correct channels in Unreal to create the proper effect. Painter exports 3 maps using this method: Base Color, Normal, and a combined map with AO, Roughness, and Metalness. Connecting the proper color channel to the correct input node in Unreal assigned a greyscale value that Unreal uses to determine the proper vaule.

Red = AO

Blue = Metallic

Green = Roughness

An interesting thing I noticed in Unreal was if you wanted to change the color of a single instance of an object, you can simply drag a material onto it. I created 3 variations of the wood boards textures (brown, purple, and blue) which I manually assigned in this way throughout the scene. This makes the scene a little more chaotic, but adds a sense of whimsy/fun to the scene as well.

Rendered Still Images

Basic Assets

Let's Chat

I'm always interested in hearing of new projects, jobs, and freelance opportunities.

View the Project on Artstation

If you’re on Artstation, feel free to give my project a like, or leave a comment!