상속: MonoBehaviour
예제 #1
0
    // Override: MonoBehaviour::Start()
    void Start()
    {
        // Local variables
        AntialiasingAsPostEffect dlaa = GameObject.FindObjectOfType <AntialiasingAsPostEffect>();
        SSAOEffect ssao = GameObject.FindObjectOfType <SSAOEffect>();

        // Set global variable
        if (Game.Instance.ScriptEngine.IsGlobalVar("level_32_visited") == false)
        {
            Game.Instance.ScriptEngine.AddGlobalVar("level_32_visited", true);
        }

        // Shield from Bob collected?
        if (m_higgins != null && Game.Instance.ScriptEngine.IsGlobalVar("level_2_bob_received_shield") == false)
        {
            m_higgins.gameObject.SetActive(true);
        }

        // Disable DLAA if quality level is below beautiful
        if (dlaa != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            dlaa.enabled = false;
        }

        // Disable SSAO if quality level is below beautiful
        if (ssao != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            ssao.enabled = false;
        }
    }
 // Use this for initialization
 void Awake()
 {
     cam        = GetComponent <Camera>();
     ssao       = GetComponent <SSAOEffect>();
     bloom      = GetComponent <BloomAndLensFlares>();
     brightness = GetComponent <BrightnessScreenOverlay>();
 }
예제 #3
0
    // Override: MonoBehaviour::Start()
    void Start()
    {
        // Local variables
        AntialiasingAsPostEffect dlaa = GameObject.FindObjectOfType <AntialiasingAsPostEffect>();
        SSAOEffect ssao         = GameObject.FindObjectOfType <SSAOEffect>();
        Bloom      bloom        = GameObject.FindObjectOfType <Bloom>();
        Camera     playerCamera = GameObject.FindObjectOfType <Camera>();

        // Set global variable
        if (Game.Instance.ScriptEngine.IsGlobalVar("level_11_visited") == false)
        {
            Game.Instance.ScriptEngine.AddGlobalVar("level_11_visited", true);
        }

        // Disable DLAA if quality level is below beautiful
        if (dlaa != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            dlaa.enabled = false;
        }

        // Disable SSAO if quality level is below beautiful
        if (ssao != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            ssao.enabled = false;
        }

        // Disable bloom if quality level is below fantastic
        if (playerCamera != null && bloom != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_FANTASTIC)
        {
            playerCamera.hdr = false;
            bloom.enabled    = false;
        }
    }
예제 #4
0
    //---------Functions prototype--------------


    // Use this for initialization
    void Start()
    {
        //Screen.lockCursor = true;
        SSOA      = gameObject.GetComponent <SSAOEffect>();
        DFPS      = gameObject.GetComponent <DisplayFPS>();
        GameMode  = PlayerPrefs.GetInt("GameMode");
        SSOA_mode = PlayerPrefs.GetInt("SSOA");
        //if (GameMode == 0)
        //{
        //    Greta = GameObject.FindGameObjectWithTag("Greta");
        //    Greta_Position_X = -750.0f;
        //    Greta_Position_Y = -187.6466f;
        //    Greta_Position_Z = -970.0f;

        //    Vector3 pos = new Vector3(Greta_Position_X, Greta_Position_Y + 0.5f, Greta_Position_Z);
        //    Greta.transform.position = pos;
        //}

        if (GameMode == 2)
        {
            Greta = GameObject.FindGameObjectWithTag("Greta");

            Greta_Position_X = PlayerPrefs.GetFloat("loadP_X");
            Greta_Position_Y = PlayerPrefs.GetFloat("loadP_Y");
            Greta_Position_Z = PlayerPrefs.GetFloat("loadP_Z");

            Vector3 pos = new Vector3(Greta_Position_X, Greta_Position_Y + 0.5f, Greta_Position_Z);
            Greta.transform.position = pos;

            print(Greta_Position_X.ToString() + ", " + Greta_Position_Y.ToString() + ", " + Greta_Position_Z.ToString());
        }
        if (SSOA_mode != 0)
        {
            //SSOA.active = true;
            SSOA.enabled = true;
            switch (SSOA_mode)
            {
            case 1:
                SSOA.m_SampleCount = SSAOEffect.SSAOSamples.Low;
                break;

            case 2:
                SSOA.m_SampleCount = SSAOEffect.SSAOSamples.Medium;
                break;

            case 3:
                SSOA.m_SampleCount = SSAOEffect.SSAOSamples.High;
                break;

            default:
                break;
            }
        }
        else
        {
            //SSOA.active = false;
            SSOA.enabled = false;
        }
    }
