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

UWA社区主页:community.uwa4d.com

本期目录:

  • 小游戏中Enable Exceptions的各选项有何区别
  • 罗纹磨砂玻璃遇到了渲染显示问题
  • 二进制模式下调用Addressable返回的结果异常大
  • 为什么AssetBundle资源材质因距离远近而丢失宏

Script

Q:小游戏中Enable Exceptions中的这几项有什么区别,该如何选择?

A:Enable Exceptions选项表示Unity引擎捕捉哪种级别的异常。

具体可以参考:

https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/DebugAndException.html#enable-exceptions

在使用选择上:

  • None性能最高,但此模式必须保证游戏代码(包括第三方插件)不使用异常,一旦命中异常即使Catch也无效,会直接导致程序终止。

  • Explicitly Thrown Exceptions Only是几种选择中鲁棒性和信息提示较为均衡的,推荐发布使用。

  • Full With Stacktrace会严重影响性能,切忌在发布版本中使用。


感谢Bill@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67ea07bc3d306f3e9d594e9a

Rendering

Q:我制作了一个磨砂玻璃的材质,但是普通的玻璃材质物体在它后面时的显示不正常,看起来磨砂玻璃没有生效一样。请问这是为什么呢?

A:半透明物体在Detail面板中有一个Translucency Sort Priority,该值越低就会先画,也就是在后面:

后面的雕像为0,Cube在上下图分别为1和-1,由此可见低的先画在后面。

该回答由UWA提供,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67e0d27a3d306f3e9d594e89

Asset

Q:我们引擎是2022.3.25,用了Addressable,目前版本是1.21.21,之前Catalog是json格式,Mono内存峰值很高,现在打算改成二进制。发现二进制模式下调用Addressables.GetDownloadSizeAsync这个接口拿更新内容大小,返回的结果异常的大,json模式就没有这个问题。目前试了几个Addressable版本都是这样。请问有什么好的解决方法吗?

A:翻了下论坛,好像是二进制模式有Bug,有重复计算,用这个帖子里的方法计算结果是正确的:

https://discussions.unity.com/t/addressables-getdownloadsizeasync-returning-wrong-size/1593240

感谢旋@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67ea06af3d306f3e9d594e99

Rendering

Q:为什么AssetBundle资源材质在距离过远的情况下会丢失一些自定义的宏?

离得近的话就不会:

A:因为_SWITCH_ON是和Shadow变体在一起的,当距离远了之后,Shadow失效了,所以就找不到匹配的变体了。

阴影的距离只有150,我试了调成15000,是OK的。

收集的时候把距离远近的都收集到,就会有_SWITCH_ON单独出现(不和Shadow一起出现)的变体了。

感谢旋@UWA问答社区提供了回答,有经验的朋友欢迎转至社区交流:

https://answer.uwa4d.com/question/67ea09383d306f3e9d594e9b

封面图来源于网络

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

UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

近期精彩回顾

【厚积薄发】高度场流体模拟 【万象更新】UWA Gears:GPU可选参数指南