Christoffer Ryrvall did a breakdown of his Castle Interior project: modeling in Blender, texturing in Substance Painter, scene assembly, and lighting.
In case you missed it
You might find these articles interesting
Hi there! My name is Christoffer Ryrvall, I am 21 years old and come from Nykoping, Sweden. Recently, I graduated from PlaygroundSquad studying game art with my focus on environments and props. During my time at PlaygroundSquad, I met many amazing people and had the chance of working together in teams to produce games within deadlines, learned relevant software and artistic skills, and finally as part of my education, gained hands-on experience as an intern at Starvault AB.
I was trained in Maya, but I’m currently using Blender for most of my projects (this one included) as a matter of personal preference.
Castle Interior Project: Goals
Starting off the project, I chose to make an environment partly to fill out my portfolio's lack of environments but moreover, to improve my knowledge of Unreal and environment art workflow.
As I had recently posted a medieval-looking character, I figured that I wanted to include it somehow. Finding a couple of references of castles on Pinterest pushed that idea further. I used PureRef to store and organize references.
There wasn't so much of a clear goal in mind when it came to designing the environment. It more or less happened later as I went along with it.
With that done, I started blocking out in Blender.
Since I knew the project was meant to be for Unreal I made sure to check scaling beforehand between Blender and Unreal by importing the Unreal mannequin to Blender and vice versa the blockout to Unreal.
What I didn't plan however was the entire scale of the environment. And the more I continued to block out, the larger the scene grew. Considering my skill level both for Unreal and environments in general, making the placeholder pillars 100 feet tall wasn't really one of the brightest ideas. Then again, it’d be a shame to stop and redo it at that moment.
Inspired by the architecture of mosques, I went ahead and added domelike shapes around the sides. Which in turn helped to break up the “trapped in a box” feeling and add a bit more volume to it all.
Speaking of the pillars, they felt very basic at first, so I decided to redo them completely going for a look similar to cathedral interiors. That also brought about the idea of adding large fabric hanging from the ceiling.
Let's move on to modeling and texturing. When working on the walls, pillars, etc. one of the most important things was their modularity and also the feeling that it was all made from the same type of material.
Working on the entire environment as one rather than focusing on one specific asset at a time felt like a very important mindset so as not to waste time on something that might not be needed in the end.
With extensive usage of curves and creating different curve profiles to shape the bevels around the stair handles, I got a smooth look that I could also change later.
Similarly, I used curves to shape the curly parts on the chandelier making it very easy to handle any future adjustments to the bend. The rest was done by regular poly modeling using lattice whenever I decided to add a bend to an object.
Despite Blender's lack of proper UV tools, add-ons like TexTools and UVPackmaster 2 made straightening and packaging UVs a breeze.
Since each modular piece was going to be absolutely massive I figured tiling textures would, without a doubt, be required. But it wouldn't be a particularly interesting environment if everything had the same texture plastered all over.
Settling for layered materials, I then only had to export masks from Substance Painter. This would allow me to tile textures without losing quality. In addition, I could also replace any of the textures to completely change the environment if I want to.
A great guide for starting out with layered materials:
The texturing process itself was quite simple, mostly consisting of a mask builder generator, reducing the grunge value to make a more clear edge around the sharp spots of the object.
The fabric was a little trickier. By using several layers of height and combining the UV border generator with blur filter on top I was able to create golden borders around the fabric.
For metals, I used mat finish filters.
Again, I tried to reuse as many modular pieces as I could and be creative in their placement – like modeling the Candleholders right off the chandelier crowns, connecting the platforms with each other.
Using Blender's collections, I was able to build the foundation of the environment entirely within Blender while also allowing myself to quickly change each modular piece separately whenever I saw fit.
This workflow resulted in some complications when attempting to export everything to Unreal. Using “import to level”, I was able to import the entire environment via collections and it seemed to have worked perfectly.
For some reason, the actors in the environment were set to hundreds of times the scale, and the static mesh placed inside the folder was hundreds of times smaller. Funnily enough, Unreal had managed to deceive me making the actors look like they had a proper scale.
Thankfully, I found a simple solution to it:
- First, exporting the collections without the models
- Then exporting the collections' actual models.
- Setting the scale of all the actors back to their regular value.
- Finally, replacing the actors with the imported models using “replace all actors with”.
Lighting and Post-Processing
Although it wasn't really necessary, I decided to at least make an attempt for baked lighting. I started off with adjusting one point light, then replacing all chandeliers with a blueprint containing the same adjusted light. I repeated the process for candle holders before adding spotlights near the windows and used a colder temperature setting to blend with the warm shine of the candles.
One of WorldofLevelDesign's guides came in very handy both setting up lighting and baking as well as figuring out tools and features in Unreal:
Finally, I increased the exposure and contrast slightly while tweaking the hue values under the post-processing to match the setting and the mood.
Despite my lack of knowledge when it came to both working with the tools featured by Unreal on top of figuring out a proper environment workflow.
Attempting such a massive environment was an overscope for sure, but in the end, it proved to be a worthwhile experience. Despite my lack of knowledge in Unreal's tools and proper environment workflow, I got decent enough results. And I'm certain I can do even better next time!