Website powered by

Staff Atelier

A fantasy piece depicting an old cellar used for the study and construction of magic wands, staffs, and sceptres.
This is an idea repurposed from an older, unsuccessful art jam submission. In making this piece, I have learnt a great deal about lighting, blueprints, and preparing different types of assets inside Unreal Engine. While making this project, the software licenses I was using at University expired, and so it gave me the opportunity to quickly learn new software and expand my skill set.
Although this did take a while, I am satisfied with the result and aim to produce more content in the coming months.
I made all the models in this piece, but most of the textures are modified versions of default materials that come with Substance Painter and Marmoset Toolbag. Some other textures were obtained from Polyhaven, the public 3D asset library, and modified for my needs. These can be found here:
- https://polyhaven.com/a/large_sandstone_blocks_01
- https://polyhaven.com/a/white_sandstone_bricks
- https://polyhaven.com/a/worn_rock_natural_01

This is how the design for the main desk progressed, from left to right. The final design makes the room considerably wider to allow more desk space.

This is how the design for the main desk progressed, from left to right. The final design makes the room considerably wider to allow more desk space.

The desk was modeled entirely in Maya. This time round, I didn't model high-poly versions for absolutely every mesh, as in previous projects, only for areas where low-poly shading was obviously incorrect, as in the image above. This saved a lot of time.

The desk was modeled entirely in Maya. This time round, I didn't model high-poly versions for absolutely every mesh, as in previous projects, only for areas where low-poly shading was obviously incorrect, as in the image above. This saved a lot of time.

For texturing the desk, I started with a default Substance Painter wood material, then modified the textures and colours to match my own photo reference. I then manually painted in excess dust and mortar to match the surrounding models.

For texturing the desk, I started with a default Substance Painter wood material, then modified the textures and colours to match my own photo reference. I then manually painted in excess dust and mortar to match the surrounding models.

For the figures, I rigged a human basemesh in Blender, and posed six of them, mirroring the first five. While I would normally rig a single skinned mesh and instantiate it, I wanted to sculpt individual clothing details for these characters in ZBrush.

For the figures, I rigged a human basemesh in Blender, and posed six of them, mirroring the first five. While I would normally rig a single skinned mesh and instantiate it, I wanted to sculpt individual clothing details for these characters in ZBrush.

Using the figures as reference, I sculpted six robes and several skeleton limbs. This was a nice foray into anatomy sculpting, which I hope to continue in future.

Using the figures as reference, I sculpted six robes and several skeleton limbs. This was a nice foray into anatomy sculpting, which I hope to continue in future.

This is how the main desk model is split up into different sections with different UDIM tiles all using the same material instance. The skeletons on either side use two UDIM tiles: one for robes, the other for limbs, which are all stacked on each other.

This is how the main desk model is split up into different sections with different UDIM tiles all using the same material instance. The skeletons on either side use two UDIM tiles: one for robes, the other for limbs, which are all stacked on each other.

The room was modeled in Maya. The holes allowing the desk feature to have proper indents cause incorrect shading, so the high-poly model removes these when baked over the low-poly version.

The room was modeled in Maya. The holes allowing the desk feature to have proper indents cause incorrect shading, so the high-poly model removes these when baked over the low-poly version.

The cellar room was also textured in Substance Painter. The idea is the wall was knocked down and rebuilt with smaller bricks to accommodate the desk feature. I used a mask with a bevel & emboss modifier to manually paint the mortar around the bricks.

The cellar room was also textured in Substance Painter. The idea is the wall was knocked down and rebuilt with smaller bricks to accommodate the desk feature. I used a mask with a bevel & emboss modifier to manually paint the mortar around the bricks.

These are the final designs for each of the ten magical artifacts held by the sculptures.

These are the final designs for each of the ten magical artifacts held by the sculptures.

As with the desk, and many smaller props in the scene, the magical artifacts all use one material instance. Most UDIMs texture two to three objects in a single tile set. From here on, all models were made in Blender and textured in Marmoset Toolbag 5.

