Project Orion

Project Orion

Marc Lupión
by PixelKiwi on 31 May 2021 for Rookie Awards 2021

Hi everyone! This is my entry for The Rookie Awards 2021! In this post I describe a little bit of the project, how I did it, and of course, show to you all the final results! There's lots of text but feel free to just enjoy the media :D

7 312 0
Round of applause for our sponsors


Project Orion is based on an industrial facility on a distant moon, years in the future.

In this facility, robots work hard to extract a highly combustible gas to use as an energy source, storing it in very special containers.
I'm sure some of you might recognize them ;)

Project Orion has been made as my final degree project at FX ANIMATION Barcelona 3D & Film School.
The objective was to create a playable demo/gameplay of any kind, within the requirements they asked for this project.

I worked on it for 2 months and a half (including everything). The environment was made in 6 weeks and the character, implementation, renders, composition, etc... In the last 4 weeks.

My main goal was to learn about optimal hard-surface modeling techniques, understanding more complex workflows/shaders in UE4, and play around with the lighting in the engine.

Inspiration and references

My biggest inspiration was Star Citizen.

I got some screenshots and concepts I found as references, trying to model some of the assets as precisely as I could in the little time I had. I took it as if those were concepts given to me by a concept artist and I tried to replicate them.
Other things like the environment were made trying to just fit the mood, not replicating the existing concepts, so I could develop my level design a little bit more.
This helped me to obtain a better understanding of their workflow, while still trying to be optimal with my times to produce those assets.


I'm sure reading is not as fun as watching the results, so no more text and let's get to the fun part!

Here you have some screenshots of the environment:


When I first started I didn't know how I would be able to light up the environment, since it was a big place and I had lots of different moods I wanted to recreate.

After some testing, I decided to set different moods for every area. That way, every door opens to a "different" environment, making it interesting and surprising on every step.

I wanted to give an additional fantastic touch to the environment lighting (instead of going for a more realistic setting).
To do so, I tried to make the lights more vivid and add more contrast to the shadows.
This way, it would be more appealing to the eye and could generate a differentiated mood for each zone, and at the same time, it helps to create a spectacular change of atmosphere in every area.


The entire project was made by creating a modular set of architecture assets that I could later use as I needed to build the facility, combining them in different ways to get interesting and appealing results.

After that, I created a variety of props to place around the scene and give it some life.


Surprisingly enough, I used really few materials. Most of my assets were made using a custom curvature shader I made. After that, it's just a matter of applying a set of tileable textures and combining them to get different results. With that curvature mask, I can mix the paint with the metal below it.

The use of mesh decals together with the custom curvature made everything look like it was adhoc without having to export a lot of different textures, keeping the project well optimized.
Since most of my meshes were painted metal, I thought making a single material that I can reuse and recolor in Unreal would give me the best and most optimized results.

The process I did is the following:

1. Model the objects. Apply chamfers (a simple chamfer is enough).
2. Make sure the object has the same smoothing group. Apply weighted normals.
3. Group them by use. (Example: Columns, support beams, floors, walls, etc.)
4. Unwrap UVs, respecting a 512px x 100cm texel density as much as possible. Pack them together with their corresponding group.
5. In Substance Painter, bake curvature on the low poly using the same mesh (since the vertex normals already give the curvature you don't need to do a high poly).
6. Create a procedural curvature mask with scratches or any detail you need on the painted metal. 
(You can make a smart material and apply it to everything, saves a lot of time).
7. Pack different curvatures on every channel of a texture (RGBA = 4 sets of curvature).
8. Once everything is ready, it's just a matter of setting up the material in Unreal and... that's it!
*Optional: If your mesh has different materials or colors, you can separate the masks for each one and then create the corresponding materials on UE4.

Here are some example pictures:


As always, first of all, finding some references is fundamental.
These are the ones I used:

The process of creation was rather "simple".

Before anything, I had to use the basic UE4 mannequin as an "overall shape" template, since the animations I have been provided were based on it.

After that, I started blocking out the basic shapes, and after that, I got to the details. I tried to keep my polycount low but also not over-simplifying the shape too much.
Everything was made on 3ds Max except for the clothes (made in zBrush).

I would've loved to add more complex detail, but since I only had 2 weeks remaining to do the robot, I decided to keep it simple.

After modeling the low poly, I duplicated it and made the high poly adding loops and using turbosmooth on top. Sometimes I used chamfers if the geometry was simple enough. 

The bakes and textures were made in Substance Painter, which I used to add extra detail where needed and to create a couple of extra variations.

Some pictures of the process and final results:

Demo Reel

This entry is coming to an end!

If you are reading this I want to say... THANK YOU! Thank you a lot for getting interested in the project and reading through it.

At last, here's the reel I made with some videos and gameplay footage :)

If you liked this project I would love to read what you think about it!
And either you comment or not, make sure to give me a high five to show your support! ^^

Comments (0)

This project doesn't have any comments yet.