打包出的unity会黑屏_解决Sprite Atlas打包Asset bundles时重复打包的问题

本文讨论了Unity在2018.4.6之前版本中,使用Sprite Atlas打包Asset bundles时出现的重复打包纹理问题,导致黑屏。通过分析Assetbundle内容,发现同一纹理被多个Assetbundle包含。解决方案是取消Sprite Atlas的'Include in Build'选项,并在C#脚本中注册SpriteAtlasManager.atlasRequested回调以实现延迟绑定。Unity在2018.4.6及更高版本已修复此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x00 前言

在Unity 2018.4.6之前的版本,有一个和SpriteAtlas打AB包有关的常见问题。即当给Sprite Atlas打AB包时,Sprite Atlas Texture可能会被重复打包。你可以在这里查看这个issue。

https://issuetracker.unity3d.com/issues/android-same-atlas-assets-are-being-included-in-asset-bundle-multiple-times-when-bundle-is-built​issuetracker.unity3d.com

本文就来讨论一下如何解决这个问题。

0x01 The Issue

首先,我会演示一下这个issue。如下图所示,有4个sprite,分别为Icon1, Icon2, Icon3 以及 SF Window(来自Unity Samples: UI)。将它们存放到一个叫 new sprite atlas 的新Sprite Atlas中。同时有一个uGUI的Panel使用了其中的一些Sprite来渲染UI元素。

dde6961bc42891bf2168fb7c2f106254.png

94e5eab70aefc8347d8cbe56779f5f4a.png

之后使用AssetBundles-Browser分别对UI Canvas和Sprite Atlas打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值