protected override void OnEnable() { m_AdditionalLightData = lightProperty.gameObject.GetComponent<LWRPAdditionalLightData>(); settings.OnEnable(); init(m_AdditionalLightData); UpdateShowOptions(true); }
void Start() { Boost = 1.0f; m_light = GetComponent <Light>(); m_lightData = m_light.GetComponent <LWRPAdditionalLightData>(); if (!m_lightData) { m_lightData = gameObject.AddComponent <LWRPAdditionalLightData>(); } }
protected override void OnEnable() { if (lightProperty.type == LightType.Directional) { CoreEditorUtils.GetAdditionalData <LWRPAdditionalLightData>(targets, LWRPAdditionalLightData.InitDefaultHDAdditionalLightData); } m_AdditionalLightData = lightProperty.gameObject.GetComponent <LWRPAdditionalLightData>(); settings.OnEnable(); init(m_AdditionalLightData); UpdateShowOptions(true); }
void init(LWRPAdditionalLightData additionalLightData) { if (additionalLightData == null) { return; } m_AdditionalLightDataSO = new SerializedObject(additionalLightData); m_UseAdditionalDataProp = m_AdditionalLightDataSO.FindProperty("m_UsePipelineSettings"); settings.ApplyModifiedProperties(); }
void init(LWRPAdditionalLightData additionalLightData) { if(additionalLightData == null) return; m_AdditionalLightDataSO = new SerializedObject(additionalLightData); m_UseAdditionalDataProp = m_AdditionalLightDataSO.FindProperty("m_UsePipelineSettings"); LightweightRenderPipelineAsset asset = GraphicsSettings.renderPipelineAsset as LightweightRenderPipelineAsset; settings.shadowsBias.floatValue = asset.shadowDepthBias; settings.shadowsNormalBias.floatValue = asset.shadowNormalBias; settings.ApplyModifiedProperties(); }
void DrawAdditionalShadowData() { bool hasChanged = false; int selectedUseAdditionalData; if (m_AdditionalLightDataSO == null) { selectedUseAdditionalData = 1; } else { m_AdditionalLightDataSO.Update(); selectedUseAdditionalData = !m_AdditionalLightData.usePipelineSettings ? 0 : 1; } Rect controlRectAdditionalData = EditorGUILayout.GetControlRect(true); if(m_AdditionalLightDataSO != null) EditorGUI.BeginProperty(controlRectAdditionalData, Styles.shadowBias, m_UseAdditionalDataProp); EditorGUI.BeginChangeCheck(); selectedUseAdditionalData = EditorGUI.IntPopup(controlRectAdditionalData, Styles.shadowBias, selectedUseAdditionalData, Styles.displayedDefaultOptions, Styles.optionDefaultValues); if (EditorGUI.EndChangeCheck()) { hasChanged = true; } if(m_AdditionalLightDataSO != null) EditorGUI.EndProperty(); if (selectedUseAdditionalData != 1 && m_AdditionalLightDataSO != null) { EditorGUI.indentLevel++; EditorGUILayout.Slider(settings.shadowsBias, 0f, 10f, "Depth"); EditorGUILayout.Slider(settings.shadowsNormalBias, 0f, 10f, "Normal"); EditorGUI.indentLevel--; m_AdditionalLightDataSO.ApplyModifiedProperties(); } if (hasChanged) { if (m_AdditionalLightDataSO == null) { lightProperty.gameObject.AddComponent<LWRPAdditionalLightData>(); m_AdditionalLightData = lightProperty.gameObject.GetComponent<LWRPAdditionalLightData>(); init(m_AdditionalLightData); } m_UseAdditionalDataProp.intValue = selectedUseAdditionalData; m_AdditionalLightDataSO.ApplyModifiedProperties(); } }
void init(LWRPAdditionalLightData additionalLightData) { m_has_addtional_data = additionalLightData != null; if (additionalLightData == null) { return; } m_AdditionalLightDataSO = new SerializedObject(additionalLightData); m_UseAdditionalDataProp = m_AdditionalLightDataSO.FindProperty("m_UsePipelineSettings"); m_ShadowDistanceProp = m_AdditionalLightDataSO.FindProperty("m_ShadowDistance"); m_ShadowLayerCullingSurportProp = m_AdditionalLightDataSO.FindProperty("m_ShadowLayerDistanceSurport"); m_ShadowLayerCullingDistancesProp = m_AdditionalLightDataSO.FindProperty("m_ShadowLayersDistance"); settings.ApplyModifiedProperties(); }
public static void InitDefaultHDAdditionalLightData(LWRPAdditionalLightData lightData) { var light = lightData.gameObject.GetComponent <Light>(); // modify light if needed }