Beispiel #1
0
    void Start()
    {
        mouseOrbitInstance = GameObject.FindObjectOfType <MouseOrbit>();
        //m_Animator = GetComponent<Animator>();

        //if (Effects.Length > 0)
        //{
        //    mEffectNode = new EffectNode[Effects.Length];
        //    for (int i = 0; i < Effects.Length; i++)
        //    {
        //        mEffectNode[i] = Effects[i].GetComponent<EffectNode>();
        //        if (!mEffectNode[i])
        //        {
        //            Debug.LogError(Effects[i].name + ",没有挂EffectNode脚本!");
        //            return;
        //        }
        //        mEffectNode[i].Init();
        //    }

        //}
        //else
        //{
        //    Debug.LogWarning("Effects为空,请添加特效,再进入play模式!");
        //}

        if (MoveObject)
        {
            OrginalPosition = MoveObject.position;
            LastMoveObject  = MoveObject;
        }

        ImageSetting.SetImageQuality(ImageQuality.Best);
    }
    private void TestLevelFastest_Geometric()
    {
        shareData.shareCamera.renderingPath    = RenderingPath.Forward;
        shareData.shareSunLight.enabled        = false;
        shareData.shareCamera.depthTextureMode = DepthTextureMode.None;
        ImageSetting.SetImageQuality(ImageQuality.Fastest);
        QualitySettings.vSyncCount  = 0;
        Application.targetFrameRate = 0;
        int cout = Geometric_LevelFastestShowCount;

        for (int i = 0; i < cout; i++)
        {
            shareData.OpaqueModelList[i].enabled = true;
        }

        cout = Geometric_LevelFastestShowCount;
        for (int i = 0; i < cout; i++)
        {
            shareData.TransparentModelList[i].enabled = true;
        }

        cout = PerformanceCheckManager.MaxSkinnedModelCount;
        for (int i = 0; i < cout; i++)
        {
            shareData.SkinnedObjList[i].SetActive(true);
        }
    }
    private void TestLevelHigh_Geometric()
    {
        ImageSetting.SetImageQuality(ImageQuality.High);
        shareData.shareCamera.depthTextureMode = DepthTextureMode.Depth;
        shareData.shareCamera.renderingPath    = RenderingPath.DeferredShading;
        shareData.shareSunLight.enabled        = true;
        shareData.shareSunLight.shadows        = LightShadows.Hard;
        QualitySettings.vSyncCount             = 0;
        Application.targetFrameRate            = 0;
        int cout = Geometric_LevelHighShowCount;

        for (int i = 0; i < cout; i++)
        {
            shareData.OpaqueModelList[i].enabled = true;
        }

        cout = Geometric_LevelHighShowCount;
        for (int i = 0; i < cout; i++)
        {
            shareData.TransparentModelList[i].enabled = true;
        }

        cout = PerformanceCheckManager.MaxSkinnedModelCount;
        for (int i = 0; i < cout; i++)
        {
            shareData.SkinnedObjList[i].SetActive(true);
        }
    }
Beispiel #4
0
        public void ApplySettingData(VedioItem item, int level)
        {
            switch (item)
            {
            case VedioItem.ImageQuality:
                ImageSetting.SetImageQuality((ImageQuality)level);
                SetVedioData();
                break;

            case VedioItem.ShadowQuality:
                ImageSetting.SetShadowQuality((ShadowQuality)level);
                break;

            case VedioItem.SceneQuality:
                ImageSetting.SetSceneRenderingQuality((SceneRenderingQuality)level);
                break;

            case VedioItem.EffectQuality:
                ImageSetting.SetEffectQuality((EffectQuality)level);
                break;

            case VedioItem.TextureQuality:
                ImageSetting.SetTextureQuality((TextureQuality)level);
                break;
            }
        }
Beispiel #5
0
    void FinishWithNotDoCheck()
    {
        ImageSetting.SetImageQuality(PerformanceCheckManager.BreakCheckQuality);
        ImageSetting.ResetOthersSettings();
        //PerformanceCheckUI_BreakTips uiInstance = PerformanceCheckManager.Instance.flowShareData.breakTips;
        //uiInstance.gameObject.SetActive(true);
        //uiInstance.Desc.text = "您以跳过性能检测,游戏默认<color=red>" + PerformanceCheckManager.GetImageQualityDesc(PerformanceCheckManager.BreakCheckQuality) +
        //                       ",</color>可在<color=red>登入游戏后按[ESC]->视频设置</color>调节画质。正在进入游戏.....";

        ImageSetting.Clear();
        EndPerformanceCheck();
    }
