unity 打包安卓UI自适应

本文探讨了Unity中UI自适应的挑战,如UI拉伸和控件重叠问题。作者分享了一种使用空间坐标实现自适应的方法,通过设置Canvas为Word Space,摄像机为正交,避免了UI的拉伸。虽然该方法可能导致留边,但在没有完美解决方案的情况下,可以作为临时措施。核心是获取屏幕尺寸,调整相机正交大小,并优化UI对齐。
摘要由CSDN通过智能技术生成

前言

  • 一直以来在我感觉UI自适应就是一个老大难的问题,从入这行的时候老师给我们讲UI自适应就觉得懵懵懂懂,也许是潜意识在作祟,一直感觉UI自适应挺难的,工作之后打包apk的时候也找过UI自适应的方法,感觉靠谱的方法就是根据不同的手机比例制作不错比例的UI,但是一般公司没人去整这个。

  • 还有就是度娘上边零零总总的文章,都是在说设置锚点和中心点,之前我也用这种方法,在手机屏幕比例和设计时候的UI比例相近的时候没什么问题,但是如果手机屏幕的比例和设计时候的比例相差比较大的时候,就会出现问题了,首当其冲的就是UI拉伸问题,要是纯色的UI还行,拉伸看不出来,但是如果有图案的话就会一眼看出来了。第二个问题就是控件的问题,有可能会叠加在一起,有可能会消失在屏幕上。比如把顶部栏的锚点设置在屏幕中点,如果实体手机的屏幕高小于编辑器里设定的屏幕高的话,顶部栏就会偏移到手机外边,在屏幕上消失。如果我们把顶部栏的锚点设置在顶部,在顶部栏下边设置一个标题,标题的锚点设置在中心的话,那么顶部栏和标题又会重叠。所以对于设置锚点自适应的方法我一直觉得用着不顺手,也许是我没整明白。

  • 今天要说的这个方法是使用空间坐标来自适应UI,这种方法不会出现UI拉伸和重叠的现象,但是如果比例不同,会有留边,也不是完美的办法。暂时先用这个方法吧,以后要是有好的方法,在替换。

  • Canvas设置成Word Space,摄像机设置成正交。

  • 在这里插入图片描述
    在这里插入图片描述

  • 整个类只有一个函数,这个函数主要分三部分,获取当前屏幕的项目,设置相机的正交大小,UI的对齐方式。

详情如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AdaptiveScreen : MonoBehaviour {
   

	private Camera mCamera = null;

	[SerializeField
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值