批量处理图集SpriteAltas,关闭它的可读写属性

一些小的游戏工作室或者项目,他们的编码输出能力往往还可以,但是细节有一些欠缺,刚来到一个项目组发现了很多问题,比如便利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();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值