Beispiel #6
0
    void NotSupportHighImangeEffect_ChooseDownQuality()
    {
        //WaitingSelect = false;
        //PerformanceCheckUI_Reslut uiInstance = PerformanceCheckManager.Instance.flowShareData.ui_Reslut;
        //uiInstance.tips.text = "测试完成,您可以在<color=red>登入游戏后按[ESC]->视频设置</color>中修改您的选项。正在进入游戏.....";

        //uiInstance.ConfigOneBtn.onClick.RemoveAllListeners();
        //uiInstance.ConfigTwoBtn.onClick.RemoveAllListeners();

        //uiInstance.ConfigTwoRoot.SetActive(false);
        //uiInstance.ConfigOneRoot.SetActive(false);

        ImageSetting.SetImageQuality(ImageQuality.Good);
        ImageSetting.ResetOthersSettings();

        ImageSetting.Clear();
        EndPerformanceCheck();
    }
Beispiel #7
0
    void FihishWithNormal()
    {
        //看看几何等级
        PerformanceCheckManager.PerformanceCheckReslut reslut = PerformanceCheckManager.Instance.ReslutData;
        if (reslut.GeometricRenderLevel <= 1 || reslut.ImageEffectRenderLevel <= 1)//最低级
        {
            ImageSetting.SetImageQuality(ImageQuality.Fastest);
            ImageSetting.ResetOthersSettings();
            UpdateReslutUI(ImageQuality.Fastest);
            return;
        }

        //中级情况1,所有都通过了
        if (reslut.GeometricRenderLevel == 2 && reslut.ImageEffectRenderLevel == 2)
        {
            ImageSetting.SetImageQuality(ImageQuality.Good);
            ImageSetting.ResetOthersSettings();
            UpdateReslutUI(ImageQuality.Good);
            return;
        }

        //中级情况2,通过了几何,没有通过后处理测试
        if (reslut.GeometricRenderLevel == 2)
        {
            ImageSetting.SetImageQuality(ImageQuality.Good);
            ImageSetting.ResetOthersSettings();
            flag = ReslutImageFlags.NotSupportFullGoodImageEffect;
            UpdateReslutUI(ImageQuality.Good, flag);
            return;
        }

        //高级情况1,所有都通过了
        if (reslut.GeometricRenderLevel == 3 && reslut.ImageEffectRenderLevel == 3)
        {
            ImageSetting.SetImageQuality(ImageQuality.High);
            ImageSetting.ResetOthersSettings();
            UpdateReslutUI(ImageQuality.High);
            return;
        }

        //高级情况2,通过了几何,没有通过后处理测试
        if (reslut.GeometricRenderLevel == 3)
        {
            ImageSetting.SetImageQuality(ImageQuality.High);
            ImageSetting.ResetOthersSettings();
            flag = ReslutImageFlags.NotSupportFullHighImageEffect;
            UpdateReslutUI(ImageQuality.High, flag);
            return;
        }

        //最高级情况1,所有测试都通过了
        if (reslut.GeometricRenderLevel == 4 && reslut.ImageEffectRenderLevel == 4)
        {
            //再看一下帧数,帧数超过70fps,可以把抗锯齿和Bloom开启来
            //如果真是超过80fps,可以把抗锯齿,bloom和ao开起来
            ImageSetting.SetImageQuality(ImageQuality.Best);
            ImageSetting.ResetOthersSettings();
            ImageSetting.GetData().AdvanceImageEffectEnabled = 1;
            if (PerformanceCheck_FPS.currFPS > PerformanceCheckManager.PassLevleFps * 1.3f)
            {
                ImageSetting.GetData().FXAAEnabled           = 1;
                ImageSetting.GetData().BloomAndFlaresEnabled = 1;
                flag = ReslutImageFlags.OpenOhtersImageEffects;

                if (PerformanceCheck_FPS.currFPS > PerformanceCheckManager.PassLevleFps * 1.4f)
                {
                    ImageSetting.GetData().SSAOEnabled = 1;
                }
            }


            UpdateReslutUI(ImageQuality.Best, flag);
            return;
        }

        //最高级情况2,只通过了几何图形测试,没有通过后处理,这种情况是显卡的能力不足,给予两种选择
        //1。降低分辨率
        //2.关闭后处理
        if (reslut.GeometricRenderLevel == 4)
        {
            ImageSetting.SetImageQuality(ImageQuality.Best);
            ImageSetting.ResetOthersSettings();

            flag = ReslutImageFlags.NotSupportFullBestImageEffect;
            UpdateReslutUI(ImageQuality.Best, flag);
            return;
        }
    }
Beispiel #8
0
 void FinishWithnotSupportRT()
 {
     ImageSetting.SetImageQuality(ImageQuality.Fastest);
     ImageSetting.ResetOthersSettings();
     UpdateReslutUI(ImageQuality.Fastest);
 }
