Esempio n. 1
0
        public static void Init()
        {
            // troyhack
            //PostFXManager.Instance.Init(Camera.main, PerformanceInfo.ePOSTFX_QUALITY.High,new PerformanceInfo.ePOSTFX[] { PerformanceInfo.ePOSTFX.Bloom, PerformanceInfo.ePOSTFX.Vignette, PerformanceInfo.ePOSTFX.Warp });
#if UNITY_EDITOR
            if (Camera.main == null)
            {
                GameObject go          = new GameObject("MainCamera");
                Camera     main_camera = go.AddComponent <Camera>();
                main_camera.tag = "MainCamera";
            }
#endif
            PerformanceInfo.ePOSTFX[] postFX = (PerformanceInfo.ePOSTFX[])System.Enum.GetValues(typeof(PerformanceInfo.ePOSTFX));
            postFX = postFX.Where(p => p != PerformanceInfo.ePOSTFX.FakeVignette).ToArray();
            PostFXManager.Instance.Init(Camera.main, PerformanceInfo.ePOSTFX_QUALITY.High, postFX);

            PostFXManagerTrigger trigger = Camera.main.gameObject.GetComponent <PostFXManagerTrigger>();
            if (trigger == null)
            {
                Camera.main.gameObject.AddComponent <PostFXManagerTrigger>();
            }

            RenderSettings.forceUpdate = true;
            RenderSettings renderSettings = Object.FindObjectOfType <RenderSettings>();
            if (renderSettings == null)
            {
                GameObject go = new GameObject("RenderSettings");
                renderSettings = go.AddComponent <RenderSettings>();
            }
        }
Esempio n. 2
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        PostFXInit postInit = (PostFXInit)target;

        if (!Application.isPlaying && GUILayout.Button("Active"))
        {
            Camera camera = null;
            if (SceneView.lastActiveSceneView != null)
            {
                camera = SceneView.lastActiveSceneView.camera;
            }

            if (camera != null)
            {
                PostFXManagerTrigger trigger = camera.GetComponent <PostFXManagerTrigger>();
                if (trigger == null)
                {
                    trigger = camera.gameObject.AddComponent <PostFXManagerTrigger>();
                }

                RenderSettings.forceUpdate = true;

                List <PerformanceInfo.ePOSTFX> fxtypes = new List <PerformanceInfo.ePOSTFX>(3);
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.Bloom) == PerformanceInfo.ePOSTFX.Bloom)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.Bloom);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.Vignette) == PerformanceInfo.ePOSTFX.Vignette)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.Vignette);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.Vignette2) == PerformanceInfo.ePOSTFX.Vignette2)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.Vignette2);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.ColorGrade) == PerformanceInfo.ePOSTFX.ColorGrade)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.ColorGrade);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.ToneMap) == PerformanceInfo.ePOSTFX.ToneMap)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.ToneMap);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.Warp) == PerformanceInfo.ePOSTFX.Warp)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.Warp);
                }
                if ((postInit.fxs & PerformanceInfo.ePOSTFX.RadialBlur) == PerformanceInfo.ePOSTFX.RadialBlur)
                {
                    fxtypes.Add(PerformanceInfo.ePOSTFX.RadialBlur);
                }
                PostFXManager.Instance.Init(camera, PerformanceInfo.ePOSTFX_QUALITY.High, fxtypes.ToArray());
            }
        }
    }
Esempio n. 3
0
    public void UnRegister(RenderSettings renderSettings)
    {
        if (Ignore(renderSettings))
        {
            return;
        }

        if (_renderSettings.ContainsKey(renderSettings.name))
        {
            _renderSettings.Remove(renderSettings.name);
        }

        if (defaultSettings == renderSettings.name)
        {
            defaultSettings = string.Empty;
        }

        if (RemoveActiveItems(renderSettings.name))
        {
            ActivateTopItem();
        }

#if UNITY_EDITOR
        if (!Application.isPlaying)
        {
            if (_activeRenderSettings.Count == 0 && _renderSettings.Count == 0)
            {
                DestroyImmediate(_Instance.gameObject);
                RenderSettings.forceUpdate = false;

                var cameras = UnityEditor.SceneView.GetAllSceneCameras();
                foreach (var camera in cameras)
                {
                    PostFXManagerTrigger trigger = camera.GetComponent <PostFXManagerTrigger>();
                    if (trigger != null)
                    {
                        DestroyImmediate(trigger);
                    }
                }

                //PostFXManager.DestroyInstance();
                //PlanarReflectionManager.DestroyInstance();
            }
        }
#endif
    }
Esempio n. 4
0
        public static void DeregisterAll()
        {
            RenderGlobals.SetBloom(0, 2, 2, 1, Color.white);
            RenderGlobals.SetVignette(0, 0.3f, Color.white);
            RenderGlobals.SetWarp(0, new Vector2(0.05f, 0.05f));

            if (PostFXManager.Instance != null && Camera.main != null)
            {
                PostFXManager.Instance.Init(Camera.main, PerformanceInfo.ePOSTFX_QUALITY.Off, null);
            }

            if (Camera.main != null)
            {
                PostFXManagerTrigger trigger = Camera.main.gameObject.GetComponent <PostFXManagerTrigger>();
                if (trigger != null)
                {
                    Object.DestroyImmediate(trigger);
                }
            }

            RenderSettings.forceUpdate = false;

            _activeTracks.Clear();
        }