Пример #1
0
    void InitPostProcess()
    {
        // 设置后期处理
//        PostProcessLayer postLayer = FindObjectOfType<PostProcessLayer>();
//        PostProcessVolume postVolume = FindObjectOfType<PostProcessVolume>();
//
//
        KVQuality.ResetPostProcess(true);
    }
Пример #2
0
//    AssetbundleUpdater updater;

    private void Awake()
    {
        KVQuality.InitQuality();

        LoggerHelper.Instance.Startup();
        // 启动ugui图集管理器
        var start = DateTime.Now;

        Sword.SpriteAtlasManager.Instance.Startup();
        Logger.Log(string.Format("SpriteAtlasManager Init use {0}ms", (DateTime.Now - start).Milliseconds));
        enterTime = Time.realtimeSinceStartup;
    }
Пример #3
0
    public static void UpdateHighFrame()
    {
        bool isHighFrame = KVQuality.IsOpenEffectByKey(KVQuality.HighFrameRate);
        int  vSyncCount  = 2;
        int  frameRate   = 30;

        if (isHighFrame)
        {
            frameRate  = 60;
            vSyncCount = 1;
        }

        if (QualitySettings.vSyncCount != vSyncCount)
        {
            QualitySettings.vSyncCount = vSyncCount;
        }
        if (Application.targetFrameRate == frameRate)
        {
            Application.targetFrameRate = vSyncCount;
        }
    }
Пример #4
0
    /// <summary>
    /// 后处理设置
    /// 此处会做初始化(isINitPost=ture or postLayer.enabled
    /// 此处会设置FXAA
    /// </summary>
    /// <param name="isInitPost"></param>
    public static void ResetPostProcess(bool isInitPost = false)
    {
        bool isOpenPostProcess  = KVQuality.IsOpenEffectByKey(KVQuality.PostProcessing);
        bool isOpenAntiAliasing = KVQuality.IsOpenEffectByKey(KVQuality.AntiAliasing);

        PostProcessResources postRes = Resources.Load <PostProcessResources>("PostProcessResources");

        PostProcessLayer[] postLayers = GameObject.FindObjectsOfType(typeof(PostProcessLayer)) as PostProcessLayer[];
        foreach (var postLayer in postLayers)
        {
            bool isLastEnable = postLayer.enabled;

            postLayer.enabled = isOpenPostProcess;
            PostProcessVolume volume = postLayer.gameObject.GetComponent <PostProcessVolume>();
            if (volume)
            {
                volume.enabled = isOpenPostProcess;
            }


            if (isOpenPostProcess)
            {
                if (isInitPost || (!isLastEnable))
                {
                    postLayer.Init(postRes);
                }

                if (isOpenAntiAliasing)        //开启fxAA移动级别抗锯齿
                {
                    postLayer.antialiasingMode = PostProcessLayer.Antialiasing.FastApproximateAntialiasing;
                    postLayer.fastApproximateAntialiasing.fastMode  = true;
                    postLayer.fastApproximateAntialiasing.keepAlpha = true;
                }
            }
        }
    }