Kevin Andersen

Technical Lighting Artist. Or maybe VFX and Material Artist. Also Optimization and some other stuff. Changes from project to project, really.


Creed: Rise To Glory


Windows PC, PS4 (PSVR)


Lead Technical Artist



I did the lighting for only a few of the environments in Creed: RTG, and acted more as a tech-art consult for the others, i.e. fixing dozens of lighting, material, texture, and reflection artifacts for the environment artists. I created a material effect for the bruising feature that reddens and swells opponents' skin where they are hit. I also came up with optimization solutions like shadow proxies for all of the characters, ensuring dynamic shadows would not be too expensive on low-spec PCs and PS4. This project was also an early test bed for two special features that would later be refined and re-used in Westworld Awakening, the lightwrap skin shader and specular occlusion meshes. You can see the skin shader at work on the non-crowd characters in-game: the fighters, the coaches, the ref, and the announcer.

All shots are in Unreal Engine 4, as they appear in the game.

Lightwrap SSS Shader

Survios only makes VR games and VR games look better in Unreal’s forward renderer. It provides MSAA and per-object optimizations that the deferred renderer precludes by its nature. Unfortunately, not everything in Unreal has been fixed to work in forward, including all of Unreal’s SSS (sub-surface scattering) shading models. Just like with the Sprint Vector toon shader, I made a prototype light-wrap shader using the Unreal material editor’s node graph. Since you can’t make an actual shading model in the material editor, my prototype only supported one directional light (‘atmospheric light vector’ and ‘atmospheric light color’ nodes). I then showed the material graph to our rendering engineer. He and I worked together getting that logic into an actual shading model that could be used in the forward renderer.

After refining the shader logic and lots of tuning, the shading model was added to our custom UE4 branch and is now used in both Creed: RTG and Westworld Awakening.

The shading model in-game.

Specular Occluder Proxies

This environment does not use a planar reflection on its glossy hardwood floor. Instead, I placed very simple, cheap meshes beneath tall objects that would mask out the specular response on the floor. I had an engineer expose the custom depth buffer to opaque materials so I could read from it in the floor material, then sampled it multiple times to blur it into a convincing specular mask. I only wanted samples that would be along the floor, perpendicular to the player’s view, but in VR you can tilt your head, so a simple screen-space offset won’t work. I used the normalized cross product of view vector and world up, transformed into screen space, to offset the samples and blur the mask only along the ground plane. The effect is subtle here, but grounding objects is extremely important to immersion in VR.