Epic Games Realistic Environments Substance Designer ZBrush

A Sci-Fi Room: Blueprint, Lighting, Vegetation

Thorsten Ruploh did a detailed breakdown of his piece Thinkers Haven made with UE4, Substance instruments, 3ds Max, and Megascans.


My identify is Thorsten Ruploh, I’m a 3D Artist and at present dwelling in Berlin. My journey started in 2010 once I was shifting right here to start out learning Recreation Design at the University of Applied Sciences. During my research, I received a broad overview of all the totally different elements which are needed to create an actual recreation. Meanwhile, 3D turned my passion because it requires an inventive eye however on the similar time an understanding of your work on a technical degree. After college, I worked at totally different corporations on very totally different tasks – from cellular titles to console to PC VR games. Alongside the best way, I met nice colleagues, new buddies and discovered a ton concerning the significance of teamwork and streamlined workflows.


I stumbled across an idea for this surroundings on ArtStation. The concept was carried out by Rasmus Poulsen and enormously fitted my need for a small setting that does not appear to be something you’d frequently see in different portfolios. At that time, I used to be excited about doing an surroundings piece for my portfolio since I didn’t have anything updated. My objective was to capture the preliminary mood from the concept (particularly for the lighting), try to keep on with the reference as close as potential and make the most of Unreal blueprint to attenuate iteration time. Additionally, I needed to create the opposite aspect of the room, which is not seen in the idea, to have the ability to present totally different angle views of the surroundings.

Planning Surroundings

At first, I tried to interrupt down the idea into different things.

First, I deliberate the backside of the room with regard to what might make sense for the surroundings (Where do all of the cables come from? How can a person enter the room? Where do the crops on the underside come from? and so forth.) Then I tried to get a really feel for the room dimensions. Since I received no flooring plan with actual numbers, I used the person from the concept as a place to begin to measure proportions and based mostly all my measurement calculations on these outcomes.

After that, I began to shortly block out the scene in Unreal with some primary meshes to get a feel for the area. This process includes a number of iteration and continuously checking the blockout towards the proportions of the idea. Once the blockout was in place, I began to consider setting materials, the props I needed to create and gathered references for all of that.


Like all the time, lighting performs an enormous position in promoting the environment of a venture. I took one other take a look at the concept and tried to seek out all the necessary lights within the scene. The windows and lamps hooked up to the guide instances are undoubtedly creating the environment of the room. These are my main lights that I undoubtedly wanted to match to the concept. So the very first thing I started to do was to tweak my directional mild and my skylight to the purpose where it came close enough. The skylight captures an HDR image that acts as my sky and is about at an intensity of about 0.25 cd/m². The directional mild has an depth of 3 lux and makes use of a temperature of 6000Okay. This was a very lengthy process and required lots of forwards and backwards. Fortunately, Luoshuang’s GPU Lightmass baker saved me countless hours of ready time and offered great outcomes even on decrease high quality settings.

Once I was achieved with the initial setup, I moved on to work on the setting and left the small print of the lighting open till the top of the venture. On the end, I started to put some fill lights where I needed to have some accents in the scene based mostly on my digital camera places. These fill lights have been static lights with the same colour temperature because the solar because most of the time, they should enhance the light that was meant to fall via the home windows.

The lights for the bookcases include two lights per lamp. The first mild is a stationary level mild with an IES profile and creates the tough lightcone that illuminates the books. The static rectangular mild acts as a fill mild that illuminates the environment to simulate the light that is forged further into the room. This creates delicate illumination on the ground and the opposite elements surrounding the e-book instances. The temperature for these lights is around 3200Okay to create the nice and cozy lighting that is in distinction to the blue mild from the surface.

The sunshine coming from the windows was pretty tough to set up. The blue colour that is forged from the sky was not as intense as needed to match the concept. So after an extended period of testing totally different mild situations with totally different post-process results, I made a decision so as to add translucent emissive planes to the windows to pretend the colored bloom occurring there. The material is about to unlit translucent and I added a depth fade to cover the transition of the aircraft and create a delicate gradient at the edges.

The overhead mild is visually fascinating and creates a pleasant distinction for the interior lighting with the cold colour. I positioned the oblong lights lower than expected because otherwise the ceiling would have been illuminated too much. Moreover, the reflections of the lights were not seen from some digital camera angles if the lights have been placed appropriately.


Since there are numerous books within the surroundings, I knew from the beginning that it’s not likely efficient to put all of them by hand and efficiency can exit of hand shortly. So I decided to let a blueprint deal with all the location and colour variations of the books. The randomization happens on two ranges: in the course of the placement of the meshes and within the guide materials to get totally different colors and variations. The guide mesh is placed as an instanced static mesh to scale back draw calls and to allow me to make use of the PerInstanceRandom node in the material for the color variation.

