【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
{
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<DomainConfig>(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<DomainConfig>(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);
}
}
}