Beispiel #9
0
 void FinishWithVeryLowMachine()
 {
     ImageSetting.SetImageQuality(ImageQuality.Fastest);
     ImageSetting.ResetOthersSettings();
     UpdateReslutUI(ImageQuality.Fastest);
 }
Beispiel #10
0
    void OnGUI()
    {
        if (!ShowButtons)
        {
            return;
        }
        int xindex = -1;
        int yindex = 0;

        Rows = Screen.height / buttonHeight;
        for (int i = 0; i < AnimationName.Length; i++)
        {
            string [] s        = AnimationName[i].Split('@');
            string    tempname = s[s.Length - 1];
            yindex = i % Rows;
            if (i % Rows == 0)
            {
                xindex++;
            }
            if (string.IsNullOrEmpty(AnimationName[i]))
            {
                continue;
            }
            if (GUI.Button(new Rect(xindex * buttonWidth + Xoffset, yindex * buttonHeight, buttonWidth, buttonHeight), tempname))
            {
                for (int j = 0; j < m_Animator.Length; j++)
                {
                    m_Animator[j].Play(AnimationName[i]);
                }

                if (IsEnabledXP())
                {
                    PlayCameraAnim(XPClip);
                }

                if (animationNode.Count > 0)
                {
                    for (int j = 0; j < animationNode.Count; j++)
                    {
                        AnimationNode node = animationNode[j];
                        //去掉空格
                        string CorrectName  = tempname.Trim();
                        string CorrectName2 = node.AnimationName.Trim();
                        if (CorrectName.Equals(CorrectName2) || node.AlwaysPlay)
                        {
                            foreach (EffectNode n in node.effectList)
                            {
                                if (n)
                                {
                                    bStartTime = true;
                                    timede     = 0.0f;
                                    n.Init();
                                    n.StopEffect();
                                    n.ResetScale();
                                    n.PlayEffect(isEmeny, -1, Vector3.zero, Vector3.zero, (int)EffectNodeMask.Mask_EnableLihgt);
                                    n.SetScale(SizeScale);
                                }
                            }

                            foreach (AudioSource aud in node.audioList)
                            {
                                if (aud)
                                {
                                    aud.Stop();
                                    aud.Play();
                                }
                            }
                        }
                    }

                    if (MoveSpeed > 0.0001f && MoveTime > 0.0001f)
                    {
                        if (DelayStartMove > 0.01)
                        {
                            if (!isOnDelayStartMove)
                            {
                                isOnDelayStartMove = true;
                                StartCoroutine(WaitForDelayStartMove());
                            }
                        }
                        else
                        {
                            isCanMove    = true;
                            CurrMoveTime = MoveTime;
                        }
                    }
                }
                if (PauseEditor != null)
                {
                    PauseEditor(PausedWhenClickButton);
                }
            }
        }

        GUI.Label(new Rect(Screen.width - 100.0f, 0, 80, 20), "时间:" + timede.ToString("F2"));

        Color c = GUI.color;

        GUI.enabled = ImageSetting.GetData().currImageQuality != ImageQuality.Fastest;
        GUI.color   = GUI.enabled ? c : Color.red;
        if (GUI.Button(new Rect(Screen.width - 100.0f, 20, 80, 20), "低等画质"))
        {
            ImageSetting.SetImageQuality(ImageQuality.Fastest);
        }
        GUI.enabled = true;
        GUI.color   = c;

        GUI.enabled = ImageSetting.GetData().currImageQuality != ImageQuality.Good;
        GUI.color   = GUI.enabled ? c : Color.red;
        if (GUI.Button(new Rect(Screen.width - 100.0f, 40, 80, 20), "中等画质"))
        {
            ImageSetting.SetImageQuality(ImageQuality.Good);
        }
        GUI.enabled = true;
        GUI.color   = c;

        GUI.enabled = ImageSetting.GetData().currImageQuality != ImageQuality.High;
        GUI.color   = GUI.enabled ? c : Color.red;
        if (GUI.Button(new Rect(Screen.width - 100.0f, 60, 80, 20), "高等画质"))
        {
            ImageSetting.SetImageQuality(ImageQuality.High);
        }
        GUI.enabled = true;
        GUI.color   = c;


        GUI.enabled = ImageSetting.GetData().currImageQuality != ImageQuality.Best;
        GUI.color   = GUI.enabled ? c : Color.red;
        if (GUI.Button(new Rect(Screen.width - 100.0f, 80, 80, 20), "极高画质"))
        {
            ImageSetting.SetImageQuality(ImageQuality.Best);
        }
        GUI.enabled = true;
        GUI.color   = c;

        isEmeny = GUI.Toggle(new Rect(Screen.width - 100.0f, 100, 80, 20), isEmeny, "敌方技能");

        SizeScale = GUI.HorizontalSlider(new Rect(Screen.width - 100.0f, 120, 80, 20), SizeScale, 0.01f, 10.0f);
    }