首页 > 其他分享 >使用Addressables+SpriteAtlas打包产生冗余

使用Addressables+SpriteAtlas打包产生冗余

时间:2024-09-18 17:50:37浏览次数:1  
标签:社区 AssetBundle Unity SpriteAtlas Addressables UWA uwa4d 冗余

1)使用Addressables+SpriteAtlas打包产生冗余
2)使用SBP打AssetBundle脚本引用丢失
3)Unity构建后处理(IPostprocessBuildWithReport等接口)抛出异常后,构建不会停止
4)Unity 2022.3.0版本使用Occlusion,PC运行良好但是安卓手机无效


这是第400篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

AssetBundle

Q:问题描述:
1. 将SpriteAtlas单独打成一个Group,结果其他AssetBundle冗余了png。
2.将SpriteAtlas + 这个SpriteAtlas的png放到一个Group中,其他AssetBundle不冗余png了,但是这个Group资源Double了。

注:项目中直接使用的是png的Sprite,而不是在SpriteAtlas中Get Sprite。

A:其实是Unity的Bug,准确地说是SBP的Bug。

 

未更新到最新的可以参考以下文章,或者直接更新到最新。
https://zhuanlan.zhihu.com/p/586918159

感谢题主夏霖锐@UWA问答社区提供了回答


AssetBundle

Q:最近项目实验升级ScriptableBuildPipeline打包AssetBundle(之前使用的是BuildIn构建管线)。使用的Unity为2022.3,SBP版本为2.1.4。

结果发现打出的UI AssetBundle中,部分NGUI的脚本丢失引用了,丢的最多的是UIButton。但也不是所有UI都会丢失,有的就正常。BuildIn管线打包也正常。

真机上加载资源的时候会报错:
Error: A scripted object (script unknown or not yet loaded) has a different serialization layout when loading. (Read 32 bytes but expected 8136 bytes)

Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

UnityEngine.AssetBundle:LoadAsset(String)

使用AssetStudio解包AssetBundle,发现脚本的m_PathId为0。求助,这可能是哪的问题?

 

  

 

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/66babdd6682c7e5cd61bf8ae


Editor

Q:Unity构建后处理(IPostprocessBuildWithReport等接口)抛出异常后,构建不会停止。

有什么比较好的方法,能在后处理过程中发生异常时,立即让构建停止并失败。无需关心Build Report中的结果,只是希望能让整体构建对外抛出异常。

A:执行一下“AssetDatabase.Refresh();”就停止打包了。

感谢夏霖锐@UWA问答社区提供了回答


AssetBundle

Q:Unity 2022.3.0版本使用Occlusion,场景是打成AssetBundle来加载的,PC上也是一样加载安卓平台的AssetBundle来加载场景,OC数据是跟着第一个激活的场景加载的,在PC上运行良好,但是上了手机就一点效果没有,管线是URP。请问这是什么情况呢?

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/66bca1f6682c7e5cd61bf8b5

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859

标签:社区,AssetBundle,Unity,SpriteAtlas,Addressables,UWA,uwa4d,冗余
From: https://www.cnblogs.com/uwatech/p/18419004

相关文章

  • 什么是数据中心冗余?
    目录数据中心冗余的定义数据中心冗余的重要性数据中心冗余的类型N+1冗余2N冗余2N+1冗余冗余数据中心的关键组件冗余对数据中心效率的影响冗余的重要性 数据中心冗余的定义数据中心冗余是IT环境中实施的一项重要策略,可确保在主系统发生任何故障时可以使用备份组件或系统。此方......
  • leetcode438.找到字符串中所有字母异位词、leetcode3.无重复字符的最长子串、leetcode
    leetcode438、找到字符串中所有字母异位词给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。示例1:输入:s=“cbaebabacd”,p=“abc”输出:[0,6]......
  • YOLOv9改进策略【卷积层】| SCConv:即插即用,减少冗余计算并提升特征学习
    一、本文介绍本文记录的是利用SCConv优化YOLOv9的目标检测网络模型。深度神经网络中存在大量冗余,不仅在密集模型参数中,而且在特征图的空间和通道维度中。SCConv模块通过联合减少卷积层中空间和通道的冗余,有效地限制了特征冗余,本文利用SCConv模块改进YOLOv9,提高了模型的性能......
  • 『功能项目』C#拓展 - 优化冗余脚本【36】
    我们打开上一篇35战士的平A特效的项目,本章要做的事情是代码优化,通常为了少写一些重复的脚本,会将常用到的一段代码封装在一个自定义的静态拓展方法里,在外部类中调用即可。新建一个脚本文件夹创建脚本:WExtension.csusingUnityEngine;publicstaticclassWExtension{......
  • Unet改进19:添加ScConv||用于特征冗余的空间和通道重构卷积
    本文内容:添加ScConv目录论文简介1.步骤一2.步骤二3.步骤三4.步骤四论文简介卷积神经网络(cnn)在各种计算机视觉任务中取得了显著的性能,但这是以巨大的计算资源为代价的,部分原因是卷积层提取冗余特征。最近的作品要么压缩训练有素的大型模型,要么探索设计良好的轻量级......
  • FBM233 以太网冗余模块
    BM233,10/100MBPS以太网,冗余,P/N-P0926GX特性FBM233的主要特点是:-与现场设备之间的冗余10Mbps或100Mbps以太网传输速率-可与多达64个现场设备通信-I/O软件驱动程序可从可用协议库下载-多达2000个DCI块连接-使用以太网连接将现场设备数据集成到......
  • 冗余
    <提供冗余监控引擎> ·监控引擎是模块化SW的重要组件,一旦监控引擎出现问题,将无法转发通信流。在一些高端的SW(4500/5500/6500)上都配有2个监控引擎来冗余。 ·SW使用RPR(RouteProcessorRedundancy)和RPR+来支持监控引擎。 ·现在常用的技术是SSO(状态化切换) ·MSFC(Mult......
  • CRC(循环冗余校验)和CBC(密码块链)
    CRC(循环冗余校验)和CBC(密码块链)是两种不同的技术,分别用于数据完整性校验和加密。以下是它们的主要区别和特点:循环冗余校验(CRC)定义:CRC是一种用于检测数据传输或存储中的错误的校验算法。它通过对数据进行数学运算生成一个固定长度的校验码,以便于在数据传输时验证数据的完整性。......
  • 通信编码揭秘:(二)信道编码(汉明码、循环冗余校验码、里德所罗门码)与其应用
    通信编码揭秘:2.信道编码(汉明码、循环冗余校验码、里德所罗门码)与其应用摘要信道编码的目的是提高数据传输的可靠性,确保即使在噪声环境下传输的数据也能被正确接收。本文将探讨汉明码、循环冗余校验(CRC)和里德-所罗门码三种常见的信道编码方法,并通过实际例子说明它们的应用......
  • ZeRO:一种去除冗余的数据并行方案
    ZeRO:一种去除冗余的数据并行方案目前训练超大规模语言模型主要有两条技术路线:TPU+XLA+TensorFlow/JAXGPU+Pytorch+Megatron+DeepSpeed前者由Google主导,由于TPU和自家云平台GCP深度绑定,对于非Googler来说并不友好后者背后则有NVIDIA、Meta、MS等大厂加持,社区氛围活......