1)Addressable编辑器相干开发问题
2)Addressable动静设置更新地址
3)Addressable在网络差的环境中下载资源
4)Android ETC2 Fallback的疑难
5)内置Shader中“Dependency”的定义


这是第245篇UWA技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫10分钟,认真读完必有播种。

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

Addressable

Q:我想通过编辑器脚本来做主动导入下图这个选项并打钩,能本人设置相干的Key。有没有参考的工程或代码示例?谢谢!

A:用AssetDatabase.AssetPathToGUID和AddressableAssetSettings.CreateOrMoveEntry。

感激老王@UWA问答社区提供了答复

Addressable

Q:Addressable动静配置的热更新地址,应用了文档外面的动态变量 (放大括号里),Addressable启动后获取到的Catalogs.Count始终为零,狐疑是地址的问题,有没有要求这个类也是动态的?

如果我配死地址,是能更新下来的,比方这样:

这种更新曾经测试通过,目前是想在生成首包后动静去改这个RemoteLoadPath。

A:咱们是这样子的,RemoteLoadPath指向一个static的property,这个property从配置表里返回资源更新的地址。

感激jim@UWA问答社区提供了答复

Addressable

Q:咱们应用Addressable来做资源的热更新。当初模仿了一个较差网络环境下的下载资源状况,应用Windows上模仿丢包的软件模仿了网络环境,丢包率设置为30%。

Addressable的下载会卡死在某个百分比,DownloadDependenciesAsync的Completed事件不会被触发,所以无奈通过AsyncOperationHandle的status判断是失败还是胜利。

Log显示的报错是:

请问这种状况有什么好的解决办法吗?

A:起初发现是有几个资源的Time Out值设置得太大了,导致始终在期待,所以进度条卡死。解决办法是将Time Out值设置的小一点,并减少retry次数。

我Time Out设置的是20。感觉不宜太长,否则超时的时候下载进度感觉会长工夫卡死;太短的话,挪动网络太差,也常常会超时导致超时下载失败。

感激题主jim@UWA问答社区提供了答复

Editor

Q:咱们的游戏在模拟器上运行一会儿就会解体,狐疑是图片被解压成RGBA32导致内存过大产生的解体。Android ETC2 Fallback设置为16 bit是不是可能大幅升高在低端手机的内存占用呢?

另外我在Build Setting抉择ETC2 Fallback后,Project Setting没有任何变动,这个值是保留在哪里的?应该怎么上传?(版本:Unity 2018.4.31)

A:模拟器个别内存都够的,如果怕是内存问题能够调整一下调配给模拟器的内存。最好还是连上Logcat看一下Log,是因为内存问题,还是32位或者64位利用的问题,又或者是64位LuaJit之类的问题。这个值存在LibraryEditorUserBuildSettings.asset文件中。

感激郑骁@UWA问答社区提供了答复

Shader

Q:正在尝试自定义Terrain的Shader,发现内置Shader的开端有这样两行,想问问其中的“Dependency”是做什么用的,前面指定的Shader起什么作用?

Dependency “AddPassShader” = "Hidden/TerrainEngine/Splatmap/Diffuse-AddPass"
Dependency “BaseMapShader” = “Diffuse”

A:Dependency是一个未文档的关键词,其用于指定Shader依赖关系,理论作用有两个:

  • 打包的时候依赖不会脱漏,能够通过AssetBundle Browser验证。
  • Unity 2019之后能够通过C#接口Shader.GetDependency(等号左侧依赖名) 获取等号右侧Shader名。

地形零碎那么做,是因为有三种光照模型,通过GetDependency(依赖名) 能够缩小一些Shader名的硬编码,依赖名充当了接口的作用。

感激庄沁@UWA问答社区提供了答复

封面图来源于网络


明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在UWA问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。

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