Website powered by

VRChat Avatar Shading & Effects

1. Soft robust shading
Problem: In VRChat every environment is lit by players. The lighting methods vary from realtime to fully baked.
Solution: Softer shading by using diffuse wrap, which is pretty cheap

2. Specular
Problem: Unity Standard shows specular very differently between realtime and baked light
Solution: Fake soft specular (non PBR) that looks more consistent across lighting modes

3. Fur cards
Problem: Rendering cartoon fur
Solution: 3 UV sets, UV0 is overlayed on the body, UV1 is the card map (with alpha test), UV2 is for ambient occlusion. Normals also transferred from base mesh. Fur cards are modelled in VR using Gravity Sketch.

3. Fur cards
Problem: Rendering cartoon fur
Solution: 3 UV sets, UV0 is overlayed on the body, UV1 is the card map (with alpha test), UV2 is for ambient occlusion. Normals also transferred from base mesh. Fur cards are modelled in VR using Gravity Sketch.

4. Special maps
Problem: I have a lot of data and I want to limit samplers somewhat
Solution: Merge maps into rgb images but still in a user friendly way. The noise is to give a moving glow effect to the emissive, should the user apply an emissive map.

4. Special maps
Problem: I have a lot of data and I want to limit samplers somewhat
Solution: Merge maps into rgb images but still in a user friendly way. The noise is to give a moving glow effect to the emissive, should the user apply an emissive map.

The eye shader has separate inputs for iris and lens so that the eye can react with emotion triggers or other inputs. This setup reacts to finger placement on the controller, allowing the user to "pilot" their own face. In game footage.