Addressables资源如何进行完整性校验

1)Addressables资源如何进行完整性校验
2)使用SpriteAtlas时出现冗余精灵,如何指定用哪一个图集
3)anim文件进行精度处理后某些信息丢失


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

Addressable

Q:游戏是在启动的时候检测资源更新并下载,当下载到一半的时候直接退出游戏。再启动游戏的时候Addressables无法检测到要更新的资源。

我查看了下载写入资源的文件夹,发现Catalog文件已经完全写入了,估计是这个原因,导致Addressables无法检测到更新的资源。

请问,像这种下载到一半,希望Addressables能接着上次的进度继续下载的要怎么处理呢?

还有一点,不知道Addressables有没有提供资源完整性校验的方法。

我希望能在资源全部下载完成后,再检测一遍资源文件是否完整(完全下载完成以及文件是否有损坏)。并把这个检测的功能放到UI上,这样在一些不可预测的环境下,不至于卡死且无法解决问题。

A:第一个问题已经解决,Addressables自动会校验。先前我们的调用方法有问题,再加上有魔改过里面的东西导致的。

感谢题主jim@UWA问答社区提供了回答


SpriteAtlas

Q:当前2D项目中有很多场景,以下按A、B、C代替。

由于前期没有做好图片分包策略,场景之间对精灵图的引用很复杂,很多图在多个场景中都有用到。

目前采取了一个暴力的做法,对单个场景里引用的所有图片生成图集,即A场景对应A图集,B场景对应B图集。

这样虽然在图集之间有精灵冗余,但是总体包量并没有大太多。

想法是加载A场景时用A图集就够了,但在实际测试时

SpriteAtlasManager.atlasRequested(string tag, Action<SpriteAtlas> callback) {}

所给的Tag值可能是B图集或D图集,如果都加载的话,内存量上去了,DrawCall也降不下来。

要解决这个问题,我有几个想法:

1. 忽略Tag,A场景直接返回A图集,但如果要同时加载另外的图集就会出问题,不好。
2. 如果能找到图集内部绑定逻辑,在打包时对配置文件进行修改,就能控制Tag值了。
3. 整理资源完全去除冗余,有可能需要做可视化编辑器(如果有现成的就太好了),想想就头大。

求教一下各位大神,应该如何处理?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Animation

Q:导入anim后缀的文件进行精度处理后某些信息就丢失了,如下图:

修改的代码:

