Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)

本文介绍了Unity中UI界面如何跟随鼠标移动,并自适应不同屏幕分辨率。详细讨论了屏幕坐标、Canvas的三种自适应模式、锚点的九种设置、中心点的作用,以及实现UI跟随鼠标的制作原理和脚本实现。
摘要由CSDN通过智能技术生成

一、效果展示

UI跟随鼠标移动, 当我们修改屏幕分辨率、锚点、pivot等参数时会动态自适应并始终让ui的pivot中心点位置跟随鼠标位置。同时脚本中包含3d物体跟随ui位置和3d物体直接跟随鼠标位置移动

二、屏幕坐标、Canvas自适应、锚点、中心点关系

在说功能原理之前我们需要先了解屏幕坐标、Canvas自适应、锚点、中心的特性和之间的关系。

1.屏幕坐标 

屏幕坐标也就是电脑分辨率,一般我们所说的1920*1080代表的是这个显示器可以容纳长1920*宽1080像素。例如下方图片中我设置屏幕分辨率是1920*1080,左下角坐标位置为(0,0),右上角位置是(1920*1080)。而鼠标位置是基于屏幕坐标零点在左下角计算的。

设置1920*1080分辨率

根据下方动图可以看出鼠标在左下角为0,右上角为1920*1080.ps:因为不好控制鼠标位置所以有点小误差。

2. Canvas自适应

在Unity中,Canvas是用于处理UI(用户界面)元素的重要组件。它是一个容器,可以包含各种UI元素,比如文本、按钮、图像等。是所有ui组件的父物体。

Canvas自适应是用来兼容各种设备下不同分辨率的,我们在开发项目中时,如果针对每一个设备的分辨率进行ui布局这是非常麻烦且复杂的事情,通过自适应我们可以只对ui进行一次布局就可以适配在不同分辨率的设备下。

自适应修改Canvas Scale组件下的UI Scale Mode属性。一般有三种模式选项。

画布缩放器 (Canvas Scaler) - Unity 手册

(1)ConstantPixelSize

在这个模式下Canvas的显示大小是固定的,无论用户界面的比例怎么变化Canvas的显示大小都不会改变。

例如我们ui布局在1080*1920的竖屏下,在左上角设置一个400*400的图片

用户设备分辨率是480*800的竖屏下效果

   

 

这种模式下设置的ui不会进行自适应大小,如果你布局ui的分辨率大于用户设备的分辨率可能会出现ui超出屏幕遮挡等问题。

(2)Scale With Screen Size

这个模式下的Canvas会适配用户设备分辨率并对Canvas的Scale大小进行等比例调整。

 例如我们ui布局在1080*1920的竖屏下,在左上角设置一个400*400的图片

用户设备分辨率是480*800的竖屏下效果

此属性是通过等比例缩放来进行自适应的,通过设置ui布局的原始分辨率Reference Resolution,和Match宽高匹配来进行Scale放大缩放。

1080*1920分辨率到480*800分辨率的缩放原理

 因为我们Match值为0取的是width,所以缩放比例要按照width来,在下图ps中width是44.4%约等于0.44与unity中canvas的scale。

计算方式

using System.Collections;
using System.Collections.G
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值