/// <summary>
        /// 搜集keywords
        /// </summary>
        public ShaderVariantCollection CollectionKeywords(string[] matPaths, ShaderVariantCollection excludeCollection)
        {
            var shaderCollection = new ShaderVariantCollection();

            //遍历所有mat的KeyWords
            foreach (var path in matPaths)
            {
                //Material;
                var material = AssetDatabase.LoadAssetAtPath <Material>(path);
                //shader数据
                var ret = shaderDataMap.TryGetValue(material.shader, out var shaderData);
                if (!ret)
                {
                    shaderData = ShaderUtilImpl.GetShaderVariantEntriesFilteredInternal(material.shader, 256, new string[] { }, excludeCollection);
                    shaderDataMap[material.shader] = shaderData;
                }

                //收集shaderVaraint
                var passTypes = shaderData.passTypes.Distinct();
                foreach (var pt in passTypes)
                {
                    var shaderVaraint = AddVariantOfPassTypeToCollection((PassType)pt, material);
                    shaderCollection.Add(shaderVaraint);
                }
                //SRP的搜集
                // AddVariantOfPassTypeToCollection(PassType.ScriptableRenderPipeline, material);
                // //ShadiwCast的keyword
                // if (material.FindPass("ShadowCaster") != -1)
                // {
                //     AddVariantOfPassTypeToCollection(PassType.ShadowCaster, material);
                // }
            }

            return(shaderCollection);
        }
        /// <summary>
        /// 获取所有的GlobalKeyword
        /// </summary>
        /// <param name="shader"></param>
        /// <returns></returns>
        List <string> GetShaderAllKeyworlds(Shader shader)
        {
            List <string> keywords = null;

            shaderKeyworldsDic.TryGetValue(shader, out keywords);
            if (keywords == null)
            {
                keywords = new List <string>(ShaderUtilImpl.GetShaderGlobalKeywords(shader));
                shaderKeyworldsDic.Add(shader, keywords);
            }

            return(keywords);
        }