private void CheckCamera()
    {
        if (EnviroSkyMgr.instance.Camera != null)
        {
            FogVolumeRenderer renderer = EnviroSkyMgr.instance.Camera.gameObject.GetComponent <FogVolumeRenderer> ();

            if (renderer == null)
            {
                renderer = EnviroSkyMgr.instance.Camera.gameObject.AddComponent <FogVolumeRenderer> ();
            }

            if (renderer != null)
            {
                renderer._Downsample = 3;

                if (fogMode == CurrentFogMode.Textured)
                {
                    renderer.GenerateDepth = true;
                    if (clouds != null)
                    {
                        clouds.CreateSurrogate = false;
                    }
                }
                else
                {
                    renderer.GenerateDepth = false;
                    clouds.CreateSurrogate = true;
                }
            }
        }
    }
    //int layerMaskNameIndex = 0;


    void OnEnable()
    {
        _target        = (FogVolumeRenderer)target;
        InspectorImage = Resources.Load("InspectorImage", typeof(Texture2D)) as Texture2D;
        HeaderStyle    = new GUIStyle();
        HeaderStyle.normal.background = InspectorImage;
        BodyStyle = new GUIStyle();
        // BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBody");
        if (EditorGUIUtility.isProSkin)
        {
            BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBodyBlack");
        }
        else
        {
            BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBodyBright");
        }

        List <string> layerMaskList = new List <string>();

        for (int i = 0; i < 32; i++)
        {
            string layerName = LayerMask.LayerToName(i);
            //if (layerName != "")
            //{
            // if (layerName == _target.DepthLayersName)
            //     layerMaskNameIndex = layerMaskList.Count;
            layerMaskList.Add(layerName);
            //}
        }
        layerMaskName = layerMaskList.ToArray();
    }
 void OnEnable()
 {
     _target        = (FogVolumeRenderer)target;
     InspectorImage = Resources.Load("InspectorImage", typeof(Texture2D)) as Texture2D;
     HeaderStyle    = new GUIStyle();
     HeaderStyle.normal.background = InspectorImage;
     BodyStyle = new GUIStyle();
     // BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBody");
     if (EditorGUIUtility.isProSkin)
     {
         BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBodyBlack");
     }
     else
     {
         BodyStyle.normal.background = (Texture2D)Resources.Load("RendererInspectorBodyBright");
     }
 }
        public static void GX_Quality_High()
        {
            //What about ground fog and cloud settings ?

            //Update renderer settings
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample = 2;
            }

            //Update screen settings
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen != null)
            {
            }
        }
        public static void GX_Quality_Low()
        {
            //What about ground fog and cloud settings ?
            GameObject goGroundFog = GameObject.Find("Fog Volume [Ground Fog]");

            if (goGroundFog != null)
            {
                FogVolume fvGroundFog = goGroundFog.GetComponent <FogVolume>();
                if (fvGroundFog != null)
                {
                    //Make adjustments
                }
            }
            GameObject goClouds = GameObject.Find("Fog Volume [Clouds]");

            if (goClouds != null)
            {
                FogVolume fvClouds = goClouds.GetComponent <FogVolume>();
                if (fvClouds != null)
                {
                    //Make adjustments
                }
            }

            //Update renderer settings
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample = 8;
                fvRenderer._BlendMode  = FogVolumeRenderer.BlendMode.PremultipliedTransparency;
            }

            //Update screen settings
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen != null)
            {
            }
        }
        public static void GX_Setup_AddPostEffects()
        {
            //Update renderer settings to dampen things down a bit for newcomers
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample   = 3;
                fvRenderer._BlendMode    = FogVolumeRenderer.BlendMode.PremultipliedTransparency;
                fvRenderer.GenerateDepth = false;
            }

            //Add screen if missing
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen == null && Camera.main != null)
            {
                fvScreen            = Camera.main.gameObject.AddComponent <FogVolumeScreen>();
                fvScreen.Downsample = 3;
                fvScreen.iterations = 3;
                fvScreen.blurSpread = 0.2f;
            }
        }
