in Assets/MRTK/Core/Inspectors/MixedRealityStandardShaderGUI.cs [561:685]
protected void FluentOptions(MaterialEditor materialEditor, Material material)
{
EditorGUILayout.Space();
GUILayout.Label(Styles.fluentOptionsTitle, EditorStyles.boldLabel);
RenderingMode mode = (RenderingMode)renderingMode.floatValue;
CustomRenderingMode customMode = (CustomRenderingMode)customRenderingMode.floatValue;
materialEditor.ShaderProperty(hoverLight, Styles.hoverLight);
if (PropertyEnabled(hoverLight))
{
GUILayout.Box(string.Format(Styles.propertiesComponentHelp, nameof(HoverLight), Styles.hoverLight.text), EditorStyles.helpBox, Array.Empty<GUILayoutOption>());
materialEditor.ShaderProperty(enableHoverColorOverride, Styles.enableHoverColorOverride, 2);
if (PropertyEnabled(enableHoverColorOverride))
{
materialEditor.ShaderProperty(hoverColorOverride, Styles.hoverColorOverride, 4);
}
}
materialEditor.ShaderProperty(proximityLight, Styles.proximityLight);
if (PropertyEnabled(proximityLight))
{
materialEditor.ShaderProperty(enableProximityLightColorOverride, Styles.enableProximityLightColorOverride, 2);
if (PropertyEnabled(enableProximityLightColorOverride))
{
materialEditor.ShaderProperty(proximityLightCenterColorOverride, Styles.proximityLightCenterColorOverride, 4);
materialEditor.ShaderProperty(proximityLightMiddleColorOverride, Styles.proximityLightMiddleColorOverride, 4);
materialEditor.ShaderProperty(proximityLightOuterColorOverride, Styles.proximityLightOuterColorOverride, 4);
}
materialEditor.ShaderProperty(proximityLightSubtractive, Styles.proximityLightSubtractive, 2);
materialEditor.ShaderProperty(proximityLightTwoSided, Styles.proximityLightTwoSided, 2);
GUILayout.Box(string.Format(Styles.propertiesComponentHelp, nameof(ProximityLight), Styles.proximityLight.text), EditorStyles.helpBox, Array.Empty<GUILayoutOption>());
}
materialEditor.ShaderProperty(borderLight, Styles.borderLight);
if (PropertyEnabled(borderLight))
{
materialEditor.ShaderProperty(borderWidth, Styles.borderWidth, 2);
materialEditor.ShaderProperty(borderMinValue, Styles.borderMinValue, 2);
materialEditor.ShaderProperty(borderLightReplacesAlbedo, Styles.borderLightReplacesAlbedo, 2);
if (PropertyEnabled(hoverLight) && PropertyEnabled(enableHoverColorOverride))
{
materialEditor.ShaderProperty(borderLightUsesHoverColor, Styles.borderLightUsesHoverColor, 2);
}
if (mode == RenderingMode.Cutout || mode == RenderingMode.Fade || mode == RenderingMode.Transparent ||
(mode == RenderingMode.Custom && customMode == CustomRenderingMode.Cutout) ||
(mode == RenderingMode.Custom && customMode == CustomRenderingMode.Fade))
{
materialEditor.ShaderProperty(borderLightOpaque, Styles.borderLightOpaque, 2);
if (PropertyEnabled(borderLightOpaque))
{
materialEditor.ShaderProperty(borderLightOpaqueAlpha, Styles.borderLightOpaqueAlpha, 4);
}
}
}
if (PropertyEnabled(hoverLight) || PropertyEnabled(proximityLight) || PropertyEnabled(borderLight))
{
materialEditor.ShaderProperty(fluentLightIntensity, Styles.fluentLightIntensity);
}
materialEditor.ShaderProperty(roundCorners, Styles.roundCorners);
if (PropertyEnabled(roundCorners))
{
materialEditor.ShaderProperty(independentCorners, Styles.independentCorners, 2);
if (PropertyEnabled(independentCorners))
{
materialEditor.ShaderProperty(roundCornersRadius, Styles.roundCornersRadius, 2);
}
else
{
materialEditor.ShaderProperty(roundCornerRadius, Styles.roundCornerRadius, 2);
}
materialEditor.ShaderProperty(roundCornerMargin, Styles.roundCornerMargin, 2);
}
if (PropertyEnabled(roundCorners) || PropertyEnabled(borderLight))
{
materialEditor.ShaderProperty(edgeSmoothingValue, Styles.edgeSmoothingValue);
}
materialEditor.ShaderProperty(innerGlow, Styles.innerGlow);
if (PropertyEnabled(innerGlow))
{
materialEditor.ShaderProperty(innerGlowColor, Styles.innerGlowColor, 2);
materialEditor.ShaderProperty(innerGlowPower, Styles.innerGlowPower, 2);
}
materialEditor.ShaderProperty(iridescence, Styles.iridescence);
if (PropertyEnabled(iridescence))
{
EditorGUI.indentLevel += 2;
materialEditor.TexturePropertySingleLine(Styles.iridescentSpectrumMap, iridescentSpectrumMap);
EditorGUI.indentLevel -= 2;
materialEditor.ShaderProperty(iridescenceIntensity, Styles.iridescenceIntensity, 2);
materialEditor.ShaderProperty(iridescenceThreshold, Styles.iridescenceThreshold, 2);
materialEditor.ShaderProperty(iridescenceAngle, Styles.iridescenceAngle, 2);
}
materialEditor.ShaderProperty(environmentColoring, Styles.environmentColoring);
if (PropertyEnabled(environmentColoring))
{
materialEditor.ShaderProperty(environmentColorThreshold, Styles.environmentColorThreshold, 2);
materialEditor.ShaderProperty(environmentColorIntensity, Styles.environmentColorIntensity, 2);
materialEditor.ShaderProperty(environmentColorX, Styles.environmentColorX, 2);
materialEditor.ShaderProperty(environmentColorY, Styles.environmentColorY, 2);
materialEditor.ShaderProperty(environmentColorZ, Styles.environmentColorZ, 2);
}
}