Unity 组件学习记录:Aspect Ratio Fitter

  1. 概述
    • Aspect Ratio Fitter是 Unity 中的一个组件,用于控制 UI 元素(如ImageRawImage等)的宽高比。它在处理不同屏幕分辨率和尺寸时非常有用,可以确保 UI 元素按照预期的比例进行显示。
    • 当添加到一个 UI 对象上时,Aspect Ratio Fitter会根据设置的参数来调整 UI 元素的大小,以匹配指定的宽高比。
  2. 属性介绍
    • Aspect Mode(宽高比模式)
      • None(无):这是默认模式。在这种模式下,Aspect Ratio Fitter组件不会对 UI 元素的宽高比进行任何调整。UI 元素会按照常规的布局规则来确定大小,例如根据锚点和拉伸设置。
      • Width Controls Height(宽度控制高度):当选择此模式时,组件会根据指定的宽高比,通过调整 UI 元素的高度来匹配宽度。例如,如果设置宽高比为2:1,当宽度发生变化时,高度会自动调整,使得宽高比始终保持为2:1
      • Height Controls Width(高度控制宽度):与 “Width Controls Height” 模式相反。在这种模式下,会根据宽高比通过调整宽度来匹配高度。
      • Fit In Parent(适配父元素):UI 元素会被缩放,以完全适配父元素,同时保持指定的宽高比。这意味着 UI 元素可能不会填满整个父元素,但会保持正确的比例。如果宽高比与父元素的宽高比不匹配,UI 元素会在父元素内部居中显示,并且在某个方向上会有空白区域。
      • Envelope Parent(包裹父元素):UI 元素会缩放,以覆盖整个父元素,同时保持指定的宽高比。与 “Fit In Parent” 模式不同的是,在这种模式下,UI 元素可能会超出父元素的范围,导致部分内容被裁剪,但能确保完全覆盖父元素并保持宽高比。
    • Aspect Ratio(宽高比):这个属性用于设置期望的宽高比。可以输入一个浮点数,表示宽度与高度的比值。例如,输入1.7777大致表示16:9的宽高比()。
  3. 使用场景示例
    • 保持 UI 元素的固定比例:假设你有一个游戏中的背景图片,你希望它在不同的屏幕分辨率下都能保持16:9的宽高比。你可以将Aspect Ratio Fitter组件添加到这个背景图片的GameObject上,设置Aspect ModeFit In ParentAspect Ratio1.7777(约为16:9)。这样,无论屏幕是宽屏还是窄屏,背景图片都会在保持16:9比例的情况下,尽可能大地显示在屏幕上,并且会在父元素(通常是屏幕的 UI 根元素)内部居中。
    • 自适应屏幕变化:在一个可以在手机和平板电脑上运行的游戏中,对于某些 UI 元素(如角色头像),你可能希望它的高度固定,而宽度根据屏幕比例自适应。你可以添加Aspect Ratio Fitter组件,设置Aspect ModeWidth Controls Height,并设置合适的Aspect Ratio。当游戏在不同设备上运行,屏幕宽度发生变化时,头像的高度保持不变,宽度会根据设置的宽高比自动调整。
  4. 与其他 UI 组件的配合
    • Aspect Ratio Fitter组件与Rect Transform组件密切配合。Rect Transform用于定义 UI 元素的位置、大小和锚点等基本布局属性,而Aspect Ratio Fitter则在这些基础上进一步调整 UI 元素的宽高比。例如,当Aspect Ratio Fitter调整了 UI 元素的大小后,Rect Transform的尺寸属性也会相应地改变,并且 UI 元素在布局系统中的实际位置和大小是这两个组件共同作用的结果。
    • Content Size Fitter组件也可以一起使用。Content Size Fitter主要用于根据内容自动调整 UI 元素的大小,而Aspect Ratio Fitter专注于宽高比的控制。在某些复杂的 UI 布局中,这两个组件可以协同工作,以实现更灵活的布局效果。例如,在一个带有文本和图像的 UI 元素中,Content Size Fitter可以根据文本内容调整元素的高度,而Aspect Ratio Fitter可以根据图像的宽高比来调整元素的宽度,从而使整个 UI 元素的布局更加合理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939504.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数智读书笔记系列010 生命3.0:人工智能时代 人类的进化与重生

书名:生命3.0 生命3.0:人工智能时代,人类的进化与重生 著者:[美]迈克斯•泰格马克 迈克斯・泰格马克 教育背景与职业 教育背景:迈克斯・泰格马克毕业于麻省理工学院,获物理学博士学位。职业经…

校园点餐订餐外卖跑腿Java源码

简介: 一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合&am…

JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)

目录 JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码) 一、为什么要使用Array.sort() 二、Array.sort() 的使用与技巧 1、基础语法 2、返回值 3、…

