|
Features

Visual Look Development: Star Trek Online Starships - Pt. 2
Final Lighting Techniques
We ultimately abandoned PRT and went with a more traditional lighting solution. Our lighting environments are a combination of a single point light and an environmental cube map.
The point light represents the main sources of light in the space scene. It is typically the nearest star. Per-pixel diffuse and specular lighting is performed for this key light.
The cube map represents the contribution for other, more diffused, sources of light. For example, a nearby nebula might add a colorful glow to one side of a ship. That nebula would be painted into the cube map. Once painted, the cube map is converted to spherical harmonic basis so it looks like diffuse lighting and less like a reflection. We look up into the cube map for an additional per-pixel diffuse and specular component.
For our shadowing solution, we decided to go with the stencil technique. They got us closer to the look of our source footage and looked better in space in general. Shadow mapping looked great at a distance, but the resolution couldn’t hold up when the camera got close. Stencil shadows modulated the contribution from the key light.

Final Texturing Techniques
There are as many as six textures for each ship: color, gloss, normal, incandescence, illumination and ambient occlusion. The final game assets combine some of these textures.
A color texture provides the base color of the model. The quality of the color map turned out to be extremely important. Ships are like characters in this regard. This contrasted sharply with our findings in the interior look development where we discovered lighting was more important than texture detail.
A gloss map modulates our specular highlights. We have two specular highlights – one from the key light and one from the cube map. Both are modulated by this texture. A specular detail map is used to break up the highlight on some materials.
A normal map is used in both the per-pixel lighting from the key light and in the cube map look-up. The normal map is created by modeling additional detail features onto the low-resolution model. This creates a high resolution model which is sampled and converted into a normal map. The normal map is applied to the low resolution model.
Glowing features are painted into an incandescence map. A post-rendering screen effect is used to bloom incandescent features.
Starships have running lights which shine on their surface. Implementing these as real lights would be unnecessarily expensive. Instead, they are baked into light maps. The light maps are treated as an additional source of diffuse illumination.
The ambient occlusion map is generated offline. It modulates all the different lighting contributions. This creates dark crevices and contact shadows which give a lot of realism to the model.
Finally, we add motion blur and film grain. Our current motion blur implementation is a full screen effect using an accumulation of past frames. The film grain effect is a simple application of a noise texture.
End
|