There are AwesomeBump that is written in QT and do not require .NET Framework and has code open.
Интересно, не понятно зачем, но круто. Я бы хотел поучаствовать в проекте
Already have ndo, b2m, knald, and others.. Why another one?
Nic Belliard did a breakdown of his breathtaking sci-fi scene rendered and animated in UE4 within 2 weeks and gave a few tips for creating vast environments quickly.
Hey! My name is Nic Belliard and I’m a 19-year-old last year student at DAE Howest Kortrijk. I follow the course Game Graphics Production which involves creating characters, assets, and environments. My main focus for my projects is making sure that they feel alive and detailed, tell a story and keep you glued to the screen.
I’ve worked on a lot of projects throughout the student years, ranging from illustrations to detailed environment and characters. Most of my work can be found on my ArtStation page.
Back in high school, I didn’t know what to do with my life. I had no specific interests except for sci-fi movies and games. The main reason I got into the game industry was my mom, she noticed that I loved to draw when I was a kid putting small and ridiculous stories on paper. So she pushed me in the right direction and I’ll always be thankful for that.
Hangar 19 Project
I made Hangar 19 in UE4 in less than two weeks. It was created for my exam in the level decoration course. The goal of the exam was to create a complete environment taking into account performance and optimization in a short amount of time. It also had to be a scene in which you could look around as if you were playing a game and standing still to examine the environment.
We were totally free in what we could make having a choice of translating a concept art piece into 3D or making something out of your own. I started off with a concept but later decided to give it my own twist. This was the concept I started with, made by Ivan Laliashvili:
From the beginning I wanted this project to be huge and breathtaking. I wanted it to feel alive, detailed and immersive. I really needed to give the audience this huge feeling of the hangar with colossal ships coming out ready for war. I also wanted to present it in a trailer-ish way (and I did it).
Everything was recorded in UE4 and edited in Premiere Pro.
I started with the same point of view as in the concept, but I wasn’t happy with it. I spent a big amount of time on this hangar and I wanted to show its whole glory. I kept modeling and adjusting my field of view until I was happy with one shot of it. That was the most important shot: it caught the attention and was the one you could keep staring at.
Quickly Modeling a City: Tricks
Modeling a city can seem like a lot but it’s actually not. The first and most annoying steps are to just think and plan ahead what assets you need. With this, you can easily create a large complex 3D environment using smaller modular parts to form a whole that works together.
Simply said, the reason why the scene is so big is that there’s a lot of copy-pasting. The hangars themselves are simple primitives with just a lot of grunge pasted on top of it. Because of this, I could easily create a big scene in a small amount of time. To show this visually:
Because of my time limit, I had to play it smart.
Once I had my parts I could easily create something out of it even though they are just random bits and pieces. A lot of these parts were stretched and re-scaled because I didn’t have the time to create something new. For example, the helipads are just stretched out spaceships with a door placed on top and cables, lights and decals.
Same goes for my hangars. I created one hanger (finished, with small details), selected everything and then just copied and pasted it next to the original and edited a bit.
Not everything needs to be special on its own. If you see something from a distance, sometimes you only need the silhouette and that’s all. Think about your time and don’t waste it on creating something you won’t be able to see up close.
For optimization, I didn’t need to do much. My assets were pretty simple and had a low poly count. Some of them did have a lot more detail, such as my grunge parts. The way I fixed this was by using the LODS in UE4 itself which are pretty easy to use.
Simply said, the further the object is away from the player the more details are removed
Most of the details are placed close to the player and matters more than the background, so don’t waste time and space on placing too many objects somewhere in the distance where the player will never see them.
Particles can also be really heavy and here I used the same approach. Close particles are heavier than the distant ones because I upped their spawn rate. For example, bigger particles like the smoke from the chimneys catch the eye of the viewer, (that’s why I created more of those) while smaller ones like sparks or fallings leaves don’t need that much attention.
The ship was a bit of a struggle. I first started off with the original design from the concept and made a rough blockout (see below).
Doing this I felt like I was wasting my time because modeling and texturing a huge spaceship in a short amount of time is impossible. It was worth a separate project and I still had a lot to do for the environment.
Eventually, I downloaded a free model on the internet that I could use as a base and changed a lot of it to fit the universe of my project. It was a Frankenstein kind of deal. Sadly, I could not find the author of the model, so I can’t give him credit.
Here is the original model with changed textures:
I completely changed the textures, pushed the design and made the ship longer and wider in some parts. I wanted to achieve a more dramatic silhouette by adding open spaces and loose parts that pop out of it (e.g. red lights at the front). Additionally, I added thrusters with huge energy beams coming out to lift this beast up, lots of lights ranging from small ones to rotating alarms and spots to make it look like it’s searching for something.
Basically, I attached all the extra parts and details to the ship in UE4. This way I could easily move the parts around separately and make different iterations of the ship without having to go to another program for the changes.
The spotlight is just made out of 2 images: the lens flare that follows the player so that it doesn’t randomly disappear and the beam itself cast on a static mesh.
The thruster beam is a moving material using 2 different images working with the RGB channels to make it look as if it’s a pulsating energy.
This material is then projected on 3D planes which are put into a particle emitter that spins around and creates a beam of energy turning in one direction.
In the beginning, I felt kind of annoyed because I couldn’t make the ship from the concept due to my time limit. However, throughout the progress, I started loving the current design and now I wouldn’t change anything now. The final design:
Once I added the animations and saw the ships coming out of the gates from the hangar, they felt huge and frightening. And that was the feeling I needed for my project.
The textures were pretty simple and there’s nothing to brag about. I knew what I wanted to do and how to achieve it without making complex textures.
I did not focus on making amazing textures separately for each object. Instead, I paid attention to the whole view and the speed. The whole scene was important, so I made a simple texture with a primary color that localizes the damage where it hits another object and can also be adjusted to your liking. This texture was the base that I could re-use on all of my objects.
If you look back at the original concept you can see that the hangars are rough and damaged. They look like they’ve been through a lot and I wanted to show this. My goal, in general, was to make hangars modern and sleek but still brutal and frightening, in contrasting colors and with hard edges
Instead of making a material for this goal, I simply used decals everywhere such as text, logos, damage, scratches, oil stains, raw paint strokes, etc. With this, I had a lot more control over the damaging effect. This gave me much freedom and I felt like painting the canvas by placing different kinds of pictures all over the place.
Decals + particles:
The general contrast between white and a strong primary color always looks great. Complementing it with the lighting and particles finishes everything off really nicely.
Some of the decals I used:
Of course, the texturing for the ships and some other objects are done differently. They are just unwrapped and painted in Photoshop. For the ships, I also used some decals for the finished look.
For the lighting, I used a setup from EpicZenGarden which had a very nice looking HDRI to save me some time. It gave me a nice base to begin my lighting with.
My goal was to make a beautiful blue calm view which contrasts nicely towards the hectic and rough industrial vibe.
Most of my lights are static because I have a lot of objects that move around in the scene and cause moving shadows. Making all your lights movable = Rip PC. Way too heavy!
Here’s my setup:
First of all a simple Directional light:
Second a skylight with a custom HDRI:
Then I placed a Skysphere to up my lighting:
Then an Exponential Height Fog. This is where the magic happens:
The Fog helped to achieve a nice calm blue vibe around the scene and gave a mysterious misty mood.
Post Process Volume was the last touch:
I also have a lot of detail lighting. These as well are static and all of them are spotlights to optimize the scene. I could’ve used point lights, but it would destroy my framerate since they can be very heavy.
The alarm light is just a small blueprint made out of an object with 2 movable spotlights pointing outward and spinning around. Same goes for the lights on the spaceships, they are movable.
Over my whole scene, I’ve used a lot of smoke particles, all different iterations from the same particle. Some were smaller and some were huge. This was easily done by changing the spawn rate of the particle and resizing it to the correct scale according to what I needed.
For example, my mist that moves throughout the scene is just the smoke particle made lighter, with disabled velocity (so that it stays in place) and upped opacity in order to let the viewer see through it. The spawn rate was also increased, otherwise, you would see the image of the smoke cutting through the screen. This made the particle a lot heavier, but in the end, it was worth it.
Other particles like the sparks on the helidecks are taken from the free pack Soul: City.
The animations done in the scene is not difficult. My spaceships moving from one point to another are done using Matinee in UE4 by just dragging the whole ship to another spot. I did this with all of my ships and just needed to time the movements. Same for the doors of the hangars, I just dragged them from one point to another and that’s it. Of course, if you want to do more complex animations it’s better to use another program, but for a simple movement, this is perfect.
For the movement traces on the small spaceships, I re-used the energy beams for the thrusters and stretched them out.
Once I had the footage I edited it in Premiere Pro.
It was really fun to see how the project was finally coming to an end. With all these ships flying around, particles, music and small sounds the environment became alive!
To see the scene in the engine itself I created a separate video showcasing it. Sadly it lowered my fps because of the screen capture software.
I am really proud of this project. To work hard at something and blow people away with your work is just an amazing feeling. It’s also awesome to make something that sparks on the portfolio and I can’t wait for the next project.
As for the difficulties, I really struggled with materials and my main focus now is to learn more about how to make them, because this would push my skills to the next level.
But the most difficult part was to keep working on the scene. When we received the assignment we had to make a blockout, and once I finished it I got stuck. I just couldn’t continue it and there was no motivation. But I forced myself to move forward and only then finally found motivation and joy in work.
Thank you for reading, and I hope it was worth the time spent!