1)如何优化.so mmap 内存占用
2)模拟器下物理碰撞生效
3)Unity RenderTexture 的开释在安卓上并不能使 GL 内存齐全回落
4)数字人中,怎么做到胡子固定在嘴巴皮肤上
这是第 319 篇 UWA 技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫 10 分钟,认真读完必有播种。
UWA 问答社区:answer.uwa4d.com
UWA QQ 群:465082844
Memory
Q:我的项目 PSS 内存过高,应用 adb 指令抓取内存形成,发现.so mmap 局部达到了 180MB。这块有没有优化倡议?
A1:能够从以下三个方向查一下:
- 泛型 Template 用的是否较多
- 自动化生产的代码是否较多
- Lua 生产的 Wrapper 代码是否较多
感激小 ben@UWA 问答社区提供了答复
A2:还有以下两点:
- 删除无用插件、代码
- IL2CPP 是否进行裁剪
感激郑骁 @UWA 问答社区提供了答复
Physics
Q:在雷电模拟器下,有大概率车与动态创建物体没碰撞,然而很奇怪的是某些雷同 Layer 有的能够碰撞。
前面间接空场景打包模拟器运行,创立 cube + rigidbody 赋值不同 Layer 模仿,有时候是有的 Layer 之间全副没有碰撞,还会呈现同一个运行每次会碰撞的 Layer 都不一样。
查了好久没啥思路,有没有大佬遇到类似问题?
以上问题有哪位大拿也已经做过相似的测试,欢送转至社区交换分享:
https://answer.uwa4d.com/ques…
Memory
Q:Unity RenderTexture 的开释在安卓上并不能使 GL 内存齐全回落?
Unity 版本:2020.3.21.f1
测试机:HUAWEI P30
内存统计工具:Perfdog
问题详情:
状况 1:创立 RT 并立即卸载,此时 GL 内存齐全回落。
状况 2:创立 RT 不卸载,此时 GL 回升并稳固。再创立 RT 并立即卸载,此时 GL 回升,但回落时(也有可能不回落)不会回到之前地位,会有一部分残留,相似于透露的状况。
想请问下为什么会产生这种状况?
我搭建了一个测试场景,次要测试了两个函数,第一个函数只生成 RT 不卸载、第二个函数生成 RT 并立即卸载。
在真机上测试后果:
能够看到前三次,调用办法 2 对应了状况 1,此时内存回落失常。但在调用办法 1 后再调用办法 2,则会产生内存无奈回落到原地位的状况。
目前查到的材料:参考了 UWA 上的一篇文章《分享一次查找 GfxDriver 内存暴涨的经验》
外面是这样解释的:
对于 GL 显存,外面说到回落不到原地位的起因是只卸载了 Main Memory,而不卸载 Pinned Memory,那有什么办法卸载掉 Pinned Memory 使内存齐全回落的办法吗?
我对 Main Memory 和 Pinned Memory 具体是什么不太理解,想求教一下大家。
以上问题有哪位大拿也已经做过相似的测试,欢送转至社区交换分享:
https://answer.uwa4d.com/ques…
Animation
Q:数字人中,怎么做到胡子固定在嘴巴皮肤上?口型管制利用时,胡子怎么跟着嘴巴皮肤同步静止变形?
A:在数字人模型中,胡子的静止变形能够通过在嘴巴皮肤模型上增加骨骼来实现。首先,您须要在嘴巴皮肤模型上创立一些骨骼,并将它们附着在相应的地位。而后,您能够应用骨骼动画性能,在口型管制时通过管制骨骼的静止来实现胡子的追随变形。
为了保障胡子可能固定在嘴巴皮肤上,您能够在创立骨骼时,在骨骼根部和嘴巴皮肤模型之间增加控制点(Control Point)。控制点能够用来连贯骨骼和嘴巴皮肤,并使得骨骼的静止对嘴巴皮肤产生影响。通过增加控制点,您就能够在保障胡子固定的同时,让胡子可能随着嘴巴皮肤的变形而变形。
感激 Hyhom@UWA 问答社区提供了答复
封面图来源于网络
明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在 UWA 问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官网技术博客:blog.uwa4d.com
官网问答社区:answer.uwa4d.com
UWA 学堂:edu.uwa4d.com
官网技术 QQ 群:465082844