一些小的游戏工作室或者项目,他们的编码输出能力往往还可以,但是细节有一些欠缺,刚来到一个项目组发现了很多问题,比如便利list容器,c#中其实也就是数组,它居然不是倒序去处理的,你要知道那很容易出错的。通常来说都是倒序便利更加安全可靠。
处理之后 内存占用 显存占用都会降低。cpu gpu的性能都会有所提升。
[MenuItem("Assets/右键工具/批量去掉图集的读写属性")]
static void BatSetSpriteAltas()
{
var allFiles = Directory.GetFiles(Application.dataPath, "*.spriteatlas",SearchOption.AllDirectories);
foreach (var it in allFiles)
{
var item = it.Substring(it.IndexOf( "Assets\\"));
var spriteAtlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>(item);
if (spriteAtlas != null)
{
// 获取当前的纹理设置
SpriteAtlasTextureSettings textureSettings = spriteAtlas.GetTextureSettings();
SpriteAtlasPackingSettings packingSettings = spriteAtlas.GetPackingSettings();
// 去掉读写属性
textureSettings.readable = false;
// 设置新的纹理设置
spriteAtlas.SetTextureSettings(textureSettings);
spriteAtlas.SetPackingSettings(packingSettings); // 暂时不动padding参数
// 标记资源为已修改
EditorUtility.SetDirty(spriteAtlas);
}
}
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}