예제 #5
0
 private void CreateMaterials()
 {
     if (!this.m_SSAOMaterial && this.m_SSAOShader.get_isSupported())
     {
         this.m_SSAOMaterial = SSAOEffect.CreateMaterial(this.m_SSAOShader);
         this.m_SSAOMaterial.SetTexture("_RandomTexture", this.m_RandomTexture);
     }
 }
예제 #6
0
    //---------Functions prototype--------------
    // Use this for initialization
    void Start()
    {
        //Screen.lockCursor = true;
        SSOA = gameObject.GetComponent<SSAOEffect>();
        DFPS = gameObject.GetComponent<DisplayFPS>();
        GameMode = PlayerPrefs.GetInt("GameMode");
        SSOA_mode = PlayerPrefs.GetInt("SSOA");
        //if (GameMode == 0)
        //{
        //    Greta = GameObject.FindGameObjectWithTag("Greta");
        //    Greta_Position_X = -750.0f;
        //    Greta_Position_Y = -187.6466f;
        //    Greta_Position_Z = -970.0f;

        //    Vector3 pos = new Vector3(Greta_Position_X, Greta_Position_Y + 0.5f, Greta_Position_Z);
        //    Greta.transform.position = pos;
        //}

        if (GameMode == 2)
        {

            Greta = GameObject.FindGameObjectWithTag("Greta");

            Greta_Position_X = PlayerPrefs.GetFloat("loadP_X");
            Greta_Position_Y = PlayerPrefs.GetFloat("loadP_Y");
            Greta_Position_Z = PlayerPrefs.GetFloat("loadP_Z");

            Vector3 pos = new Vector3(Greta_Position_X, Greta_Position_Y + 0.5f, Greta_Position_Z);
            Greta.transform.position = pos;

            print(Greta_Position_X.ToString() + ", " + Greta_Position_Y.ToString() + ", " + Greta_Position_Z.ToString());
        }
        if (SSOA_mode != 0)
        {
            //SSOA.active = true;
            SSOA.enabled = true;
            switch (SSOA_mode)
            {
                case 1:
                    SSOA.m_SampleCount = SSAOEffect.SSAOSamples.Low;
                    break;
                case 2:
                    SSOA.m_SampleCount = SSAOEffect.SSAOSamples.Medium;
                    break;
                case 3:
                    SSOA.m_SampleCount = SSAOEffect.SSAOSamples.High;
                    break;
                default:
                    break;
            }
        }
        else
            //SSOA.active = false;
            SSOA.enabled = false;
    }
예제 #7
0
 private void Start()
 {
     m_client         = (LidClient)UnityEngine.Object.FindObjectOfType(typeof(LidClient));
     m_vignetteEffect = GetComponent <Vignetting>();
     m_overlayEffect  = GetComponent <ScreenOverlay>();
     if (2 > QualitySettings.GetQualityLevel())
     {
         SSAOEffect component = GetComponent <SSAOEffect>();
         if (null != component)
         {
             UnityEngine.Object.Destroy(component);
         }
     }
 }
