头图

AB打包有的Shader没有触发IPreprocessShaders的回调

1)AB打包有的Shader没有触发IPreprocessShaders的回调
​2)场景中有多灯光导致粒子系统大量不合批
3)获取Android和iOS的设备唯一标识符
4)使用了Variant的AB包里的资源会判断为冗余


这是第302篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

Shader

Q:在Addressable里面打包AB,其中的Shader打包并没有触发IPreprocessShaders里面的回调,请问是什么原因?

A:增量打包时已经打包的Shader不会触发该回调,只有新打包的Shader才会。不管是Addressable打包或者是其他的打包方式都类似。如果需要通过IPreprocessShaders来进行Shader变体剔除,那么还是建议重新全量打包一次,或者打包时设置ForceRebuild。

感谢宗卉轩@UWA问答社区提供了回答

Rendering

Q:场景中有多灯光,导致了粒子系统大量的不合批,该如何优化?

A:测试了一下,在2019.4.14版本中,如果多灯光“影响”到了粒子系统,确实会导致本该合批的ParticleSystem不能合批,虽然本身渲染的时候不会对ParticleSystem产生实际影响。在2020.3.17和2021.3.4版本中都没有这个问题。对于不是2020及以上版本的Unity,需要调整一下Light的CullingMask,不让其对ParticleSystem所在的Layer产生影响,就可以合批了。比如粒子特效在TransparentFX层,光源的CullingMask不包括这一个Layer即可。

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

Android

Q:请教获取Android和iOS的设备唯一标识符的方式。

A1:Android有获取IMEI的接口。如果iOS 15以后的设备设置不追踪,目前是无法获取设备唯一ID的,得从其他类似热云插件的方式获取。

感谢Knight-132872@UWA问答社区提供了回答

A2:Android是使用OAID或者UUID。iOS使用IDFA。刷机或者恢复出厂设置都会刷新ID,一些硬件层次的设备ID,在iOS 5.0以上不被允许获取,Android高版本中也不推荐使用。

感谢不君子@UWA问答社区提供了回答

A3:补充楼上的方案,有下面两种方式:

  1. 原生条件下,Android可以使用UUID的方式,iOS使用楼上说的IDFA,但是需要自己做兼容适配。
  2. 可以借助SDK,获取SDK的OpenID。这个是可靠和稳定的,优点是不需要兼容平台,但是需要接入SDK。

感谢廖武兴@UWA问答社区提供了回答

AssetBundle

Q:使用UWA AssetBundle检测服务,发现一些使用了Variant的AB包里的资源会被判定为冗余,是Bug吗?

A:使用Variant方式打包的AB中,资源名字完全相同的资源会生成完全一致的Guid,以实现它作为资源变体的功能,在加载的时候可以按需替换,而一般会认为Guid相同的资源就是同一份资源,所以有可能是这个原因导致误判成冗余。可以改下资源名字或者不用Variant的方式打包试试。

感谢宗卉轩@UWA问答社区提供了回答

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)

UWA官网:[链接]

27 声望
12 粉丝
0 条评论
推荐阅读
Unity客户端开发工程师的进阶之路
UWA技能成长系统是UWA根据学员的职业发展目标,提供技能学习的推荐路径,再将所需学习内容按难易等多维度,设计分成多个学习阶段,可以循序渐进地进行学习。

侑虎科技

封面图
程序员英语学习指南
动机为什么程序员要学习英语?工作:我们每天接触的代码都是英文的、包括很多技术文档也是英文的学习:最新最前沿的技术最开始都是只有English版本就业:学好英语让你的就业范围扩大到全球,而不只限于国内目标读...

九旬7阅读 699

安卓逆向之破解某成人APP播放次数限制
某成人水果APP非VIP用户存在播放次数限制,每天只能播放3次。超过3次需要购买VIP。 由于过于贫穷,于是抽空,对其安卓APP进行了逆向分析,最终成功破解了其播放次数限制。

悖论3阅读 1.5k评论 3

封面图
这一次,解决Flutter Dialog的各种痛点!
4.0版本做了重大调整,迁移请参照: SmartDialog 3.x 迁移 4.0本文内容已更新,文中内容及其代码皆为4.0用法前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信...

小呆呆6661阅读 3.5k

封面图
网易云音乐开源全链路埋点方案-曙光埋点(dawn)
网易云音乐开源了曙光埋点 dawn,一个跨多端的全链路埋点解决方案,旨在构造一个完美的数据理想国。曙光埋点创造性的提出了埋点虚拟树(VTree),并在此基础上实现了诸多能力,解决大前端侧埋点困难、精度差、不...

云音乐技术团队2阅读 437

封面图
uni-app中安卓包检查更新、新版本下载、下载进度条显示功能实现
如果想要做一个app的话,可以有很多种选择方案,uni-app是其中的一个性价比高一些(坑多一些)的方案。本文记录一下,uni-app打安卓包以后,需要检查并下载更新,且显示进度条的功能。

水冗水孚2阅读 815

Flutter 让你的Dialog脱胎换骨吧!(Attach,Dialog,Loading,Toast)
4.0版本做了重大调整,迁移请参照: SmartDialog 3.x 迁移 4.0本文内容已更新,文中内容及其代码皆为4.0用法前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信...

小呆呆6662阅读 2.4k

封面图

UWA官网:[链接]

27 声望
12 粉丝
宣传栏