Sergey Tyapkin shared his experience in creating an awesome Sci-Fi modular environment pack for UE4 Marketplace.
You can purchase the pack and the demo scene at Unreal Marketplace here.
Hello! My name is Sergey Tyapkin, I’m a Lead 3D Artist and Concept Designer at 5518 Studios. Now I’m 25, and I’ve been working in the game industry for 8 years, 5 years in outsourcing studios in particular.
I am a passionate Sci-Fi fan and I had some work experience with various pipelines, so I decided to improve my knowledge and create a modular sci-fi environment, as well as get acquainted with the Unreal Marketplace.
Modular Sci-Fi Environment Pack
This time it was not just a personal project for the portfolio, but a modular asset that would help other developers bring their ideas to life and create fantastic worlds.
I planned the modular pack to have good customization, a high texture resolution and fast pipeline for asset production. I also wanted to include more than 50 elements, so that it would be possible to create diverse spaceships interiors in a short time.
When starting to plan such things, you must keep in mind, that standardization of the objects by size and scale is very important for combining elements properly in UE4. In my case, the sizes of large objects are divisible by 50cm, and small ones – by 10cm. In the Modo scene where all objects are collected, there is a reference grid with a step of 50cm.
The objects are divided into three groups according to their size and have their own roles:
- Large: wall panels, floors, doors (to create basic shapes, with minimal detailing);
- Medium: terminal, table, cabinets (to hide the repeatability of the principal forms and add variety);
- Minor: cables, pipes, fittings, boxes (to complete a scene detailing, as they are usually the closest to the player’s camera).
Most of the elements have a rectangular or square shape and allow you to create varied corridors and rooms. Reusability is one of the most important factors in creating a modular environment. The more variety of basic forms you want to achieve, the more time you will need to spend at the planning stage so that your units remain functional in new combinations.
It is also important to create blockouts and add them to the test scene throughout the process to understand what elements you missed and what needs to be changed.
These principles are basic for modularity, but they can be modified and expanded depending on the project.
First, I create the basic forms in proper sizes and I assign the materials.
Next, I add chamfers to be sure that everything looks correct with FWN and use one smoothing group on the whole mesh. As a result, I get accurate chamfers without using normal maps and the object looks baked.
The next stage is creating UVs. For this, I mostly use automatic unwrapping in Modo with slight adjustments to remove seams in visible places. In the picture below the UV elements overlap each other and go beyond the square. It may look terrible at first but it doesn’t matter, as the main thing is to keep the same pixel density for all objects.
After that, I fix UVs of trim materials and add floaters and decals to create more details. Don’t forget to check the intermediate results with the assigned materials in UE4, plus create scripts for quick export because you’ll need them quite often.
For the pipeline I’ve singled out the following pros and cons:
- saving time when creating assets;
- economizing on the number of textures and, consequently, optimize the asset;
- standardization and high customization with using materials.
- a bigger number of materials per object;
- the geometry becomes heavier due to adding chamfers.
When using the pipeline you need to remember that materials are very important, because you will apply them to all assets. I used trims, floaters, decals and tiled materials.
Trim sheets are used to create details around the objects. I created the base for the texture below in Quixel Suite using NDO. It takes considerably less time than to make high-poly models and bake normal maps from them. All other textures were done in Substance Painter.
Learn more about NDO in this video:
Floaters are used to add small details over the main geometry. The textures were made in the same way. Besides, I made separate decals for inscriptions and stickers with the ability to toggle logo off in the material settings.
While making trim sheets and floaters it is difficult to say which elements will be used frequently, and which ones just a couple of times. Don’t be lazy and test more during the process.
The tiled material is one of the most interesting parts of this project. To create microsurfaces, I used a set of small size noises (512px) in a variety of combinations.
Using a set of nodes, that can determine the face geometry with Face Weighted Normals was very beneficial. It can be used for creation edge wears for metal or plastic.
More information about creating edge wears can be found in this topic.
To increase customization, I worked with such parameters of the material as color, roughness, dust, width, and intensity of wear effect and others. During such work, you can create a big material library.
This is how the same element with different materials looks in UE4:
After all the elements were ready, it was time to create a demo level for the presentation. At first, I didn’t have a clear plan and I started to combine a white corridor with different elements. Then I added windows on the wall between the corridor and another room, and a passage between them. The picture began to emerge and after I added a couple more passes and walls, the basic geometry of the level was ready. The ceiling was made on a separate layer as it was more convenient.
Working with light, I arranged the basic sources of light in a way to understand what places in the scene to highlight for the viewer. The rest of the time I was spent adjusting sources of light and getting rid of duplicate blocks by replacing them with other elements and materials.
When I was satisfied with the result, I moved to the post-processing in UE4. This is a very powerful and flexible tool for creating an atmosphere and improving the quality of the final picture. This is how the scene looked before and after the post-processing. The color shades became cooler, shadows were brightened, and the color saturation was reduced.
My advice is to create several versions of the scene so that you could always go back, take a fresh look and choose the most successful one.
When working on the project, I have encountered three main difficulties: planning, understanding modularity, and lightmaps baking. Here how they can be avoided:
Planning. A similar project would require at least 100 hours, and it will be difficult to find so much time for it if you already have a full-time project in progress. If you work full-time and want to try yourself on a marketplace, I would advise starting with a smaller project or teaming up with other artists. Otherwise, you may end up hating the project you are working on in your spare time.
Understanding modularity. On the internet you can find little theory about the modular environment and the principles of its creation, so your best teacher is curiosity. Start studying the corridors and rooms in such games as Doom, Halo etc., and also watch videos and interview with different developers.
Baking lightmaps. While you are setting the real-time lights everything looks pretty good. When it’s time for baking, you start struggling with adjusting settings and eliminating light bugs. It is difficult to give certain instructions on how to avoid this struggle, but I would advise reading the following articles on the topic to understand how different settings affect a scene:
And check out these videos from UE4 Lighting Academy strongly recommended by many people.
Debugging modes are also useful, as you can look at each channel separately (Lit, Unlit, Detail Lighting etc.).
On my YouTube channel, you can find the streams, on which I show the process of creating assets from the packs, so feel free to check.
And finally, here are the images of the finished scene!