The Blueprint is predicated on certainly one of Unreal Engine content examples for procedural blueprint placement of a fence. I can place the blueprint in the degree, move the endpoint to the place I would like it to be, set the thickness of the mesh and the blueprint locations the e-book meshes with small random offsets between start and endpoint. One essential facet is to use a ‘random stream’ as a result of it’s deterministic. With this setup, I can reopen the extent and the books are still on the similar place as earlier than (because the random numbers are still the identical) and the lightbake is just not broken. You’ll be able to still modify the random offset by changing the random stream enter seed. Take a look at Unreal Engine documentation right here if you wish to know more.

Initially, I created the textures inside Substance Painter. The textures are created like a flipbook texture: every quarter of my UV area represents a new guide cowl with totally different supplies and decorations. The alpha slot acts as a masks to lerp between the colour tint and the base texture.

The material itself is pretty simple. It principally shifts the UVs of the mesh to show the totally different e-book covers and tints the bottom colour map with a shade swatch that I created as a colour curve within the engine. This saved me quite some iteration time since I didn’t need to go away the engine to regulate the colors.

The UV offset and the colour tint are driven by the PerInstanceRandom node which outputs a worth between 0-1 for every mesh occasion of my instanced meshes. This output determines the position of the UVs contained in the flipbook node and the UV offset is passed on to the precise ebook textures.

The bookcases are principally tileset meshes in several variations. They share the identical texture sheet and fit precisely contained in the wall meshes the place they are situated. Moreover, I created a blueprint for them and hooked up the lamps with the in accordance lighting setup inside the blueprint as properly. Because the lamps are a separate blueprint, I solely have to tweak that blueprint and all modifications are handed on to the bookcases.

Different Props

All props within the scene are modeled with the same ‘big to small’ strategy: all of it starts with reference gathering and the blockout. After that I place the mesh in the scene and make some changes if wanted. When the blockout works effective, I start to work on the highpoly, lowpoly and the textures.

For the highpoly modeling course of I really like to use the ‘Turbochamfer’ plugin from Wahyu Nugraha. I added the power to regulate the amount of chamfer edges and am utilizing it ever since. Grab it right here, and throw some cash at him! Normally, I wish to work this manner as a result of I can simply modify edge loops or delete modifiers from the highpoly to get a great base for the lowpoly. This was especially true for the middle desk because a lot of the details have been spline-based and I might simply lower the interpolation steps for them to get the lowpoly.

After that, I merged some meshes with boolean operations and did my UVs. Baking and textures are accomplished in Substance Painter. The base materials for the desk was taken from one of the wood supplies that ship with Substance Painter. I utilized some shade tweaks and layered dents, scratches and filth on prime.

For the projector, I was fortunate to discover a good mannequin with plenty of reference photographs and a few measurement measurements, so the blockout in 3ds Max was comparatively straightforward as a result of I had actual sizes for an important elements like the primary corpus and the film reels.

Because the blockout was executed fairly fast on this asset, the blockout mesh advanced into my basemesh for the highpoly. As soon as the bottom varieties have been okay, I used booleans to add extra particulars to my mesh. This process enabled me to not worry too much concerning the topology intimately as a result of when the small print line up appropriately, every part else starts to fall into place. For instance, the movie reels could seem tedious to mannequin by hand, but with a bit of preplanning and matching cylinder sides, every thing turned out fairly nicely. I’m even capable of make adjustments to the mesh after a lot of the other stuff is completed – this keeps me tremendous versatile.

After my basemesh was achieved, I used a mixture of the TurboChamfer plugin and ZBrush dynamesh technique to generate my highpoly for different elements. On some events, I had to use ZBrush because the chamfering algorithm tends to supply some odd topology that isn’t fitted to subdivision in 3ds Max. Since my basemesh consisted of proBoolean meshes, I might copy the whole thing and lower the interpolation steps of chamfers for my lowpoly and then do the UVs. Substance Painter was again my software of choice to bake the textures and create the ultimate materials.


The meshes in the upper part of the room have been things that I spent fairly some time on. The ceiling itself was initially finished with Substance Designer and refined in Substance Painter, plus I built a mesh in 3ds Max to help the general silhouette that was needed for that piece. For the higher partitions, I did a primary blockout of the mesh and later created one texture sheet for the complete mesh collection of the highest part.

For the ceiling, I created a substance graph that was used to generate the overall heightmap. The smaller particulars have been created in several subgraphs to maintain issues organized and more readable.

The tough half was to put the totally different particulars on the according elements of the ceiling whereas on the similar time have accurate masks to hide the small print the place they were not needed. In the long run, I created a traditional map from my base ceiling form and chosen totally different elements relying on the slope of the ceiling and which detail wanted to be masked.

