Not all Unity Standard Shader paramaters properly fall back when shaders are blocked
interested
gallium
What is expected: A shader with all the same properyu names as Unity Standard would have the associated values get mapped correctly when shaders are blocked.
What happens: Not all are properly passed on, such as _MetallicGlossMap and _SpecGlossMap, when shaders are blocked, resulting in an incorrect material configuration.
Here is a list of the main inputs for the unity standard shader included with unity 2018.4.20
half4 _Color;
half _Cutoff;
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _DetailAlbedoMap;
float4 _DetailAlbedoMap_ST;
sampler2D _BumpMap;
half _BumpScale;
sampler2D _DetailMask;
sampler2D _DetailNormalMap;
half _DetailNormalMapScale;
sampler2D _SpecGlossMap;
sampler2D _MetallicGlossMap;
half _Metallic;
float _Glossiness;
float _GlossMapScale;
sampler2D _OcclusionMap;
half _OcclusionStrength;
sampler2D _ParallaxMap;
half _Parallax;
half _UVSec;
half4 _EmissionColor;
sampler2D _EmissionMap;
If present in a blocked shader these should be mapped to Unity Standard.
Log In
Fax
interested
Kilerbomb
The entire fallback system is fairly broken in general and really needs to be fixed or redone entirely. Creating a shader exactly in-line with the shader fallback system documentation on VRChat's own website does not produce the results we are told it will for a majority of the fallback conditions.
Ribbon
This seems to only apply to custom shaders.
Attached are comparisons between two materials being blocked.
When using the built-in Unity Standard shader, only the alpha of the lens is is lost due to the incorrect rendering mode applied (transparent to opaque). Though when using a custom shader, the missing maps include emission, metallic/roughness, alpha and ambient occlusion.
gallium
Ribbon: Yes, which is the fundamental problem here.
Bradster
yes
ConnorrOfficial
yes
ChromaCore
Please give this to us. It will open up a lot more opportunities for properly made shaders.
G1fan
I can not echo enough how much of an improvement this would be.
FiyCsf
This would be enormous. Currently when hiding an avatar, our fallback options are limited. This means unless you want to show all shaders, most look extremely basic or broken when falling back.
This would allow content creators making very complex or simple shaders to make it less likely that players look like 'shiny play doh' when shaders aren't shown by users attempting to keep themselves safe.
This would be huge.
Attached is Gallium, The yellow is an example of something that doesn't fall back, defaulting for friends to yellow.
His face colour is however, it looks shinny due to the lack of fallback options for any _MetallicGlossMap or _SpecGlossMap. The colour is something that in the current system was programed to fallback, but this shows that alone isn't enough, more values falling back would make it much better.