Furality Sylva Shader Documentation

The Furality Sylva Shader

What it does

The Furality Sylva Shader will stylize your avatar to fit right in with the art style of our worlds and with other attendees. The shader also provides your avatar with a toony appearance. In our club, the shader will let your avatar become part of the light show with extensive options for both our own Luma Glow system and AudioLink.

Luma Glow V4!

Luma Glow has a new iteration with this shader that uses updated VRChat udon to assign shader globals. This increases performance drastically but unfortunately is not backwards compatible with older Furality shaders supporting Luma Glow.

What is Luma Glow?

As you explore our Furality Sylva worlds, your avatar's emissions will receive special effects. For example, while inside our club, your emissions will pulse, change color, and flash with the beat of the music. Also, other Furality Sylva worlds will affect your avatar emissions differently.

Luma Glow is an entirely programmed light show created by our AV Team to be perfectly matched to the music and lighting in Club F.Y.N.N. during Furality conventions.

AudioLink is instead a generated effect from the audio feed created by analyzing the sound playing itself.

Optimized world-to-avatar control

This shader was designed to read data directly from our own sources. This means you don't have to do any audio processing on your end! Other effects are processed on your GPU, saving you that precious CPU performance.

How will the worlds affect my emission colors?

Our worlds will tint your emission color by another color. If you want to receive our world colors exactly as they are without any tinting, use a white and black emission texture.

How to apply the shader

How to use Luma Glow - Simple

screenshot highlighting the enable emission checkmark

The simplest way to use Luma Glow is by using your emission. Drag your emission texture into the little square next to “Emission” or click the small circle to open a texture browser. After that, check the “Enable Emission” checkbox and make sure the color that is marked “HDR” is set to white so your emissions show.

screenshot highlighting the emission glow dropdown under luma glow

Now, open the Luma Glow/AudioLink dropdown and, under that, open the “Emission Glow” dropdown. Here, you can select one of our Luma Glow zones from the list.

Luma Glow zones are entirely aesthetic. It doesn't matter which one you pick! The zones are there so you may coordinate with friends and have all of your effects match up. Or maybe your avatar has multiple materials, and you'd like to vary the effects a little bit on each one. That's what these are for!

Luma Glow gradients are similar to zones but support even more complex patterns. However, they also may require additional setup for some avatars if the effect passes over a UV seam.

screenshot highlighting zone 1 being selected under luma glow

With a zone selected, you're done! You can now join the Sylva Shader test world and see how your avatar looks! If you run into any issues, feel free to ask for assistance in our #shader-help channel.

How to use Luma Glow - Advanced

Luma Glow has a lot of customizability, but using the shader to its fullest extent can seem a bit daunting. Hopefully this clears things up!

Introduction to the Glow Mask

screenshot highlighting glow mask being selected under luma glow

The glow mask is used to add even more complexity to the way your avatar reacts to Luma Glow. Using the Glow mask in conjunction with your emission allows for up to 5 separate zone/gradients to be mapped onto your avatar!

This is done through each of the Glow Mask's respective color channels. Red, Green, Blue, and Alpha. You do not need to use all of the channels and if you only have a black and white mask, that's okay too! You can just checkmark one of the channels and use the mask that way.

What each mode is used for

screenshot highlighting what glow modes are available under luma glow
  • Global - Luma Glow will affect your entire mesh at once
  • Pulse - A directional wave across your mesh's UVs
  • Radial - Similar to pulse but is in the shape of a circle and radiates out from its center
  • Direction Map - Uses a grayscale gradient texture to map the effect
  • Reversed Direction Map - Inverts the direction defined by the direction map

Animation

The animation properties will offset the pulse to the beat using AudioLink's ‘chronotensity.'

  • Animation Band - Which band of audio the effect will trigger on
  • Animation Mode - Changes the behavior of the animation
    • Default - Simply moves forward with the beat
    • Wobble - Will wobble back and forth with the beat
    • Smooth - Moves forward with the beat but is smoothed to prevent jerkiness
    • Hard Stop - Moves forward constantly but stops on the beat
    • Constant - A constant scrolling animation that does not listen to any beat. This can be selected without a band set
  • Animation Speed - How fast the animation will go
  • Animation Strength - How much the effect animates on the beat

