private void ShowLightSourcesBlendedProperties() { using (new UITools.GUIDisable(IsShaderBaked(material))) { selectedLightSourcesBlend = (LightSourcesBlend)EditorGUILayout.Popup(Labels.LightSourceBlend, (int)selectedLightSourcesBlend, Labels.LightSourceBlendEnumLabels); } if (selectedLightSourcesBlend == LightSourcesBlend.Multiple) { material.EnableKeyword(Constants.Shader.BLEND_LIGHT_SOURCES_KEYWORD); materialEditor.ShaderProperty(blendedLightColor, Labels.BlendedLightColor); EditorGUILayout.LabelField(Labels.BlendedLightIntensities); int originalIndentLevel = EditorGUI.indentLevel; EditorGUI.indentLevel += 1; blendedLightIntensitiesValues = blendedLightIntensities.vectorValue; EditorGUI.BeginChangeCheck(); blendedLightIntensitiesValues.x = EditorGUILayout.Slider(Labels.BlendedLightIntensities0, blendedLightIntensitiesValues.x, -1.0f, 1.0f); blendedLightIntensitiesValues.y = EditorGUILayout.Slider(Labels.BlendedLightIntensities1, blendedLightIntensitiesValues.y, -1.0f, 1.0f); blendedLightIntensitiesValues.z = EditorGUILayout.Slider(Labels.BlendedLightIntensities2, blendedLightIntensitiesValues.z, -1.0f, 1.0f); if (EditorGUI.EndChangeCheck()) { blendedLightIntensities.vectorValue = blendedLightIntensitiesValues; } EditorGUI.indentLevel = originalIndentLevel; materialEditor.ShaderProperty(blendedLightSmoothness, Labels.BlendedLightSmoothness); } else { material.DisableKeyword(Constants.Shader.BLEND_LIGHT_SOURCES_KEYWORD); } }
protected void InitMaterial() { selectedAxisSpace = isKeywordEnabled(Constants.Shader.AXIS_COLORS_LOCAL) ? Space.Local : Space.World; useThreeLightSystem = isKeywordEnabled(Constants.Shader.SYMETRIC_COLORS_ON_KEYWORD); useGradientLightXColors = isKeywordEnabled(Constants.Shader.AXIS_GRADIENT_ON_X_KEYWORD); useGradientLightYColors = isKeywordEnabled(Constants.Shader.AXIS_GRADIENT_ON_Y_KEYWORD); useGradientLightZColors = isKeywordEnabled(Constants.Shader.AXIS_GRADIENT_ON_Z_KEYWORD); useVertexColors = isKeywordEnabled(Constants.Shader.VERTEX_COLOR_KEYWORD); useMainTexture = isKeywordEnabled(Constants.Shader.USE_MAIN_TEXTURE_KEYWORD); useGPUInstancing = material.enableInstancing; useAmbientLight = isKeywordEnabled(Constants.Shader.AMBIENT_LIGHT_KEYWORD); useDirectLight = isKeywordEnabled(Constants.Shader.DIRECT_LIGHT_KEYWORD); useSpotLight = isKeywordEnabled(Constants.Shader.SPOT_LIGHT_KEYWORD); usePointLight = isKeywordEnabled(Constants.Shader.POINT_LIGHT_KEYWORD); selectedLightSourcesBlend = isKeywordEnabled(Constants.Shader.BLEND_LIGHT_SOURCES_KEYWORD) ? LightSourcesBlend.Multiple : LightSourcesBlend.Individual; useGlobalGradient = isKeywordEnabled(Constants.Shader.GRADIENT_LOCAL_KEYWORD) || isKeywordEnabled(Constants.Shader.GRADIENT_WORLD_KEYWORD); selectedGradientSpace = isKeywordEnabled(Constants.Shader.GRADIENT_LOCAL_KEYWORD) ? Space.Local : Space.World; useCustomLightmapping = isKeywordEnabled(Constants.Shader.CUSTOM_LIGHTMAPPING_KEYWORD); useUnityLightmapping = isKeywordEnabled(Constants.Shader.UNITY_LIGHTMAPPING_KEYWORD); receiveCustomShadows = isKeywordEnabled(Constants.Shader.RECEIVE_CUSTOM_SHADOW_KEYWORD); castCustomShadows = isKeywordEnabled(Constants.Shader.CAST_CUSTOM_SHADOW_ON_KEYWORD); useFog = isKeywordEnabled(Constants.Shader.USE_FOG_KEYWORD); if (useCustomLightmapping || useUnityLightmapping) { selectedUVChannel = (int)lightmapUVChannel.floatValue; } }