As soon as I used to be accomplished with the peak, normal and ambient occlusion map, I imported the textures to Substance Painter because I needed to layer a plaster materials that I did earlier on prime. This might totally be feasible in Substance Designer, however I want to work in Substance Painter because the node connections can get messy pretty shortly for layering totally different supplies collectively. Moreover, I am nonetheless versatile and may change materials shortly or add more filth and grime on prime if needed.

The opposite walls that connect to the ceiling are handled like all other tileset meshes. They have been blocked out at first, then refined step by step. Initially, I planned to use a trimsheet for all of the wall decorations however I ended up utilizing one texture sheet per wall tileset.

Flooring & Column Materials

All tileset supplies have been created in Substance Designer or Substance Painter. For the floor, I created a base material in Substance Designer and refined the mesh with a easy vertex blend shader to create extra macro variations across the surface. Moreover, I tinted the basecolor map inside Unreal to have direct suggestions about slight shade modifications within the engine.

The trickiest half was to stability the roughness details and have simply the correct quantity of distinction to keep away from a uniform and too noisy look. In the long run, I used a flat roughness worth within the shader and let the vertex painted detail modulate the roughness values. This created a low distinction variation throughout the surface that created macro particulars with out wanting repetitive.

For the concrete columns, I created the fabric in Substance Designer. Principally I caught to the overall rule of thumb when engaged on materials: work macro to micro, create the heightmap first and then roughness and basecolor. For concrete supplies, I feel that the basecolor map could be troublesome to create because of the very faint shade variation throughout the floor. If the contrast is just too high, the fabric doesn’t seem like a real surface, if the distinction is just too low, the fabric appears uninteresting.

Especially for concrete, I like to use gradient mapping to some type of cloud noise. The resulting noise is great to use for roughness particulars or faint basecolor variation.


The vegetation pushed me out of my comfort zone. On some events I have already worked on vegetation but solely on small stuff. For the small bushes I used a free device referred to as TreeIt. It was completely enough for my needs. Because I needed to save lots of production time, I used Quixel Megascans for the vegetation textures. Often I attempt to create all of the essential elements of portfolio tasks on my own, however in this case I decided that the textures are just a small part of the setting.

The creation in TreeIt was fairly straight forward for the bushes. I exported the ultimate mesh as an .obj and glued the UVs for the leaves to match the Megascans knowledge because it was a texture atlas. After that, I imported the mesh to the engine and began to paint the foliage at the desired locations.

The hanging crops have been created a bit in a different way. Because I wanted to have extra control over the location of the leaf playing cards, I decided to make use of the thing paint device inside 3ds Max. At first, I created a aircraft on which I painted some splines to have the stems for the leaves.

Then I created some leaf playing cards in several sizes and used these playing cards with the item painting software.

The necessary half is to color several occasions with totally different leaf sizes. First, I painted the bigger leaves with measurement variation. After that the medium and small leaves. Once every part was roughly in place, I hand-edited the positions of some leaves to be closer to their stem and stop clipping. Additionally, I tried to determine totally different layers of leaves to offer some depth to the entire plant. On the finish I utilized a bend and an FFD modifier to additional enhance the quantity of the whole mesh.


One of the greater challenges was to nail the temper I was going for with the lighting and the post-process effects. Initially, my lighting was fairly totally different and I by no means received the contrast proper between the inside brightness and the brightness with the bloom impact of the exterior. The outside must be brilliant enough to create a delicate bloom and only give a hint about what is occurring on the surface. I attempted a number of totally different lighting intensities in combination with totally different bloom settings, however in the long run, it did not end up the best way I needed it to be. My answer was to stay with the lighting and post-process results that already worked at that point. On prime, I added some emissive translucent planes in entrance of the windows which have a blue tint to simulate the brilliant exterior with the color accent. This mix came fairly close to the effect that I had in thoughts.

Then again, I had the issue of time management and with the ability to work on the scene for some longer durations of time to deliver the standard I needed to realize. Creating a scene while still having a daily day job is usually a fairly exhausting process and placing multiple or two hours after work into the venture was typically not attainable. I attempted to seek out sensible options and to cut corners every time I might. An example of that might be the busts and statues which might be scattered around the surroundings. Since it was undoubtedly out of scope to create all these by hand, I tried to search for 3d scans of the very same things on-line (as a result of I feel that every paintings was placed in the room for a really particular purpose). Sadly, I couldn’t discover any of them. As an alternative, I went for a unique strategy and considered what might be the rationale for the busts to be hidden. So I came to the conclusion that the inhabitant of the room planned to go away the place for fairly a while and distributed blankets to protect essential stuff towards dust. This gave me the power to cut down manufacturing time and also have a little little bit of storytelling happening on this piece.

Thorsten Ruploh, 3D Artist

Interview carried out by Kirill Tokarev

18 Substance Painter Brushes by Sean Ian Runnels – vital for any texture artist!

Examine the complete description

Contact Sean Runnels