共计 1901 个字符,预计需要花费 5 分钟才能阅读完成。
1)手机端呈现 Z -Fighting 景象
2)不应用 Scenes In Build 的形式加载场景
3)同时打包 Vulkan 和 OpenGLES 会使得 Shader 内存翻倍吗
4)MaterialPropertyBlock 批改多材质对象的问题
这是第 306 篇 UWA 技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫 10 分钟,认真读完必有播种。
UWA 问答社区:answer.uwa4d.com
UWA QQ 群 2:793972859(原群已满员)
Rendering
Q:咱们的游戏,手机端呈现 Z -Fighting 景象,且不稳固呈现。大部分的状况是刚进入大厅场景角色没闪动,进行战斗一场后切出来容易呈现闪动景象。查看了美术的角色模型,确实有近距离面的问题。
美术提出来的问题是近距离面,尤其不规则面应该拉多远才行,为何在 Unity PC 端上始终是失常的?
A1:你能够先调整一下近立体和远立体,不要差值太大。
感激 1 9 7 3-311135@UWA 问答社区提供了答复
A2:参考以下几点:
- 挪动端的深度 Buffer 精度问题,在 PC DX 下有 usesReversedZBuffer,所以精度 Buffer 比拟平均,挪动端 GL 稍远一点可能会丢精度,解决方案也是楼上说的调整近立体远立体。
- 如果模型导入器开了 Mesh 压缩,能够去掉试试。
- 如果是渲染程序是固定的,能够思考在 Shader 中应用 Offset 做偏移,也可能会好。
感激范世青 @UWA 问答社区提供了答复
A3:手机上深度精度低,咱们个别设置 0.1 到 3000,就缩小大部分闪动,剩下的还闪的就美术做拆散度高一些。
感激 UDX@UWA 问答社区提供了答复
Script
Q:想要动静应用名称来加载场景。所以不应用在 Scenes In Build 的形式,在真机上是能够应用 AssetBundle 来加载指定名称的场景,然而编辑器里也想放弃雷同的加载形式,是否有不应用 Scenes In Build 的形式加载场景呢?
A:用这个接口就行了:
UnityEditor.SceneManagement.EditorSceneManager.LoadSceneInPlayMode(string path, SceneManagement.LoadSceneParameters parameters);
感激 corsair@UWA 问答社区提供了答复
AssetBundle
Q:同时打包 Vulkan 和 OpenGLES 会使得 Shader 内存翻倍吗?
A:不会。试了一下对于同一个 Shader 资源,上图设置里只保留一种图形 API 和两种都有时的区别,和只有一种 API 时相比,保留两种图形 API,会使打包时这个 Shader 的变体翻倍,从而使包体大小回升。但运行时该 Shader 的内存却不会因而翻倍。
感激 Faust@UWA 问答社区提供了答复
Rendering
Q:MaterialPropertyBlock 对 SkinnedMesh 上多材质球的其中一个批改会影响所有的材质球,请问如何解决?
A:对于这个状况我在 Unity 2018.4、2019.4、2020.3 和 2021.1 这四个较新稳固版本尝试复现,发现 2018.4、2019.4 和 2020.3 中都呈现了楼主说的状况,直到 2021.1 版本中能力失常批改。因而揣测为 Bug,但去 Unity 的 Release Note 中搜寻了一番,目前没看到相干的修复条目。
又试了一下 MaterialPropertyBlock 对个别 MeshRenderer 的多材质球的状况,在上述这些版本中都是能够只批改一个并只影响该材质球的,阐明该 Bug 只存在于 SkinnedMeshRenderer。
所以如果的确有别离批改 SkinnedMeshRenderer 的多材质球的需要,在不合适通过降级 Unity 版本来解决该问题的前提下,为了优先实现性能的话,目前倡议对于 SkinnedMeshRenderer 改为对材质自身进行操作(相似于 material.SetColor),只管这样的确会产生更多材质实例。
感激 Faust@UWA 问答社区提供了答复
封面图来源于网络
明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在 UWA 问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官网技术博客:blog.uwa4d.com
官网问答社区:answer.uwa4d.com
UWA 学堂:edu.uwa4d.com
官网技术 QQ 群:793972859(原群已满员)