AnimationClip theAnimation = AssetDatabase.LoadAssetAtPath<AnimationClip> (path);
Keyframe key;
Keyframe[] keyFrames;
foreach (EditorCurveBinding binding in (AnimationUtility.GetCurveBindings(theAnimation)))
{AnimationCurve curve = AnimationUtility.GetEditorCurve(theAnimation, binding);if (curve == null || curve.keys == null){continue;}keyFrames = curve.keys;for (int i = 0; i < keyFrames.Length; i++){key = keyFrames[i];key.value = float.Parse(key.value.ToString("f3"));key.inTangent = float.Parse(key.inTangent.ToString("f3"));key.outTangent = float.Parse(key.outTangent.ToString("f3"));keyFrames[i] = key;}curve.keys = keyFrames;theAnimation.SetCurve(binding.path, binding.type, binding.propertyName, curve);

修改前:
CelHeroRoleProp_enter.anim

修改后:
CelHeroRoleProp_enter.anim

A:丢失的信息是mEditorcurves,该字段只对anim在Editor中的内存占用产生影响,对其在真机运行时的动画效果与内存占用并无影响。因此该字段列表为空与否不会影响其在真机中的表现,可以用提问中的方式对其进行精度处理。如果想保留该字段(虽然对真机内存无影响),可以通过文本处理的方法对anim文件进行精度处理,处理时跳过mEdtorcurves字段。

感谢uwa_Ren@UWA问答社区提供了回答

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue--第十天

终极实战----大事件项目 1.简介&#xff1a; 2.创建项目&#xff1a; 1.创建&#xff08;159-163&#xff09;&#xff1a; 还是对着视频操作吧 2.路由&#xff1a; 3.element Plus: 导入element Plus 后不需要再导入插件配置&#xff0c;就连组件导入也不用 4.pinia构建用…

探讨二维半导体的概念、应用前景及其与传统半导体的差异

当探讨二维半导体时&#xff0c;我们置身于科技革新的前沿。这种材料以其纳米级薄度和独特电学性质区别于传统半导体&#xff0c;引发了科学界的广泛兴趣。本文将深入探讨二维半导体的概念、应用前景及其与传统半导体的差异。 什么是二维半导体&#xff1f; 二维半导体是由单…

Trouble Shooting:ORA-08104

背景&#xff1a;业务人员在rebuild索引期间强制中断了会话&#xff0c;再次rebuild报错 ORA-08104。 有其他会话在使用该索引&#xff0c;并未提交也会造成一样问题。 问题处理&#xff1a; 方法一、 用dbms_repair.online_index_clean来清除创建索引的失败的遗留 注意&…

【EI会议征稿】第三届能源动力与控制工程国际学术会议(EPECE 2024)

第三届能源动力与控制工程国际学术会议&#xff08;EPECE 2024&#xff09; The 3rd International Conference on Energy and Power Engineering, Control Engineering (EPECE 2024) 第三届能源动力与控制工程国际学术会议&#xff08;EPECE 2024&#xff09;将于2024年2月2…

redis.conf配置bind 127.0.0.1注释,允许远程访问

bind 127.0.0.1这个是绑定了我们的主机地址&#xff0c;意思是只允许我们主机访问redis&#xff0c;这句话注销掉&#xff0c;因为我们需要远程访问

如何解决浏览器提示“SSL协议未开启”?

SSL协议未开启是指服务器中的服务没有开启或者没有SSL模块造成的。 解决方案&#xff1a;打开浏览器&#xff0c;如图所示&#xff0c;找到工具→Internet选项&#xff1b;找到高级选项卡下面的使用 SSL 3.0 勾选之后点击保存即可。 (图片来源于网络&#xff0c;如涉及侵权请告…

ERP真的“烂”吗?为什么有些公司上了ERP效率反而更低?

ERP是由美国Gartner Group咨询公司首先提出的国际上最先进的企业管理模式之一&#xff0c;也是企业信息化集成的最佳解决方案。 ERP到底是什么&#xff1f; ERP的概念 先打个比方。 把ERP理解成手机。 使用通讯类APP和同事、朋友、亲人交流。 使用购物类APP购买生活工作中需…

洛谷 P8794 [蓝桥杯 2022 国 A] 环境治理

文章目录 [蓝桥杯 2022 国 A] 环境治理题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE给点思考 [蓝桥杯 2022 国 A] 环境治理 题目链接 https://www.luogu.com.cn/problem/P8794 题目描述 LQ 国拥有 n n n 个城市&#xff0c;从 0 0 …

A01、深入了解性能优化

1、常用性能评价/测试指标 1.1、响应时间 提交请求和返回该请求的响应时间之间使用的时间&#xff0c;一般比较关注平均响应时间。常用操作的响应时间列表&#xff1a; 操作响应时间打开一个站点几秒数据库查询一条记录&#xff08;有索引&#xff09;十几毫秒机械磁盘一次寻…

JavaScript基础(数组+正则表达+字符串)

目录 1.数组 1.1创建数组 1.2字面量创建数组 1.3length函数 1.4遍历数组1 1.5遍历数组2语法糖 1.6增删改查 1push 2pop 3unshift("x",x) 4shift() 5数组的截取 slice() splice() 6concat 7reverse 2.内置对象 2.1data 2.2Math对象 2.3字符串 1c…

Android用户目前面临的六大安全威胁​

如今&#xff0c;各种出色的Android设备已能让我们无缝地利用生活中的碎片时间&#xff0c;开展各类工作、娱乐、创作、以及交流等活动。不过&#xff0c;目前随着越来越多的安全威胁在我们没注意到或看不见的角落里暗流涌动&#xff0c;时常会危及我们的数据、隐私、甚至是And…

「Vue3面试系列」Vue3.0的设计目标是什么?做了哪些优化?

文章目录 一、设计目标1.1 更小1.2 更快1.3更友好 二、优化方案2.1 源码2.11源码管理2.22 TypeScript 2.2 性能2.3 语法 API2.31逻辑组织2.32 逻辑复用 参考文献 一、设计目标 不以解决实际业务痛点的更新都是耍流氓&#xff0c;下面我们来列举一下Vue3之前我们或许会面临的问…