Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)
最佳答案 问答题库938位专家为你答疑解惑
一、效果展示
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.Generic;
using UnityEngine;
using UnityEngine.UI;public class Test : MonoBehaviour
{private const
99%的人还看了
相似问题
- 基于深度学习的单帧图像超分辨率重建综述
- IDEA 高分辨率卡顿优化
- 雷达测速原理、分辨率、精度、速度模糊、盲速以及速度扩展算法知识汇总
- Java通过javacv获取视频、音频、图片等元数据信息(分辨率、大小、帧等信息)
- 龙迅LT6911GXC,HDMI 2.1转4 PORT MIPI/LVDS支持分辨率高达8K30HZ
- 工业相机基本知识理解:靶面尺寸、像元尺寸、分辨率
- Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)
- 『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)
- AutoX.js - openCV多分辨率找图
- elementUI 特定分辨率(如1920*1080)下el-row未超出一行却换行
猜你感兴趣
版权申明
本文"Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)":http://eshow365.cn/6-33995-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: Linux Vim批量注释和自定义注释
- 下一篇: 【大数据】常见的数据抽取方法