动态合批与静态合批的网格内存占用

动态合批与静态合批的网格内存占用

1)动态合批与静态合批的网格内存占用
2)如何让游戏能自动调起手机内置的“游戏空间”或“游戏助手”
3)如何控制mesh.triangles值
4)怎么让旧的粒子原地不动


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

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

Memory

Q:关于动态合批与静态合批,有以下2个疑问:

1. 静态合批后生成一个大网格,那么原始网格还在内存中吗?是不是编译阶段就已经完成合批,只有一个大网格会常驻内存,原始小网格已经没有了。

2. 动态合批每帧生成可能不同的大网格,生成的网格发送给显存后,是不是就自动释放掉了,内存中只有原始的网格数据呢?

A:前者内存中仅有合了以后的Combined Mesh内存;后者则内存中只有原始的网格内存。

感谢Faust@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6669b7b8682c7e5cd61bf80d


Platform

Q:如何让游戏能自动调起手机内置的“游戏空间”或“游戏助手”,比如华为的系统(针对没上对应手机应用商店的游戏,比如测试期间或官网下载的包,上了对应手机的应用市场的包是能自动调用的)。这样系统可以倾斜更多的性能跑游戏,玩家体验也会好些。

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/666e740b3d306f3e9d594c74


Rendering

Q:请教个问题,mesh.triangles超过了65535,怎么处理呢?

A:Mesh可以设置Format,IndexFormat设置成32位,不过还是建议拆。

感谢猫头鹰@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/666fa8ab3d306f3e9d594c75


Rendering

Q:我这个粒子系统是Local的,当我移动或者旋转父物体时候,旧的粒子会时刻跟着父物体移动,怎么能让旧的粒子原地不动呢?

我有个工件需要焊接一下,我现在用的粒子特效表现的焊接效果如下:

但是焊接完这一块后我这个工件要旋转180度,现在这个焊接的粒子特效不能跟着一块旋转。

我用World模式就可以完成这一段,但是不能旋转,当我改用Local,新的粒子和旧的粒子都会跟着发射口走,但不能留下焊接的痕迹。

如何在工件旋转后,被焊接的痕迹也跟着一起移动呢?

A1:挂一个脚本在OnEnable里,记录下自己的Position,再在LateUpate里设置自己的Position为初始化那个位置,这样就保留世界坐标了。

感谢偶尔不帅@UWA问答社区提供了回答

A2:如图,把工件的transform放这里。

感谢jump晃悠@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/666fa9913d306f3e9d594c76

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859