Addressable资源热更新疑问
1)Addressable资源热更新疑问
2)如何解决远处网格线会花的问题
3)关于着色器中某些特殊图片的用途
4)Lightmap在内存中有重复加载
5)Unity Job System问题
这是第243篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。
UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)
Addressable
Q:Addressable资源热更新,提示CRC Mismatch,将需要热更新的资源已经上传至CDN对应目录,启动游戏时报错:
A:我们的项目之前也遇到了同样的问题,具体表现是打包增量后Bundle的Hash没有改变,但是CRC改变了,导致加载出错。
目前我们这里有两种处理方案,仅供参考:
就是按照Unity官方说的,在Schema上禁用掉CRCCheck;但是这种方式在校验Bundle下载的完整性和正确性上可能会有些问题。
热更新流程上加入Hash和CRC的双重检测,检测到其中任一值有变化就认定该Bundle需要更新,并重载最新的Catalog文件;同样这样做的问题是有可能会平白增加很多Bundle下载,即便这个Bundle的内容并无更新。
感谢Hybrid_8974@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5fb9334d10a17c6c2b09d236
Texture
Q:想要实现网格线的效果,但是远处的线会花,是什么原因?这是一个正方形的Mesh,然后使用UV的缩放铺满n个小格子,图片设置成了Repeat,并且关闭了Mipmap。但是还是会出现远处的线花了,有什么解决方案吗?
A1:把Texture的Aniso Level值调高试试。
Aniso Level就是用于低角度看地面的。另外把Filter Mode设置成Trilinear,就不会出现一段一段的效果了,就是开销比较大。
感谢Prin@UWA问答社区提供了回答
A2:按下图调整后,问题解决了:
感谢题主halm@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6051be6fcfa35d5b53669b27
Shader
Q:如下图所示,因为资源是从其它地方下载的,没有详细说明,想知道这种图在TA方面来说,是用来做什么的?T_M_Body_Msa_b.png、T_M_Body_Msa_g.png和T_M_Body_Msa_Mtl.png 分别代表哪一块着色器中用到的,给个关键字提示下,谢谢。
A:分别为b(Bump)、g(Glossness)和Mtl(Metallic)。
感谢jim@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/604f2c87cfa35d5b53669ac5
Rendering
Q:如下图,为什么Lightmap在Profile里会显示有重复的呢?我看每一个都是40MB,有什么办法优化吗?而且对应的引用脚本里,没有发现对Lightmap的引用。
A:看起来每张Lightmap都加载了两份。题主有没有写自己管理Lightmap的机制呢?是一次就加载两份还是在切换场景或者更换Lightmap的时候没有卸载掉?加载场景时有没有使用LoadSceneMode.Additive,导致场景累加式加载,不卸载之前的资源?
Lightmap的引用数很高,看看是被哪些脚本索引住了,相应的组件是不是一直驻留。在该卸载的时候要把索引置空。
这个窗口把GameObject和Monobehaviour互相引用关系都显示出来了,不是直接的引用,确实比较复杂不好找。可以用Unity给的专门的MemoryProfiler试试,相对清楚一点。
感谢Prin@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6050a8d3cfa35d5b53669b10
Script
Q1:Unity 2020.2.1+Hub下载的SDK、NDK、JDK和BuildTools打包错误。
相关错误提示中没有一条提到有价值的信息。
经过验证:streammingAssets文件有680(包含)个限制,超过就打不出包了,带不带后缀名都没关系。不清楚是不是个人版的限制?
A1:应该是不会的,上万文件都测试过,没问题。
感谢郑骁@UWA问答社区提供了回答
A2:你可以勾选Custom Gradle properties template,在文件中把unityStreamingAssets=.unity3d*STREAMING_ASSETS*改为unityStreamingAssets=.unity3d,就可以了。
如果需要特殊文件类型不压缩,自行添加,以逗号“, ”隔开。如unityStreamingAssets=.unity3d, .bundle。
U3D从2020.2.3开始修改了aaptOptions 的打包参数,aaptOptions的数组最大是255。
aaptOptions {noCompress = [’.ress’, ‘.resource’, ‘.obb’] + unityStreamingAssets.tokenize(’, ')ignoreAssetsPattern = “!.svn:!.git:!.ds_store:!.scc:.:!CVS:!thumbs.db:!picasa.ini:!*~” }*PACKAGING_OPTIONS*
感谢刘冉@UWA问答社区提供了回答
Q2:请教下如果希望streamingAssets下的都不压缩,文件又都没后缀,要怎么写呢?
A:由于U3D 2020.2必须使用unityStreamingAssets变量,所以需要你把工程导出,然后修改aaptOptions,让全部文件不压缩。
参考:https://developer.android.google.cn/reference/tools/gradle-api/4.1/com/android/build/api/dsl/AaptOptions
感谢刘冉@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5ffd97b510a17c6c2b09d9f1
封面图来源:Unity Interactive Grass
可用在Unity项目的可交互的草,会在进入场景时将Unity原生的草替换成自己生成的Mesh。
https://lab.uwa4d.com/lab/5b590fe1d7f10a201fe10467
今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)
Addressable资源热更新疑问相关推荐
- 【Unity3D】基于AssetBundle实现资源热更新
1 前言 Unity3D 本地资源一般放在 Resources 目录下,但是 Resouces 文件夹的大小不能超过 2G,使用 AssetBundle 管理资源可以解决 Resources 文件夹受 ...
- 关于uni-app的资源热更新!!!
先看官方文档,对uni-app 的资源热更新有一个大致的了解: 整包升级 在线资源热更新 app方法 本文主要讲述,实现资源热更新时客户端需要进行的操作: 可以在***app.vue***的***on ...
- 《天涯明月刀》游戏资源热更新解决方案
天刀在韩国化的过程中,韩方对天刀的游戏内商城功能提出了一系列的适应他们本土运营习惯的商业化改造需求,其中最重要的基础功能修改就是需要商城能够支持不停服修改商品内容或上下架商品,包含新增未事先打进版本配 ...
- GameFramework篇:StarForce资源热更新讲解(一:基本流程)
准备工作: StarForce dev/Update分支 https://github.com/EllanJiang/StarForce/tree/dev/Update 注意下载子库 ...
- [unity3d]手游资源热更新策略探讨
原地址:http://blog.csdn.net/dingxiaowei2013/article/details/20079683 我们学习了如何将资源进行打包.这次就可以用上场了,我们来探讨一下手游 ...
- Unity资源热更新
通过把StreamingAssets文件夹下的本地的资源MD5列表文件复制到persistentDataPath文件夹下和服务器上的进行对比,把有变化的资源更新替换到本地persistentDataP ...
- Unity资源热更新--资源管理、Addressable
实习前理解错了mentor的意思,任务没完成TAT,火速学习一下addressable,另外狠狠吐槽北京健康宝弹窗. 资源打包方式 可热更资源类型:预制件.材质.贴图.模型.场景.shader.动画与 ...
- GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)
上篇我们讲解了基本的实现流程,那么本篇我们来谈谈实际操作,从零开始一步步配置 先来捋一遍思路 首先,Full目录下的资源是Unity打出来的AssetBundle经过加密(如果选择了Load from ...
- Unity 热更新技术 |(七)完整热更新实战案例学习使用,包括资源热更新及代码热更新【文末书】
最新文章
- 你现在还在使用刷脸支付吗?不,刷手支付已来!!!不侵犯隐私、秒速支付...
- 【小知识】为什么负数除二和右移一位的结果不一样?
- Do a test write by windows live writer
- NLP - Log-linear Models
- MySQL数据库-笔记06【SQL的4种连接查询、事务】
- docker——三剑客之Docker Machine
- LeetCode 100. 相同的树 思考分析
- Css学习总结(1)——20个很有用的CSS技巧
- 加强大数据应用助推 交通信息服务产业化进程
- 地砖中间高四边低_客厅棚顶有黑镜在风水里讲怎么样 装修中橱柜里的白色色块用哪个做,怎么施工...
- 2021年PAT乙级春季真题
- 计算机校本培训 培训总结,校本培训工作总结(2015—2016学年度)
- 泛微oa流程表单之明细表下拉框事件
- Edge的新标签页设置
- django app服务器搭建
- HSA人血清白蛋白修饰纳米金球金棒
- Victoria(硬盘检测工具)v4.46F绿色版
- 列位置CDays列位置
- 你的眼睛应该是灰色的,像钢铁一般的颜色
- ubuntu root初始密码设置