From b068422bedcfb5d27e6cd899bd5d0b6646d13ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com> Date: Tue, 22 Jul 2025 15:17:46 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90m=E3=80=91shader=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/MarkAdressable/MarkAdressable.cs | 41 +++++++++++-------- .../Editor/YooAsset/ShaderVariantCollector.cs | 10 ++--- Assets/00.StaryEvo/package.json | 2 +- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/Assets/00.StaryEvo/Editor/MarkAdressable/MarkAdressable.cs b/Assets/00.StaryEvo/Editor/MarkAdressable/MarkAdressable.cs index 0ac5fc3..496eafd 100644 --- a/Assets/00.StaryEvo/Editor/MarkAdressable/MarkAdressable.cs +++ b/Assets/00.StaryEvo/Editor/MarkAdressable/MarkAdressable.cs @@ -17,7 +17,7 @@ namespace Stary.Evo.Editor public class MarkAdressable : MonoBehaviour { private static AssetBundleCollectorPackage package; - private static string packageName; + private static string _packageName; public static string DomainRoot @@ -120,12 +120,14 @@ namespace Stary.Evo.Editor $"Assets/Domain/{oneKeyBUildEntity.DomainName}/AddressableRes/Config/DomainConfig.asset"; DomainConfig domainConfig = AssetDatabase.LoadAssetAtPath(configPath); - packageName = domainConfig.domain; + _packageName = domainConfig.domain; Mark(); - CreateRes(packageName, + CreateRes(_packageName, $"{DomainRoot}/{oneKeyBUildEntity.DomainName}/AddressableRes", $"{DomainRoot}/{oneKeyBUildEntity.DomainName}/HotUpdate"); + + CollectSVC(oneKeyBUildEntity.DomainName); } } } @@ -157,14 +159,14 @@ namespace Stary.Evo.Editor $"Assets/Domain/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes/Config/DomainConfig.asset"; DomainConfig domainConfig = AssetDatabase.LoadAssetAtPath(configPath); - packageName = domainConfig.domain; + _packageName = domainConfig.domain; Mark(); - CreateRes(packageName, + CreateRes(_packageName, $"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes", $"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/HotUpdate"); - CollectSVC(); + CollectSVC(BuildAssetWindow.GetBuildPackageName()); EditorUtility.DisplayDialog("自动标记", "自动标记成功", "确定"); } @@ -189,17 +191,17 @@ namespace Stary.Evo.Editor collectorGroupDic.Clear(); ///创建分组 - string remotedRoot = $"{DomainRoot}/{packageName}/AddressableRes"; + string remotedRoot = $"{DomainRoot}/{_packageName}/AddressableRes"; DirectoryInfo[] dirs = new DirectoryInfo(remotedRoot).GetDirectories(); var setting = YooAsset.Editor.AssetBundleCollectorSettingData.Setting; setting.ShowPackageView = true; setting.UniqueBundleName = true; //创建Package文件 - package = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(packageName); + package = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(_packageName); //检测Packages是否存在TestPackage - package.PackageName = packageName; + package.PackageName = _packageName; package.EnableAddressable = true; package.IncludeAssetGUID = true; package.AutoCollectShaders = true; @@ -470,10 +472,10 @@ namespace Stary.Evo.Editor } } - public static void CollectSVC() + public static void CollectSVC(string packageName) { string remotedRoot = $"{DomainRoot}/{packageName}/ShaderVariants"; - string remotedRootFileName = $"{remotedRoot}/{BuildAssetWindow.GetBuildPackageName()}.shadervariants"; + string remotedRootFileName = $"{remotedRoot}/{packageName}.shadervariants"; if (!Directory.Exists(remotedRoot)) { Directory.CreateDirectory(remotedRoot); @@ -489,9 +491,9 @@ namespace Stary.Evo.Editor if (collection != null) { Debug.Log( - $"UnityEvo:【{BuildAssetWindow.GetBuildPackageName()}】ShaderCount : {collection.shaderCount}"); + $"UnityEvo:【{packageName}】ShaderCount : {collection.shaderCount}"); Debug.Log( - $"UnityEvo:【{BuildAssetWindow.GetBuildPackageName()}】VariantCount : {collection.variantCount}"); + $"UnityEvo:【{packageName}】VariantCount : {collection.variantCount}"); string groupname = "ShaderVariants"; AssetBundleCollectorGroup collectorGroup = null; @@ -502,8 +504,15 @@ namespace Stary.Evo.Editor } else { - collectorGroup = - YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, "ShaderVariants"); + foreach (var package in AssetBundleCollectorSettingData.Setting.Packages) + { + if (package.PackageName == packageName) + { + collectorGroup = + YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, "ShaderVariants"); + } + } + } var guid = AssetDatabase.AssetPathToGUID(localSavePath); @@ -525,7 +534,7 @@ namespace Stary.Evo.Editor throw new Exception("Failed to Collect shader Variants."); } }; - ShaderVariantCollector.Run(localSavePath, BuildAssetWindow.GetBuildPackageName(), 1000, completedCallback); + ShaderVariantCollector.Run(localSavePath, packageName, 1000, completedCallback); } } } \ No newline at end of file diff --git a/Assets/00.StaryEvo/Editor/YooAsset/ShaderVariantCollector.cs b/Assets/00.StaryEvo/Editor/YooAsset/ShaderVariantCollector.cs index 37f128d..ce6ff97 100644 --- a/Assets/00.StaryEvo/Editor/YooAsset/ShaderVariantCollector.cs +++ b/Assets/00.StaryEvo/Editor/YooAsset/ShaderVariantCollector.cs @@ -56,11 +56,11 @@ public static class ShaderVariantCollector _processMaxNum = processMaxNum; _completedCallback = completedCallback; - // 聚焦到游戏窗口 - EditorTools.FocusUnityGameWindow(); - - // 创建临时测试场景 - CreateTempScene(); + // // 聚焦到游戏窗口 + // EditorTools.FocusUnityGameWindow(); + // + // // 创建临时测试场景 + // CreateTempScene(); _steps = ESteps.Prepare; EditorApplication.update += EditorUpdate; diff --git a/Assets/00.StaryEvo/package.json b/Assets/00.StaryEvo/package.json index ece4765..8167d75 100644 --- a/Assets/00.StaryEvo/package.json +++ b/Assets/00.StaryEvo/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.main", - "version": "1.3.18", + "version": "1.3.19", "displayName": "00.StaryEvo", "description": "This is an Framework package(后台服务器版本,端口9527)", "unity": "2021.3",