20241219解决荣品PRO-RK3566开发板适配gc2093摄像头之后通过HDMI输出的时候无法录像的问题

20241219解决荣品PRO-RK3566开发板适配gc2093摄像头之后通过HDMI输出的时候无法录像的问题 2024/12/19 19:37 使用荣品PRO-RK3566开发板配套的百度网盘中的SDK:rk-android13-20240713.tgz默认编译出来的IMG固件。 刷机之后,gc2093可以拍照,最…

ubuntu16.04ros-用海龟机器人仿真循线系统

下载安装sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi sudo apt-get install ros-kinetic-rocon-*echo "source /opt/ros/kinetic/setup.bash…

YOLOv8目标检测(六)_封装API接口

YOLOv8目标检测(一)_检测流程梳理:YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集:YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型:YOLOv8目标检测(三)_训…

中后台管理信息系统:Axure12套高效原型设计框架模板全解析

中后台管理信息系统作为企业内部管理的核心支撑,其设计与实现对于提升企业的运营效率与决策能力具有至关重要的作用。为了满足多样化的中后台管理系统开发需求,一套全面、灵活的原型设计方案显得尤为重要。本文将深入探讨中后台管理信息系统通用原型方案…

uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决

要在创建的key上添加配额 点击配额之后进入分配页面,分配完之后刷新uniapp就可以调用成功了。

【一篇搞定配置】如何在Ubuntu上配置单机/伪分布式Hadoop

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1.…

利用Python爬虫实现数据收集与挖掘

Python爬虫是一种自动化程序,可以模拟浏览器行为,自动地从互联网上抓取、分析和收集数据。Python爬虫通常使用requests、selenium等库来发送HTTP请求,获取网页内容,并使用BeautifulSoup、lxml等库来解析网页,提取所需的…

语音识别失败 chrome下获取浏览器录音功能,因为安全性问题,需要在localhost或127.0.0.1或https下才能获取权限

环境: Win10专业版 谷歌浏览器 版本 131.0.6778.140(正式版本) (64 位) 问题描述: 局域网web语音识别出现识别失败 chrome控制台出现下获取浏览器录音功能,因为安全性问题,需要在…

springboot444新冠物资管理系统的设计与实现(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装新冠物资管理系统软件来发挥其高效地信息处理的作用&#x…

arcgisPro将面要素转成CAD多段线

1、说明:正常使用【导出为CAD】工具,则导出的是CAD三维多线段,无法进行编辑操作、读取面积等。这是因为要素面中包含Z值,导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值,再导出为CAD,则得到…

当我用影刀AI Power做了一个旅游攻略小助手

在线体验地址:旅游攻略小助手https://power.yingdao.com/assistant/ca1dfe1c-9451-450e-a5f1-d270e938a3ad/share 运行效果图展示: 话不多说一起看下效果图: 智能体的截图: 工作流截图: 搭建逻辑: 其实这…

计算机组成原理的学习笔记(2)--数据的表示和运算·其一

学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。 正文 1. 浮点数表示 浮点数结构: 符号位(1 位):表示数值的正负。 阶码(8 位):表示指数部…

网络安全渗透有什么常见的漏洞吗?

弱口令与密码安全问题 THINKMO 01 暴力破解登录(Weak Password Attack) 在某次渗透测试中,测试人员发现一个网站的后台管理系统使用了非常简单的密码 admin123,而且用户名也是常见的 admin。那么攻击者就可以通过暴力破解工具&…

【AI图像生成网站Golang】项目测试与优化

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与优化 六、项目测试与优化 在开发过程中,性能优化是保证项目可扩展性和用户体验的关键步骤。本文将详细介绍我如何使用一…

数据库与缓存数据一致性方案【终极版】

核心流程 1. 删除数据库同步删除缓存: 缩小可能发生脏数据的时间窗 2. Binlog MQ删除缓存: 兜底所有入口,避免遗漏删除缓存场景,同时通过MQ的消息重试保证缓存一定删除成功 3. 监听Binlog延迟N秒进行数据一致性校验&#xf…

RK3576 介绍

RK3576 介绍 1 介绍1.1 概述1.2 RK3576、RK3588、RK3568 和 RK3399 的参数对比 2 DataSheet2.1 RK35762.2 RK35882.3 RK35682.4 RK3399 参考 1 介绍 1.1 概述 ARM 64位高性能八核通用处理器,丰富的PCIE/USB3.0/SATA/GMAC等各类高速及CAN FD/DSMC/UART/SPI/I2C/I3C…

01、NodeJS学习笔记,第一节:Node.js初识与内置模块

一、初识Node.js与内置模块 ##网址 https://nodejs.org##npm包 https://www.npmjs.com/ (搜索)https://registry.npmjs.org/ (下载)1、初识Node.js ##思考:为什么JavaScript可以在浏览器中被执行因为浏览器…