Esempio n. 7
0
    void OnEnable()
    {
        nullTex = MakeTex(Color.black);
        if (SystemInfo.SupportsRenderTextureFormat(rt_DepthFormat))
        {
            rt_DepthFormat = RenderTextureFormat.RHalf;//not of the liking of small machines
        }
        else
        {
            rt_DepthFormat = RenderTextureFormat.Default;
        }

        // SceneCamera = Camera.main;
        _FogVolumeDataGO = GameObject.Find("Fog Volume Data");
        if (_FogVolumeDataGO)
        {
            _FogVolumeData = _FogVolumeDataGO.GetComponent <FogVolumeData>();
        }


        if (_FogVolumeData)
        {
            SceneCamera = _FogVolumeData.GetFogVolumeCamera;
        }

        if (SceneCamera == null)
        {
            Debug.Log("FogVolumeCamera.cs can't get a valid camera from 'Fog Volume Data'\n Assigning Camera.main");
            SceneCamera = Camera.main;
        }

        ShaderLoad();
        SetUpsampleMode(_upsampleMode);
        ShowBilateralEdge(_showBilateralEdge);
        _FogVolumeRenderer = SceneCamera.GetComponent <FogVolumeRenderer>();

        if (SceneCamera.gameObject.GetComponent <FogVolumeRenderer>() == null)
        {
            //    Combiner = SceneCamera.gameObject.GetComponent<FogVolumeRenderer>();
            //else
            SceneCamera.gameObject.AddComponent <FogVolumeRenderer>();
        }

        ThisCamera = GetComponent <Camera>();
        //ThisCamera.depthTextureMode = DepthTextureMode.Depth;
        ThisCamera.enabled = false;

        ThisCamera.clearFlags      = CameraClearFlags.SolidColor;
        ThisCamera.backgroundColor = new Color(0, 0, 0, 0);
        ThisCamera.farClipPlane    = SceneCamera.farClipPlane;

        _CameraRender = GetComponent <SPSRRT_helper>();

        if (_CameraRender == null)
        {
            _CameraRender = gameObject.AddComponent <SPSRRT_helper>();
        }

        _CameraRender.SceneCamera     = SceneCamera;
        _CameraRender.SecondaryCamera = ThisCamera;
    }
Esempio n. 8
0
    void OnEnable()
    {
        nullTex = MakeTex(Color.black);
        if (SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.RFloat))
        {
            rt_DepthFormat = RenderTextureFormat.RFloat;
        }
        else
        {
            rt_DepthFormat = RenderTextureFormat.DefaultHDR;
        }

        // SceneCamera = Camera.main;
        _FogVolumeDataGO = GameObject.Find("Fog Volume Data");
        if (_FogVolumeDataGO)
        {
            _FogVolumeData = _FogVolumeDataGO.GetComponent <FogVolumeData>();
        }


        if (_FogVolumeData)
        {
            SceneCamera = _FogVolumeData.GetFogVolumeCamera;
        }

        if (SceneCamera == null)
        {
            Debug.Log("FogVolumeCamera.cs can't get a valid camera from 'Fog Volume Data'\n Assigning Camera.main");
            SceneCamera = Camera.main;
        }

        ShaderLoad();
        SetUpsampleMode(_upsampleMode);
        ShowBilateralEdge(_showBilateralEdge);
        _FogVolumeRenderer = SceneCamera.GetComponent <FogVolumeRenderer>();

        if (_FogVolumeRenderer == null)
        {
            //    Combiner = SceneCamera.gameObject.GetComponent<FogVolumeRenderer>();
            //else
            if (!_FogVolumeData.ForceNoRenderer)
            {
                var renderer = SceneCamera.gameObject.AddComponent <FogVolumeRenderer>();
                renderer.enabled = true;
            }
        }


        ThisCamera         = GetComponent <Camera>();
        ThisCamera.enabled = false;

        ThisCamera.clearFlags      = CameraClearFlags.SolidColor;
        ThisCamera.backgroundColor = new Color(0, 0, 0, 0);
        ThisCamera.farClipPlane    = SceneCamera.farClipPlane;

        _CameraRender = GetComponent <FogVolumeRenderManager>();

        if (_CameraRender == null)
        {
            _CameraRender = gameObject.AddComponent <FogVolumeRenderManager>();
        }

        _CameraRender.SceneCamera     = SceneCamera;
        _CameraRender.SecondaryCamera = ThisCamera;
    }