As with the desk, and many smaller props in the scene, the magical artifacts all use one material instance. Most UDIMs texture two to three objects in a single tile set. From here on, all models were made in Blender and textured in Marmoset Toolbag 5.

This controls the chain for the flail sceptre. This is the same chain blueprint I made for my previous project, Wandering Preservatory. It populates a chain mesh along a spline component and rotates each instance by 90° along the X axis.

This controls the chain for the flail sceptre. This is the same chain blueprint I made for my previous project, Wandering Preservatory. It populates a chain mesh along a spline component and rotates each instance by 90° along the X axis.

Here, two UDIM tiles were used: one for all the individual candles, and the other for all the candle holders. This allowed me to use one material instance for all the candles and only swap out each instance's mesh asset via public variable.

Here, two UDIM tiles were used: one for all the individual candles, and the other for all the candle holders. This allowed me to use one material instance for all the candles and only swap out each instance's mesh asset via public variable.

All candles in the scene use one Blueprint. The script moves the flame component to the vertex with the highest local Z position, which is always the candlewick. The flame size and intensity are controlled by public variables.

All candles in the scene use one Blueprint. The script moves the flame component to the vertex with the highest local Z position, which is always the candlewick. The flame size and intensity are controlled by public variables.

I drew the book pages by hand in Affinity Photo. I wanted the design to be reminiscent of old woodcut illustrations. I then applied the texture as a mask in Marmoset.

I drew the book pages by hand in Affinity Photo. I wanted the design to be reminiscent of old woodcut illustrations. I then applied the texture as a mask in Marmoset.

For eight runes, I made normal maps. I used Affinity Photo's Live Lighting effect to manually project each colour channel onto the alphas I'd drawn. I then inverted the colours and used them as an indent brush in Marmoset for several smaller props.

For eight runes, I made normal maps. I used Affinity Photo's Live Lighting effect to manually project each colour channel onto the alphas I'd drawn. I then inverted the colours and used them as an indent brush in Marmoset for several smaller props.

This model uses the rune normal brush the most. The stave head resembles the one illustrated in the book. I wanted to give the impression it was unsuccessfully burnt and buried, then exhumed. It shares its UVs with the handkerchief it is wrapped in.

This model uses the rune normal brush the most. The stave head resembles the one illustrated in the book. I wanted to give the impression it was unsuccessfully burnt and buried, then exhumed. It shares its UVs with the handkerchief it is wrapped in.

The tools on the desk only use two UDIM tiles. Since the grips for the hammer and mallet are the same, they share a UV shell.

The tools on the desk only use two UDIM tiles. Since the grips for the hammer and mallet are the same, they share a UV shell.

The stool gives a sense of height to the scene. I started with a smooth subdivided grid plane for the seat and then tried to mimic the silhouette of the upholstery nails with a small ridge to lower the poly count.

The stool gives a sense of height to the scene. I started with a smooth subdivided grid plane for the seat and then tried to mimic the silhouette of the upholstery nails with a small ridge to lower the poly count.

Wood shavings were scattered around the whittling area using Unreal's foliage editor.

Wood shavings were scattered around the whittling area using Unreal's foliage editor.

Of the several lighting mockups I made during the design phase, these were the two I tried out in-engine. I eventually settled on a compromise of the two, keeping the red uplighting, but changing its colour to remain consistent.

Of the several lighting mockups I made during the design phase, these were the two I tried out in-engine. I eventually settled on a compromise of the two, keeping the red uplighting, but changing its colour to remain consistent.

During the lighting phase, I experimented with having wall-mounted torches. I eventually realised how much this detracted from the central focal point, so I kept them, but unlit them in the final scene to show how the room had been repurposed.

During the lighting phase, I experimented with having wall-mounted torches. I eventually realised how much this detracted from the central focal point, so I kept them, but unlit them in the final scene to show how the room had been repurposed.

The final scene is much darker and more ominous. While the lighting is not strictly realistic, I think it shows the figures and their individual features much better.

This has been a fun project to work on. Expect more soon. Thank you!

The final scene is much darker and more ominous. While the lighting is not strictly realistic, I think it shows the figures and their individual features much better.

This has been a fun project to work on. Expect more soon. Thank you!