【m】shader 优化

This commit is contained in:
2025-07-22 15:17:46 +08:00
parent f2bf4df07c
commit b068422bed
3 changed files with 31 additions and 22 deletions

View File

@@ -17,7 +17,7 @@ namespace Stary.Evo.Editor
public class MarkAdressable : MonoBehaviour public class MarkAdressable : MonoBehaviour
{ {
private static AssetBundleCollectorPackage package; private static AssetBundleCollectorPackage package;
private static string packageName; private static string _packageName;
public static string DomainRoot public static string DomainRoot
@@ -120,12 +120,14 @@ namespace Stary.Evo.Editor
$"Assets/Domain/{oneKeyBUildEntity.DomainName}/AddressableRes/Config/DomainConfig.asset"; $"Assets/Domain/{oneKeyBUildEntity.DomainName}/AddressableRes/Config/DomainConfig.asset";
DomainConfig domainConfig = DomainConfig domainConfig =
AssetDatabase.LoadAssetAtPath<DomainConfig>(configPath); AssetDatabase.LoadAssetAtPath<DomainConfig>(configPath);
packageName = domainConfig.domain; _packageName = domainConfig.domain;
Mark(); Mark();
CreateRes(packageName, CreateRes(_packageName,
$"{DomainRoot}/{oneKeyBUildEntity.DomainName}/AddressableRes", $"{DomainRoot}/{oneKeyBUildEntity.DomainName}/AddressableRes",
$"{DomainRoot}/{oneKeyBUildEntity.DomainName}/HotUpdate"); $"{DomainRoot}/{oneKeyBUildEntity.DomainName}/HotUpdate");
CollectSVC(oneKeyBUildEntity.DomainName);
} }
} }
} }
@@ -157,14 +159,14 @@ namespace Stary.Evo.Editor
$"Assets/Domain/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes/Config/DomainConfig.asset"; $"Assets/Domain/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes/Config/DomainConfig.asset";
DomainConfig domainConfig = DomainConfig domainConfig =
AssetDatabase.LoadAssetAtPath<DomainConfig>(configPath); AssetDatabase.LoadAssetAtPath<DomainConfig>(configPath);
packageName = domainConfig.domain; _packageName = domainConfig.domain;
Mark(); Mark();
CreateRes(packageName, CreateRes(_packageName,
$"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes", $"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/AddressableRes",
$"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/HotUpdate"); $"{DomainRoot}/{BuildAssetWindow.GetBuildPackageName()}/HotUpdate");
CollectSVC(); CollectSVC(BuildAssetWindow.GetBuildPackageName());
EditorUtility.DisplayDialog("自动标记", "自动标记成功", "确定"); EditorUtility.DisplayDialog("自动标记", "自动标记成功", "确定");
} }
@@ -189,17 +191,17 @@ namespace Stary.Evo.Editor
collectorGroupDic.Clear(); collectorGroupDic.Clear();
///创建分组 ///创建分组
string remotedRoot = $"{DomainRoot}/{packageName}/AddressableRes"; string remotedRoot = $"{DomainRoot}/{_packageName}/AddressableRes";
DirectoryInfo[] dirs = new DirectoryInfo(remotedRoot).GetDirectories(); DirectoryInfo[] dirs = new DirectoryInfo(remotedRoot).GetDirectories();
var setting = YooAsset.Editor.AssetBundleCollectorSettingData.Setting; var setting = YooAsset.Editor.AssetBundleCollectorSettingData.Setting;
setting.ShowPackageView = true; setting.ShowPackageView = true;
setting.UniqueBundleName = true; setting.UniqueBundleName = true;
//创建Package文件 //创建Package文件
package = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(packageName); package = YooAsset.Editor.AssetBundleCollectorSettingData.CreatePackage(_packageName);
//检测Packages是否存在TestPackage //检测Packages是否存在TestPackage
package.PackageName = packageName; package.PackageName = _packageName;
package.EnableAddressable = true; package.EnableAddressable = true;
package.IncludeAssetGUID = true; package.IncludeAssetGUID = true;
package.AutoCollectShaders = 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 remotedRoot = $"{DomainRoot}/{packageName}/ShaderVariants";
string remotedRootFileName = $"{remotedRoot}/{BuildAssetWindow.GetBuildPackageName()}.shadervariants"; string remotedRootFileName = $"{remotedRoot}/{packageName}.shadervariants";
if (!Directory.Exists(remotedRoot)) if (!Directory.Exists(remotedRoot))
{ {
Directory.CreateDirectory(remotedRoot); Directory.CreateDirectory(remotedRoot);
@@ -489,9 +491,9 @@ namespace Stary.Evo.Editor
if (collection != null) if (collection != null)
{ {
Debug.Log( Debug.Log(
$"UnityEvo:【{BuildAssetWindow.GetBuildPackageName()}】ShaderCount : {collection.shaderCount}"); $"UnityEvo:【{packageName}】ShaderCount : {collection.shaderCount}");
Debug.Log( Debug.Log(
$"UnityEvo:【{BuildAssetWindow.GetBuildPackageName()}】VariantCount : {collection.variantCount}"); $"UnityEvo:【{packageName}】VariantCount : {collection.variantCount}");
string groupname = "ShaderVariants"; string groupname = "ShaderVariants";
AssetBundleCollectorGroup collectorGroup = null; AssetBundleCollectorGroup collectorGroup = null;
@@ -502,8 +504,15 @@ namespace Stary.Evo.Editor
} }
else else
{ {
collectorGroup = foreach (var package in AssetBundleCollectorSettingData.Setting.Packages)
YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, "ShaderVariants"); {
if (package.PackageName == packageName)
{
collectorGroup =
YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, "ShaderVariants");
}
}
} }
var guid = AssetDatabase.AssetPathToGUID(localSavePath); var guid = AssetDatabase.AssetPathToGUID(localSavePath);
@@ -525,7 +534,7 @@ namespace Stary.Evo.Editor
throw new Exception("Failed to Collect shader Variants."); throw new Exception("Failed to Collect shader Variants.");
} }
}; };
ShaderVariantCollector.Run(localSavePath, BuildAssetWindow.GetBuildPackageName(), 1000, completedCallback); ShaderVariantCollector.Run(localSavePath, packageName, 1000, completedCallback);
} }
} }
} }

View File

@@ -56,11 +56,11 @@ public static class ShaderVariantCollector
_processMaxNum = processMaxNum; _processMaxNum = processMaxNum;
_completedCallback = completedCallback; _completedCallback = completedCallback;
// 聚焦到游戏窗口 // // 聚焦到游戏窗口
EditorTools.FocusUnityGameWindow(); // EditorTools.FocusUnityGameWindow();
//
// 创建临时测试场景 // // 创建临时测试场景
CreateTempScene(); // CreateTempScene();
_steps = ESteps.Prepare; _steps = ESteps.Prepare;
EditorApplication.update += EditorUpdate; EditorApplication.update += EditorUpdate;

View File

@@ -1,6 +1,6 @@
{ {
"name": "com.staryevo.main", "name": "com.staryevo.main",
"version": "1.3.18", "version": "1.3.19",
"displayName": "00.StaryEvo", "displayName": "00.StaryEvo",
"description": "This is an Framework package(后台服务器版本端口9527)", "description": "This is an Framework package(后台服务器版本端口9527)",
"unity": "2021.3", "unity": "2021.3",