예제 #8
0
    // Override: MonoBehaviour::Start()
    void Start()
    {
        // Local variables
        bool visited = Game.Instance.ScriptEngine.IsGlobalVar("level_31_visited");
        AntialiasingAsPostEffect dlaa = GameObject.FindObjectOfType <AntialiasingAsPostEffect>();
        SSAOEffect ssao = GameObject.FindObjectOfType <SSAOEffect>();

        // Set global variable
        if (visited == false)
        {
            Game.Instance.ScriptEngine.AddGlobalVar("level_31_visited", true);
        }

        // Disable background particles if quality level is simple or below
        if (m_backgroundParticle != null && QualityLevel.getCurrentLevelIndex() <= QualityLevel.LEVEL_INDEX_SIMPLE)
        {
            m_backgroundParticle.SetActive(false);
        }

        // Disable DLAA if quality level is below beautiful
        if (dlaa != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            dlaa.enabled = false;
        }

        // Disable SSAO if quality level is below beautiful
        if (ssao != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            ssao.enabled = false;
        }

        // Delete pursuit of the two birds if the level was already visited by the player
        if (visited == true && Game.Instance.ScriptEngine.IsGlobalVar("level_32_visited"))
        {
            if (m_transitionPursuit != null)
            {
                GameObject.Destroy(m_transitionPursuit);
            }
            if (m_pursuitBird1 != null)
            {
                GameObject.Destroy(m_pursuitBird1);
            }
            if (m_pursuitBird2 != null)
            {
                GameObject.Destroy(m_pursuitBird2);
            }
        }
    }
예제 #9
0
    // Override: MonoBehaviour::Start()
    void Start()
    {
        // Local variables
        AntialiasingAsPostEffect dlaa = GameObject.FindObjectOfType <AntialiasingAsPostEffect>();
        SSAOEffect ssao         = GameObject.FindObjectOfType <SSAOEffect>();
        Bloom      bloom        = GameObject.FindObjectOfType <Bloom>();
        Camera     playerCamera = GameObject.FindObjectOfType <Camera>();

        // Set global variable
        if (Game.Instance.ScriptEngine.IsGlobalVar("level_21_visited") == false)
        {
            Game.Instance.ScriptEngine.AddGlobalVar("level_21_visited", true);
        }

        // Destroy entry if necessary
        if (m_destroyEntry != null && Game.Instance.ScriptEngine.IsGlobalVar("level_21_cave_destroyed") == true)
        {
            m_destroyEntry.onActivate();
        }

        // Disable background particles if quality level is simple or below
        if (m_backgroundParticle != null && QualityLevel.getCurrentLevelIndex() <= QualityLevel.LEVEL_INDEX_SIMPLE)
        {
            m_backgroundParticle.SetActive(false);
        }

        // Disable DLAA if quality level is below beautiful
        if (dlaa != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            dlaa.enabled = false;
        }

        // Disable SSAO if quality level is below beautiful
        if (ssao != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_BEAUTIFUL)
        {
            ssao.enabled = false;
        }

        // Disable bloom if quality level is below fantastic
        if (playerCamera != null && bloom != null && QualityLevel.getCurrentLevelIndex() < QualityLevel.LEVEL_INDEX_FANTASTIC)
        {
            playerCamera.hdr = false;
            bloom.enabled    = false;
        }
    }
예제 #10
0
파일: GameMenu.cs 프로젝트: xgrommx/Unity3D
 void Start()
 {
     //camera.backgroundColor = new Color(3, 3, 3, 0.2f);
     getResolution();
     SSAOEFF     = gameObject.GetComponent <SSAOEffect>();
     REPost      = gameObject.GetComponent <REPostProcessorEffect>();
     Mouse       = gameObject.GetComponent <MouseOrbit>();
     GretaPlayer = GameObject.Find("Greta");
     Greta       = GretaPlayer.GetComponentInChildren <GretaController>();
     LoadSetting();
     ApplySetting();
     Init_GUITBG();
     Background.color       = new Color(0.5f, 0.5f, 0.5f, 0.4f);
     this.audio.clip        = BackgroundMusic;
     this.audio.volume      = PlayerPrefs.GetInt("Music") * 0.1f;
     this.audio.playOnAwake = true;
     this.audio.loop        = true;
     this.audio.Play();
 }
