当前位置: 首页 > news >正文

批量处理图集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();

}

相关文章:

  • C++:IO流
  • AICon 全球人工智能与机器学习技术大会参会有感
  • ansible 中剧本的书写与运行
  • 干货速学!供应商选择与评估流程详解
  • 你应该停止使用的 7 个已弃用的 Python 库
  • 通过Golang实现中间人攻击,查看和修改https流量包
  • Linux基础知识学习(五)
  • Go小技巧易错点100例(十七)
  • InputApc()函数是如何调用ProcessKeyboardInput()函数的?
  • MVC与三层架构分层
  • 用Golang实现图形面积计算
  • HiveSQL实战——大厂面试真题
  • 【JPCS出版】第三届机械、航天技术与材料应用国际学术会议 (MATMA 2024)
  • Go 语言协程管理精解
  • 解决 Go 语言并发问题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • gitlab-ci配置详解(一)
  • HTML5新特性总结
  • JavaScript 基本功--面试宝典
  • JS学习笔记——闭包
  • KMP算法及优化
  • Leetcode 27 Remove Element
  • Spring-boot 启动时碰到的错误
  • 订阅Forge Viewer所有的事件
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端设计模式
  • 区块链共识机制优缺点对比都是什么
  • 深度学习中的信息论知识详解
  • 使用Gradle第一次构建Java程序
  • 阿里云ACE认证学习知识点梳理
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (八十八)VFL语言初步 - 实现布局
  • (办公)springboot配置aop处理请求.
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (篇九)MySQL常用内置函数
  • (转)树状数组
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .htaccess 强制https 单独排除某个目录
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET 回调、接口回调、 委托
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET4.0并行计算技术基础(1)
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
  • .net反编译的九款神器
  • :“Failed to access IIS metabase”解决方法
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @RequestBody与@RequestParam
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [bzoj 3534][Sdoi2014] 重建