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:能够从以下三个方向查一下:

  1. 泛型Template用的是否较多
  2. 自动化生产的代码是否较多
  3. Lua生产的Wrapper代码是否较多

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

A2:还有以下两点:

  1. 删除无用插件、代码
  2. 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