Website powered by

Tech Art - ghost hand for VR

A "ghost hand" system I created for the VR game Lantern, for showing player's hands when they clip through level geometry.

The implementation consists of two hand meshes (because of the case when the in game hand is blocked by level geometry, and the two hands separates). One mesh is the normal hand. The other hand mesh renders into the custom depth buffer. A ghost hand material is applied to this mesh.

The ghost hand material is a translucent material. I needed it to render after the opaque material pass in order to compare it's pixel depth with scene depth. I also added inner triangle culling by comparing pixel depth and custom depth, because I believe translucency rendering twice really detracts from the immersion. Fresnel and a moving smoke texture is also used to make the hand look more "ghosty" instead of simply looking like transparent geometry.

handShader

Material graph

Material graph