Special Effects

screenshot highlighting what special effects are available

The Effect Mask

The effect mask is used to hide special effects from places you do not wish them to show. This is done through each of the Effect Mask's respective color channels. Red, Green, Blue, and Alpha. You do not need to use all of the channels and if you only have a black and white mask, that's okay too! When you enable an effect, look for the “Effect Mask Channel” property within its section of the inspector. If you have a black and white mask, this can be set to anything other than ‘none.' For RGBA masks, select the respective color channel you wish to use.

screenshot highlighting what masking channels are available

Sparkles

screenshot demonstrating the sparkles effect

A fun sparkle effect! Sparkles can be connected to Luma Glow and react with the music on their own. This gives you yet another place to map a different zone!

  • Mode - Changes the way the sparkles react to light
    • Default - Sparkles show globally on your texture
    • Specular - Sparkles are masked by your specular highlight
    • Rimlight - Sparkles are masked by rimlighting
    • SpecRim - Sparkles are masked by both specular highlights and rim lighting
    • All - Sparkles are masked by SpecRim and add together with default sparkles, making sparkles brighter where rim light and specular are.
  • Shape - Changes the shape of each sparkle
  • Size - Makes each sparkle larger or smaller
  • Scale - The tiling value of the sparkles. This can also affect the size
  • Speed - How fast the sparkles… Sparkle.

Scrolling Rainbow

screenshot demonstrating the scrolling rainbow effect

An animated rainbow that scrolls across your UVs. It can also be mapped using a direction map! The effect supports AudioLink chronotensity to make it scroll with the beat as well.

  • Mode - How the rainbow is mapped
  • Hue Range - Range of colors to display
  • Hue - Change the hue of the color range
  • Saturation - How saturated the color range is
  • Value - Darkens or brightens
  • Scale - Tiling value

Iridescence

screenshot demonstrating iridescence being off
Iridescence off
screenshot demonstrating iridescence being on
Iridescence on

Iridescence is an effect from the refraction of light waves that tends to change as the angle of view changes. The included iridescence can work in multiple ways depending on how you set it up. Iridescence will allow you to make accurate looking silks, bird feathers, beetle shells, and oil slick while also still letting you go crazy and create all sorts of wild stylized effects with it too!

  • Mode - Changes how the effect reacts to view direction
    • Facing - Faces in the camera view direction
    • Reflection - Faces in the specular reflection direction
    • Light direction - Faces in the light direction
  • Color Mode
    • Iridescent Colors - Replaces emission where it's mapped. Unlit
    • Emission Multiply - Multiplies with your emission where it's mapped. Unlit
    • Rainbow - Maps the whole rainbow to the iridescence. Unlit
    • Texture HueSelect - Changes your main textures hue to the one selected in the color picker. This is the best setting for realistic iridescence like the one in the example
    • Holographic - Similar effect to holographic trading cards
    • Texture HueShift - The same as rainbow but it will hueshift your main texture
  • Light Mode
    • Global - Affects your entire texture equally
    • Specular - Strength of the effect increases within the specular highlight
    • Rimlight - Strength of the effect increases within rimlight
    • Both - Strength of the effect increases within both specular highlights and rimlight
  • Intensity - How bright/dark the effect is
  • Scale - Tiling value. Can give color bands
  • Offset - Offsets the effect forward/back
  • Color 1-3 - Colors used to map the effect. Starts on the outside then moves inwards

Outlines

screenshot highlighting the enable outlines option

To use outlines, just enable the check box here. Outlines have full Luma Glow reactivity and act as their own masked off area. So you can assign a unique zone/gradient to them with no further work! Outlines also have a feature to keep them at a constant width as your camera distance increases. This makes your outlines visible even from far away!

  • Width - How wide the outline is
  • Max Width - The maximum width of the outline as your camera distance increases (set this property with your camera zoomed out from your avatar in Unity
  • Push Outline - Will push the outline in the view direction. This helps to hide artifacting where around edges where you do not want outlines, like eyes and mouths

Credits

Shader created by Naito Ookami