Sin City game look with Unity and Photoshop

Apr 30, 2019 at 10:00 am by nemirc

Unity has a nice feature called the Postprocess Stack. It’s a component with a set of properties that let you modify the look of the game. You can do a wide variety of things, like adding bloom, DOF, perform color correction or use LUTs.

However, after working on the color correction my current project, Just Let Me Go, a horror game inspired by Haunting Ground but with a Sin City color palette, I can say the Postprocess Stack can get you places, but you may need to do some extra work on your own.

For a while, I didn’t have a clear idea of what I wanted the game to look like. I mention this because I think it’s important to note that I didn’t start development with the idea of “this is going to look like Sin City.”

Unfortunately, I don’t have images of the original scene without any kind of post processing because I didn’t grab any screenshots, so all I can do is show you the scene elements I used. As you know from my series of articles describing the development of “The Dreamlands: Aisling’s Quest” I am perfectly OK with using content from the asset store since I believe using pre-built assets is only half of the work (the other half being the work you put into making your own game, with your own creativity).

In this case, the entire scene is built with two different sets: the Abandoned Manor and the European Furniture (unfortunately, the second pack is no longer available).

The first thing I tried was use LUTs to change the color of the image. Basically, a LUT remaps one color into another color using a stripe-like texture. For example, you may change purple into green, red into grayscale, blue into red, and so on. As a reminder, I didn’t know what the game was going to look like, so I was experimenting with a lot of different things that would fit the tone. At some point I even tried a high-contrast grayscale (black and white) look (using a LUT) and I thought it looked really interesting, so this was the starting point.

After testing that black and white look, I began to think about it a little bit more, and I remembered Sin City. For those who don’t know, Sin City is a movie directed by Robert Rodriguez and Frank Miller (with a sequel titled Sin City: A Dame to Kill For), and it’s an adaptation of a graphic novel of the same name. The movie has this noir black and white style, albeit it will sometimes use other colors (specially red) to create a wide variety of effects.

At this point, the “you may need to do some extra work on your own” part comes into play: I figured it was better to not use a LUT, change all textures in Photoshop, and use another set of tools from the Postprocess Stack to manually tweak the brightness and contrast of the image. This also means I can decide to keep some color in some elements (like important pieces of furniture, props, etc.) as needed. For example, in this scene there’s a couch you can hide under, and it has a slight red tone, which pops out in the middle of a mostly gray scene.

Coloring the character was a different story. A while ago I made a custom skin shader for Unity that we were going to use in another project. I made that skin shader really open and adaptable, meaning it has a wide set of features including the ability to desaturate the skin texture. This means I didn’t need to change the skin texture at all, since I could control the desaturation of the character’s skin using the shader. The hair was a different story, though. Just like the rest of the props, I had to change the saturation of the hair texture to fit my needs.

I found that a big advantage of using this color palette is that I can get creative with colors for different things, specially characters. This is not only limited to outfit colors, but actually skin colors. Right now I only have two characters, so I will share more about that when I have all of them, a few months from now. Also, in the next article I will explore with you the Postprocess Stack so you can see the variety of effects that you can achieve.

Sections: Tips + Tutorials

This website uses cookies to ensure you get the best experience possible More Info
Got it!