zoukankan      html  css  js  c++  java
  • 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中,则不会丢图

  • 相关阅读:
    二分查找 && 三分查找
    LeetCode || 大杂烩w
    LeetCode || 递归 / 回溯
    LeetCode || 双指针 / 单调栈
    HITICS || 2018大作业 程序人生 Hello's P2P
    思维 || Make It Equal
    国庆集训 || Wannafly Day4
    国庆集训 || Wannafly Day1
    区间DP || HDU 6249 Alice’s Stamps
    10进制转k进制
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14634510.html
Copyright © 2011-2022 走看看