Andrew Indrikson, Toivo Glumov, and N Kayurova talked about their newest project, created for the #NeonChallenge, organized by Unity.
Working with references
We used a lot of visual references for Soul of a man. What we wanted to adapt from Blade runner 2049 was its’ subtle color palette. We didn’t want to go for screamy colors and lots of visual noise, in part because it was something everyone comes to expect from cyberpunk setting. Soul of a man is largely devoid of vibrant colors, with lower levels dimly lit by neon signs and a lead-colored sky overlooking the landscape. So our environment shouldn’t necessarily give you the Blade runner vibe since we only adapted a certain aspect of its’ visuals. We used our visual references for different purposes, some of them were only used for a certain element we thought was cool, or for some general feel or idea. We had a doc for this project, detailing all the stuff we had to make, from props to VFX elements. It contained cropped pictures of our visual references for a certain part, and a short text description for every entry. It was really that simple.
For instance, we were inspired by the concept work done for Ghost in the Shell movie (the whole concept of solograms and crazy AR cityscapes) and HK project, too (which is part of the reason why the bright red archway turned out the way it is).
The central building, our point of interest, is essentially a sologram itself.
There is a term ‘tarp architecture’ jokingly used in Russia to describe the practice of covering old decrepit buildings with colorful tarps to hide their unsightly appearance.
In a similar fashion a hologram projection is covering the only bright and vivid building in the distance. So we wanted to convey this idea of the hologram raveling out like old fabric. revealing the fact that the building has actually been abandoned for a long time.
We also took a lot of inspiration in street art as we wanted our environment to feel like it’s a living breathing space so we had to find some real urban space references. We didn’t want the graffiti to just be some generic texture detail staining the walls, we really went for some stylish pieces.
We found some reference pictures of street art in old eastern European cities (because they are the closest setting visually to what we tried to achieve), gave them to N Kayurova, our concept artist, and asked her to go nuts with it and only use those pictures as a general inspiration. We feel like the images she created for this entry really helped reinforce the atmosphere and ground the whole thing in reality.
Yes indeed, this new environment is in large part composed of the assets made for the Old Fund environment. For this new project we wanted to exaggerate the look of buildings existing in real life. So we formed them into a very narrow street and made them substantially taller – they are all 8-10 floors tall while these types of houses are rarely taller than 5 floors in reality. That way we could also get the lighting gradient we were going for. We also needed a different color palette for this environment but the Old fund assets are using the raw sbsars imported into the engine so changing colors of materials was just a matter of tweaking a few parameters. The sci fi city is generally crazier and bigger than the real city, and obviously has some additional elements to show the advanced technology that is part of everyday life there. In portions of this environment we just copy-pasted some of the buildings from Old fund with all the walls and roofs etc. and just added a few more floors. Time was an issue so we had to re-use as much as possible. After this it was time to make it crazier or, rephrasing the words of wisdom by Paul Richards, to ‘mess it up a little’. There is one hanging corridor connecting two buildings in Old fund environment. For Soul of a man we did three to add verticality and depth. We added more aerials on roofs to make more visual noise and show more technological parts. Then we added another layer to this environment, with assets crafted specifically for it. We made lots of wires, fuse boxes, neon signs and other elements to add to the ‘sci fi’ side of things. We didn’t want to go full retard with it, however, so you won’t see holographic dancers and flying drones everywhere – there are just some versions of everyday real life devices. Our district is clearly not for wealthy citizens so making grimy appliances grounded in reality made sense. There is really a lot of wires and intricate electrical devices in this environment, to account for a wider distribution of technology.
Lighting was a key part of our design for Soul of a man. We wanted to distance ourselves somewhat from the regular visuals of the cyberpunk/sci fi genre so we didn’t want to do the glamorous neon night and instead went with moody ambient daylight. We arranged our buildings into a very narrow and tall street. That way we could get a gradual lighting gradient where the bottom of the street barely sees any daylight while the roofs and the higher floors are relatively brightly lit. Social inequality and verticality are a common trope in cyberpunk so we wanted to communicate that the people living down below are in a very dark, unfriendly environment, where the sunlight is obstructed by huge buildings and the streets are mostly lit by dim neon signs.
The primary lighting gradient is defined by the sky HDRI map.
Next, we added volume area lights where the large glowing signs are.
To emphasize certain parts of the environments we intensified the lighting there by adding point lights. They were also used for some of the smaller signs in the scene.
You can see in the picture an area light being used with the glowing sign but we also added point light on the right to create emphasis on the wall by adding a light spot there. To light the wall with the sign itself additional lights were used as well. All of those light sources, except for the area light, would later be baked down to lightmaps.
Volume area lights provide very pleasant soft lighting and they can be made rectanglar, which was perfect for our purposes. They have limited length so we had to solve this by placing one area light next to the other, with lower intensity. Spot lights were also used for hanging lamps.
(We added another subtle point light to get a sharper light spot where the lamp shines on the wall – that just looked good)
We placed our primary light sources based on our design and composition but we ended up dragging lights around a lot while working on the environment, and left them where light and shades looked good. Later we would add a lamp or additional glowing sign there.
Reflection probes and progressive light baker did the rest of the work.
We used Unity post processing stack v2 for this work, it is a powerful tool for image correction. First things we noticed were the more flexible color correction settings, and more advanced antialiasing and SSAO, compared to the previous version
You can see some of the post processing settings below:
We used material layering workflow, just like we did for Old fund project. The basic materials didn’t change a whole lot, we simply tweaked some parameters and adapted them for this scene. You can learn more in the Old fund article.
We added some grime and leaking decals this time, they were simple geometry in Multiply blending mode. They were mostly placed underneath the roofs, in the inner corners of the buildings, and in contact areas of metallic parts.
Of course we did add quite a few new materials for this scene but most of them are fairly simple.
Here is an example of a moving LED screen material:
Unity supports the customizable text parameter, so we created text signs right inside the engine. We also exposed the text movement speed parameter, screen flickering and things like size and color settings.
Working with Shader Forge
Indeed we used Shader forge to create some of the special case shaders we needed for Soul of a man. We think it’s a great tool allowing artists to quickly prototype different materials and create interesting motion in their scenes. The primary thing we used it for was the glitch shader that you can see on the floating logo in the beginning, some of the LED signs throughout the environment and, of course, the main building hologram dissipating at the end of the video. It had to be very versatile as it was used on a lot of assets throughout the environment so this shader has a lot of tweakable parameters for things like glitch amount, speed and direction. The dissipation animation was also exposed as a parameter and was later animated in Unity.
Snapshot of the graph
Striped shapes generation
We wanted the holographic building to still look realistic while glitching out. You should be able to clearly spot that there is something wrong with it but only in the end, when the hologram breaks down, should the viewer realize the entire thing is an illusion. This is why we used a PBR shader with transparency and added UV space distortion to break the surface up.
There is also some clever usage of decals mapped to the same set of UVs to break up the silhouette of the building as well
To make the glitch effect itself we used a few sine waves to create a moving striped pattern and some high frequency flickering. Then we added a texture with a lot of squares and noise to this effect. The resulting mask was used to displace UVs and also served as a mask for shifting colors to create a slight chromatic aberration look.
For dissipation animation effect I used a texture mask with a pixelated pattern. The mask has to be darkest in places where the effect starts sooner and brightest in places which stay visible the longest. The dissipation amount parameter is subtracted from the mask and the resulting value is rounded to the next closest integer. So you have this illusion of more and more tiles disappearing as the hologram ravels out. The dissipation mask, raised to a power and subtracted from itself, is also used to get the rim of the effect and add some colored glitch and aberration there.
The glitch shader could be made cheaper and adapted to be used with tileable materials but we were on a tight schedule so we feel like it turned out alright for what it was.