예제 #11
0
        public DeferredColoredChunkRenderer(EngineConfiguration config, ContentLibrary contentLibrary, GraphicsDevice device, CameraManager cameraManager, IChunkManager chunkManager)
        {
            _device = device;
            _sb     = new SpriteBatch(_device);

            _halfPixel = new Vector2(0.5f / _device.PresentationParameters.BackBufferWidth, 0.5f / _device.PresentationParameters.BackBufferHeight);

            _quadRenderer = new QuadRenderer(_device);

            _clearEffect            = new ClearEffect(contentLibrary.ClearEffect);
            _renderGBufferEffect    = new RenderGBufferColorEffect(contentLibrary.RenderGBufferColorEffect);
            _renderCombineEffect    = new RenderCombineEffect(contentLibrary.RenderCombineEffect);
            _directionalLightEffect = new DirectionalLightEffect(contentLibrary.DirectionalLightEffect);
            _pointLightEffect       = new PointLightEffect(contentLibrary.PointLightEffect);
            _ssaoEffect             = new SSAOEffect(contentLibrary.SSAOEffect);

            _camManager = cameraManager;
            _chunks     = chunkManager;

            _debugOptions = ChunkRendererDebugOptions.NONE;

            basicEffect = contentLibrary.BasicEffect;

            _uiFontTiny = contentLibrary.UIFontTiny;

            _albedoTarget = new RenderTarget2D(_device, _device.PresentationParameters.BackBufferWidth, _device.PresentationParameters.BackBufferHeight, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
            _lightTarget  = new RenderTarget2D(_device, _device.PresentationParameters.BackBufferWidth, _device.PresentationParameters.BackBufferHeight, false, SurfaceFormat.Color, DepthFormat.None);
            _normalTarget = new RenderTarget2D(_device, _device.PresentationParameters.BackBufferWidth, _device.PresentationParameters.BackBufferHeight, false, SurfaceFormat.Color, DepthFormat.None);
            _depthTarget  = new RenderTarget2D(_device, _device.PresentationParameters.BackBufferWidth, _device.PresentationParameters.BackBufferHeight, false, SurfaceFormat.Single, DepthFormat.Depth24Stencil8);

            _randomMap = new Texture2D(_device, _device.PresentationParameters.BackBufferWidth, _device.PresentationParameters.BackBufferHeight);
            CreateRandomNormalTexture(_randomMap);

            _debugRasterizerState = new RasterizerState()
            {
                CullMode = Microsoft.Xna.Framework.Graphics.CullMode.None, FillMode = Microsoft.Xna.Framework.Graphics.FillMode.WireFrame
            };
            _rasterizerState = new RasterizerState()
            {
                CullMode = Microsoft.Xna.Framework.Graphics.CullMode.CullCounterClockwiseFace
            };
        }
예제 #12
0
    public void SetSSAO(int state)
    {
        SSAOEffect sSAO = Camera.mainCamera.GetComponent <SSAOEffect>();

        if (sSAO != null)
        {
            if (state == 0)
            {
                sSAO.enabled = false;
            }
            if (state == 1)
            {
                sSAO.enabled = true;
            }
        }
        else
        {
            print("No SSAO");
        }
    }
예제 #13
0
 private void OnDisable()
 {
     SSAOEffect.DestroyMaterial(this.m_SSAOMaterial);
 }
예제 #14
0
    public static void CheckToggleSaturationCorrection()
    {
        GameObject obj2 = GameObject.FindWithTag("MainCamera");

        if (obj2 != null)
        {
            if (Input.GetKeyUp(KeyCode.F12))
            {
                isF12KeyDown = false;
            }
            if (!isF12KeyDown && Input.GetKeyDown(KeyCode.F12))
            {
                if (iniHelper == null)
                {
                    iniHelper = new IniHelper(Application.dataPath + "/Managed/new.ini");
                }

                TM_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ToneMapping") == "1") ? true : false;
                SSAO_Enable  = (iniHelper.ReadValue("Graphics Enhance", "SSAO") == "1") ? true : false;
                CE_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ContrastEnhance") == "1") ? true : false;
                CS_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ContrastStretch") == "1") ? true : false;
                Bloom_Enable = (iniHelper.ReadValue("Graphics Enhance", "Bloom") == "1") ? true : false;

                Tonemapping           TM    = obj2.GetComponent <Tonemapping> ();
                SSAOEffect            SSAO  = obj2.GetComponent <SSAOEffect>();
                ContrastEnhance       CE    = obj2.GetComponent <ContrastEnhance> ();
                BloomAndLensFlares    bloom = obj2.GetComponent <BloomAndLensFlares> ();
                ContrastStretchEffect CS    = obj2.GetComponent <ContrastStretchEffect> ();

                QualitySettings.antiAliasing = 4;

                if (CS == null)
                {
                    CS              = obj2.AddComponent <ContrastStretchEffect> ();
                    CS.shaderAdapt  = Shader.Find("Hidden/Contrast Stretch Adaptation");
                    CS.shaderApply  = Shader.Find("Hidden/Contrast Stretch Apply");
                    CS.shaderLum    = Shader.Find("Hidden/Contrast Stretch Luminance");
                    CS.shaderReduce = Shader.Find("Hidden/Contrast Stretch Reduction");
                }

                if (bloom == null)
                {
                    bloom = obj2.AddComponent <BloomAndLensFlares> ();
                    bloom.addBrightStuffOneOneShader = Shader.Find("Hidden/BlendOneOne");
                    bloom.brightPassFilterShader     = Shader.Find("Hidden/BrightPassFilterForBloom");
                    bloom.hollywoodFlaresShader      = Shader.Find("Hidden/MultipassHollywoodFlares");
                    bloom.lensFlareShader            = Shader.Find("Hidden/LensFlareCreate");
                    bloom.screenBlendShader          = Shader.Find("Hidden/Blend");
                    bloom.separableBlurShader        = Shader.Find("Hidden/SeparableBlurPlus");
                    bloom.vignetteShader             = Shader.Find("Hidden/VignetteShader");
                }

                if (TM == null)
                {
                    TM            = obj2.AddComponent <Tonemapping> ();
                    TM.tonemapper = Shader.Find("Hidden/Tonemapper");
                    TM.type       = Tonemapping.TonemapperType.AdaptiveReinhardAutoWhite;
                }
                if (SSAO == null)
                {
                    SSAO = obj2.AddComponent <SSAOEffect>();
                    SSAO.m_SSAOShader        = Shader.Find("Hidden/SSAO");
                    obj2.camera.farClipPlane = 1000;
                }

                FightUIInterface.uiInterface.cheatWindow.Open();
                //Main.actorMgr.SwitchControlActor ();

                if (CE == null)
                {
                    CE = obj2.AddComponent <ContrastEnhance> ();
                    CE.contrastCompositeShader = Shader.Find("Hidden/ContrastComposite");
                    CE.separableBlurShader     = Shader.Find("Hidden/SeparableBlurPlus");
                }

                isF12KeyDown = true;
                if (!SaturationCorrectionFlag)
                {
                    FightUIInterface.ShowPromptText("画面增强打开", 1, 1f);
                    SaturationCorrectionFlag = true;

                    if (TM)
                    {
                        TM.enabled = TM_Enable;
                    }

                    if (SSAO)
                    {
                        SSAO.enabled              = SSAO_Enable;
                        SSAO.m_Radius             = 0.8f;
                        SSAO.m_SampleCount        = SSAOEffect.SSAOSamples.Medium;
                        SSAO.m_OcclusionIntensity = 2.4f;
                        SSAO.m_Downsampling       = 2;
                        SSAO.m_MinZ = 0.8f;
                    }
                    if (CE)
                    {
                        CE.enabled = CE_Enable;
                    }
                    if (bloom)
                    {
                        bloom.enabled = Bloom_Enable;
                    }

                    if (CS)
                    {
                        CS.enabled = CS_Enable;
                    }
                }
                else
                {
                    FightUIInterface.ShowPromptText("画面增强关闭", 1, 1f);
                    SaturationCorrectionFlag = false;
                    //component.enabled = false;
                    if (SSAO)
                    {
                        SSAO.enabled = false;
                    }
                    if (CE)
                    {
                        CE.enabled = false;
                    }
                    if (TM)
                    {
                        TM.enabled = false;
                    }
                    if (bloom)
                    {
                        bloom.enabled = false;
                    }
                    if (CS)
                    {
                        CS.enabled = false;
                    }
                }
                //FightUIInterface.ShowPromptText (SSAO_Enable ? "SSAO ON" : "SSAO OFF");
            }
        }

        //FightUIInterface.ShowPromptText (Application.unityVersion.ToString ());
    }
예제 #15
0
        public BaseDeferredRenderGame() : base()
        {
            graphics = new GraphicsDeviceManager(this);

            graphics.PreparingDeviceSettings += new EventHandler <PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
            Content.RootDirectory             = "Content";

            inputHandler = new InputHandlerService(this);

            assetManager = new AssetManager(this);

            renderer = new DeferredRender(this);

            rnd = new Random(DateTime.Now.Millisecond);

            //ggr = new GeographicGridRegistrationSystem(this, new Vector3(10, 5, 20), new BoundingBox(-Vector3.One * 2f, Vector3.One * 2f));

            ppManager = new PostProcessingManager(this);

            test         = new TesterEffect(this);
            test.Enabled = false;
            ppManager.AddEffect(test);

            SSAO         = new SSAOEffect(this, .1f, 1f, .5f, 1f);
            SSAO.Enabled = false;
            ppManager.AddEffect(SSAO);

            //stHPe = new STHardPointEffect(this, 25, 30, new Color(48, 89, 122));
            stHPe         = new STHardPointEffect(this, 25, 30, new Color(41, 77, 107), new Color(.125f, .125f, .125f, 1.0f));
            stHPe.Enabled = false;
            ppManager.AddEffect(stHPe);

            sun         = new SunEffect(this, SunPosition);
            sun.Enabled = false;
            ppManager.AddEffect(sun);

            water             = new WaterEffect(this);
            water.waterHeight = -25f;
            water.Enabled     = false;
            ppManager.AddEffect(water);

            dof         = new DepthOfFieldEffect(this, 5, 30);
            dof.Enabled = false;
            ppManager.AddEffect(dof);

            bloom         = new BloomEffect(this, 1.25f, 1f, 1f, 1f, .25f, 4f);
            bloom.Enabled = false;
            ppManager.AddEffect(bloom);

            haze         = new HeatHazeEffect(this, "Textures/bumpmap", false);
            haze.Enabled = false;
            ppManager.AddEffect(haze);

            radialBlur         = new RadialBlurEffect(this, 0.009f);
            radialBlur.Enabled = false;
            ppManager.AddEffect(radialBlur);

            ripple         = new RippleEffect(this);
            ripple.Enabled = false;
            ppManager.AddEffect(ripple);

            fog         = new FogEffect(this, 50, 100, Color.DarkSlateGray);
            fog.Enabled = false;
            ppManager.AddEffect(fog);

            godRays = new CrepuscularRays(this, SunPosition, "Textures/flare", 1500, 1f, .99f, 1f, .15f, .25f);
            //godRays = new CrepuscularRays(this, SunPosition, "Textures/flare", 1500, 1f, .99f, .1f, 0.12f, .25f);
            godRays.Enabled = false;
            ppManager.AddEffect(godRays);
        }
예제 #16
0
    public void ApplyOptions()
    {
        Water      water       = null;
        GameObject waterObject = GameObject.Find("Nighttime Water");

        if (waterObject != null)
        {
            water = waterObject.GetComponent <Water>();
        }

        SSAOEffect ssao = null;

        if (CCamera.GetInstance())
        {
            ssao = CCamera.GetInstance().GetComponent <SSAOEffect>();
        }

        switch (QualitySettings.GetQualityLevel())
        {
        case 0:
        case 1:
        {
            if (water != null)
            {
                water.m_WaterMode   = Water.WaterMode.Simple;
                water.m_TextureSize = 64;
            }
            if (ssao != null)
            {
                ssao.enabled = false;
            }
        }
        break;

        case 2:
        case 3:
        {
            if (water != null)
            {
                water.m_WaterMode   = Water.WaterMode.Reflective;
                water.m_TextureSize = 128;
            }
            if (ssao != null)
            {
                ssao.enabled = false;
            }
        }
        break;

        case 4:
        case 5:
        {
            if (water != null)
            {
                water.m_WaterMode   = Water.WaterMode.Refractive;
                water.m_TextureSize = 256;
            }
            if (ssao != null)
            {
                ssao.enabled = true;
            }
        }
        break;
        }
    }
예제 #17
0
    private void OnOptionsMenu()
    {
        const float BUTTON_WIDTH = 256;
        float       yPosition    = 100;

        string  pausedText      = "Options";
        Vector2 textDimensions  = GUI.skin.label.CalcSize(new GUIContent(pausedText));
        Rect    pausedLabelRect = new Rect((Screen.width * 0.5f) - (textDimensions.x * 0.5f), yPosition, textDimensions.x, textDimensions.y);

        GUI.Label(pausedLabelRect, pausedText);

        yPosition += 96;
        string[] graphicsLevels = QualitySettings.names;
        Rect     selectionRect  = new Rect((Screen.width * 0.5f) - 256, yPosition, 512, 96);
        int      selected       = GUI.SelectionGrid(selectionRect, QualitySettings.GetQualityLevel(), graphicsLevels, graphicsLevels.Length);

        if (selected != -1)
        {
            QualitySettings.SetQualityLevel(selected);

            Water      water       = null;
            GameObject waterObject = GameObject.Find("Nighttime Water");
            if (waterObject != null)
            {
                water = waterObject.GetComponent <Water>();
            }

            SSAOEffect ssao = GetComponent <SSAOEffect>();

            switch (selected)
            {
            case 0:
            case 1:
            {
                if (water != null)
                {
                    water.m_WaterMode   = Water.WaterMode.Simple;
                    water.m_TextureSize = 64;
                    ssao.enabled        = false;
                }
            }
            break;

            case 2:
            case 3:
            {
                if (water != null)
                {
                    water.m_WaterMode   = Water.WaterMode.Reflective;
                    water.m_TextureSize = 128;
                    ssao.enabled        = false;
                }
            }
            break;

            case 4:
            case 5:
            {
                if (water != null)
                {
                    water.m_WaterMode   = Water.WaterMode.Refractive;
                    water.m_TextureSize = 256;
                    ssao.enabled        = true;
                }
            }
            break;
            }
        }

        yPosition += 96 + 42;
        Rect backRect = new Rect((Screen.width * 0.5f) - (BUTTON_WIDTH * 0.5f), yPosition, BUTTON_WIDTH, 32);

        if (GUI.Button(backRect, "Back"))
        {
            m_pausedMenuState = PausedMenuState.Main;
            return;
        }
    }