今天给大家分享Unity UI开发相关的一些编码和规范,有了这些指导规范,帮助你的项目获得更好的性能,少走弯路。Unity GUI(也被称为UGUI)经常是项目性能问题的来源。
考虑使用多分辨率和宽高比
大部分情况下,我们一套UI,能基本全部适配好,Unity UI让建立一个可以适应不同分辨率和宽高比屏幕调整位置和缩放UI很简单。然而,一种设计不总适合所有平台,所以创建多种版本的UI(或者说部分UI)来让每个设备上都有最佳的体验。务必要在各种支持的设备上测试你的UI以确保用户体验是最佳且一致的。
配置一个Unity UI Canvas
避免使用少量的Canvas
别将你的UI元素放在一个或者几个大Canvas中。每个Canvas都对其所有元素维护一个网格。当一个元素改变的时候,这个mesh会被重新创建。将UI元素放入不同的Canvas中,最好是根据其更新频率来分组。将动态元素和静态元素分开将避免重建静态网格数据的消耗。
注意Layout Group
Layout Group是另一个常见的性能问题源,尤其是嵌套使用它们的时候。当在Layout Group中的UI Graphics组件改变了的时候,例如说当ScrollRect移动的时候,UGUI会递归向上查找场景的层级直到找到一个没有组件父母节点。该layout和里面的所有东西随后都会被重建。
List和Grid视图可能会很昂贵
List和Gr