• Unity的SpriteAtlas实践


    我的环境

    Unity引擎版本:Unity2019.3.7f1

    AssetBundles-Browser 于2021-1-14拉取,github上最后提交日期是2019-12-14,在本文简称:ABBrowser

    注意事项:每次修改spriteAtlas的属性后,都要把ab文件删除后再重新打包。

    事件通知:只有不勾选Include In Build 才会触发 SpriteAtlasManager.atlasRequested

    SpriteAtlas不勾选Include In Build

    UI和图集不同名

    KSFramework中的例子分析,打开ABBrowser来看,如果图集的abName和ui的abName不一致,会提示你元素被打包到多个ab中,实际也是打包到不同的ab中了

    image

    UI和图集同名且引用公共图集

    如果一个图片被多个ui界面的prefab中引用,不管这个图片是否有打到共用图集中,都会提示xxx is auto-included in multiple bundles,但是通过解包ab可以看到login.ab并未包含btn_panel_02这张图,因为btn_panel_02打包在公共图集中

    image-20210407163757314

    项目实践

    最好的做法,就是一个atlas只被一个ui.prefab引用,且atlas和ui打到同一个ab中

    这种做法需要自己加载图集,在UI编辑器中处理一套,而加载资源需要处理另一套

    根据这个特性,我在 KSFramework 中已经对unity的spriteAtlas进行了管理

    勾选Include In Build

    如果图集和UI不在同一个ab中,则打包出来的版本会丢图,在Editor中中正常的。

    而如果图集和UI放在同一个ab中,则不会丢图

  • 相关阅读:
    2018牛客网暑期ACM多校训练营(第九场)A -Circulant Matrix(FWT)
    ZOJ
    BZOJ 4318 OSU!(概率DP)
    POJ
    POJ
    Linux安装及管理程序
    Linux目录及文件管理
    linux账号管理操作
    linux系统命令总结
    linux目录及文件管理操作
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14634510.html
Copyright © 2020-2023  润新知