コード例 #1
0
 protected override void OnEnable()
 {
     m_AdditionalLightData = lightProperty.gameObject.GetComponent<LWRPAdditionalLightData>();
     settings.OnEnable();
     init(m_AdditionalLightData);
     UpdateShowOptions(true);
 }
コード例 #2
0
 void Start()
 {
     Boost       = 1.0f;
     m_light     = GetComponent <Light>();
     m_lightData = m_light.GetComponent <LWRPAdditionalLightData>();
     if (!m_lightData)
     {
         m_lightData = gameObject.AddComponent <LWRPAdditionalLightData>();
     }
 }
コード例 #3
0
 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();
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        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();
            }
        }
コード例 #7
0
        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();
        }
コード例 #8
0
 public static void InitDefaultHDAdditionalLightData(LWRPAdditionalLightData lightData)
 {
     var light = lightData.gameObject.GetComponent <Light>();
     // modify light if needed
 }