游戏中UI问题 (一)

本帖已被设为精华帖!,

整理了我csdn里这篇博客,发出来。
游戏Ui不光是体验,还会带来很多B类以上的问题。简约的Ui(子界面不多,返回跳转不复杂)和质量没有关系
这些B类会影响游戏是否上线,对他们可能发现bug地方做验证。


Ui元素

简单介绍下以下部分:
可视化ui -image Raw image text Mask
交互 – Button Slider toggle Scroller


1.image 一些能存为.jpg的尽量不要存位图,是拉伸不会变行为原则,位图是自带透明通道的,会带来一倍的消耗。
image 对应的还有几种类型 填充 切片 ,填充这边比较复杂,影响较大的是set Native size原图尺寸对应,这个在性能测试里会用到。


2.ui-text 字数限制是一个小问题,text的属性由interactable来决定能否输入。
B+问题会因为text设置问题在游戏Ui和场景内都不可见,unity中里面可能是1个缺少添加Rending组件的问题。
ui上的信息丢失是很可怕的问题,比如名字血条一些颜色等,关注他的前往方式navigation是否miss


3.toggle开关,也可以有多选的toggle Group,最容易出现问题的地方就是on value Changed
相关的测试在uinty里会用1个bool_active来处理,同时用debug.log(来打印出来状态TF)


乱入:
出现Ui异常闪退看不到消息问题,最好的方式就是使用od挂链,创造环境假设先让游戏不屏蔽od。挂载后,设置不忽略任何异常,dll文件生成时,同时保存一份pdb,这样就不会没有莫名奇妙游戏崩溃假死看不到消息。
ps:环境创造同理的还有,例如使用Drmemory,就发布1个32位的版本。

游戏Ui B+类问题

1)场景切换打开产生的ui问题,尤其是请求资源动画资源的场景,每次进入重载json和场景动画,新的Widget获取了一次重复的json导致崩溃。


2)游戏内UI缩放功能,进行自动寻路有偏差。这里需要考量一些测试功底,能不能立即判断出多少分辨率下这样缩放会有问题,绝大部分游戏内ui可缩放在寻路地图上都有问题。


3)boss或者升级动画有一定播放时间的,这个时候呼出一些和最顶层的ui,ui是否会有异常,有时候ui会产生卡主的问题,游戏是否可以正常进行。


4)接上,boss或者升级动画有一定播放时间的,呼出选项中选择美术等级,ui是否会有异常,游戏是否可以正常进行。


5)自定义的控键拖动到另一些自定义控键上,当过程中会调出tips,鼠标指针变换,很容易出Ui边界问题。这里在背包中锁定道具和拖拽道具都会出现类似问题。


6)Ui边界+窗体外部至内,客户端容易假死。多版本客户端切换更新情况下,加载时和登陆UI弹出假死,可以先查看本地异常文件。


7)7)发送键盘鼠标事件,通过消息的形式抛到消息队列中,如果直接进行调用会导致程序崩溃。

_index)object not exists Visible [script:tips_game,function:show_skill_next,result:2]

某个很知名moba游戏 过载入界面游戏一直崩溃,崩溃的问题在log里得到反馈,crash对应的符号表需要使用。
可见UI崩溃还能导致文件损坏,当时的一个临时方案,可以找其他用户传对应文件,覆盖损坏的文件。


测试人员拿到没有接触过的1个新引擎,最好是读下他的特性更新列表和之前社区里未解决性能问题在制作中进行规避他们。
引擎遗留问题,也会带来一些场景转换读条卡死(预加载,音效问题)、UI调用卡顿。


譬如:unity里从一开始的OnGui到后面的EzGui和NgGui到后面的uGui插件,都有不同的性能开销问题。

* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除