UGUI之坑点小结

2024-02-03 14:32
文章标签 小结 坑点 ugui

本文主要是介绍UGUI之坑点小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下是我总结断断续续遇到的一些UGUI上的问题,有机会能改则改,改不了的只能想办法注意和避免了。

UGUI刷新问题

场景中没有遮挡的背景时,首次打开UI 手机上不停闪烁或各种花屏问题:
处理办法:

场景中最好加一个物体遮挡,如进游戏底部加一块纯黑板背景,可以避免UI闪烁

其实是canvas相机照不到东西的时候,UGUI的显示不会及时刷新,比如把canvas中最后一个active的对象都隐藏的话,显示上会不刷新,即使拿到的属性activeself其实是false。即看到显示残留

如果父对象下面挂了几个子对象a,b,c,d,如果删除了其中部分子对象 如a,想立即修改bcd的先后层次的话,用SetSiblingIndex()方式就可能出问题,即出现 数值刷新了,但显示未刷新的问题。
解决办法:

因此对于兄弟节点出生销毁后同帧立即调整当前节点层级的话,最好通过transform.SetAsFirstSibling();或transform.SetAsLastSibling();来实现层级调整

UGUI的图集问题
1. UGUI的图集打包算法有问题,基本表现是它一定把不同实际压缩格式的小图放在了不同的group。比如有两个小图,用了不同的压缩格式,他们最终会在两个group图,导致一个图集扩成了两张;
2. 带透明通道和不带透明通道的素材也会被分在两个group!!坑的地方来了,使得如果众多素材中有几个不带透明通道的,那么你把那些透明素材压缩到死,也不会将非透明通道图合并到当前图集来,(因为是带和不带透明通道的两种图本身就会以两种压缩格式来处理))
3. 呵呵mitmap有或没有也会被拆分到两个group里;

解决办法,几个都要保证:
  1. 同一个图集统一压缩格式;
  2. 在素材上,同一个图集中的所有素材都应该是带透明像素的,或者统一不带透明像素,遇到透明图集出现个别不包含透明像素的,去PS给将这个图其中一像素修改为有透明度就OK(如透明度99%);
  3. 想要使用UGUI默认的ETC压缩的话,单张图应该宽和高尺寸都能被4整除。否则的话,该单独素材会以RGB32压缩格式处理;

因此,如图中,所有标黄的地方,即便你填了相同的Packing Tag,但黄色设置有一项不一致,最终这批图不会出现在同一个图集中的

这里写图片描述

这篇关于UGUI之坑点小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674447

相关文章

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain