了解Unity编辑器之组件篇Layout(八)

Layout:用于管理和控制UI元素的排列和自动调整
一、Aspect Ratio Fitter:用于根据宽高比自动调整UI元素的大小

 

Aspect Mode:用于定义纵横比适配的行为方式。Aspect Mode属性有以下几种选项:
(1)None(无):Aspect Ratio Fitter将不会调整UI元素的大小,纵横比也不会被保持。
(2)Width Controls Height(宽度控制高度):Aspect Ratio Fitter将通过改变UI元素的高度来保持宽高比。宽度的变化将控制高度的变化,以保持指定的纵横比。
(3)Height Controls Width(高度控制宽度):Aspect Ratio Fitter将通过改变UI元素的宽度来保持宽高比。高度的变化将控制宽度的变化,以保持指定的纵横比。
(4)Fit In Parent(适应父级):Aspect Ratio Fitter将自动调整UI元素的大小,以便将其完全适应其父级容器。这将保持原始宽高比并确保UI元素不会超出其父级容器的可见区域。
(5)Envelope Parent(包围父级):Aspect Ratio Fitter将自动调整UI元素的大小,以将其完全包围住父级容器。这将保持原始宽高比并确保UI元素填充满其父级容器的可见区域。

二、Canvas:用于渲染UI元素的容器

 

Render Mode(渲染模式):定义了Canvas的渲染方式。分为三种模式:
(1)Screen Space - Overlay(屏幕空间 - 覆盖):Canvas直接渲染在屏幕上,不随相机移动而变化。

Pixel Perfect(像素完美):启用后,画布将对齐到像素网格,保证元素在不失真的情况下显示。这对于需要精确的像素呈现的2D游戏或UI非常有用。
Sort Order(排序顺序):设置画布的绘制顺序。通过更改排序顺序值,您可以控制画布在场景中其他对象之上或之下的层级关系。
Target Display(目标显示器):指定画布应在哪个显示器上进行渲染。如果您的游戏支持多个显示器,可以使用此属性选择在哪个显示器上呈现画布。(可以在Game视图中设置不同的显示器显示)

(2)Screen Space - Camera(屏幕空间 - 相机):Canvas随相机移动而变化,使用Render Camera进行投射。

(像素完美):启用后,画布将对齐到像素网格,以保证元素在不失真的情况下显示。与Screen Space - Overlay渲染模式相同,这对于需要精确的像素呈现的2D游戏或UI非常有用。
(渲染相机):指定用于渲染画布的相机。您可以从项目中选择一个相机作为画布的渲染相机。画布将在该相机的视图中进行渲染。
(层级顺序):设置画布在相机视图中的层级顺序。这影响画布元素的绘制顺序。具有较低Order in Layer值的元素将在具有较高Order in Layer值的元素之前进行渲染。

(3)World Space(世界空间):Canvas作为3D物体存在,它随相机和物体一起移动,也可以放置在3D物体的表面。

Event Camera(事件相机):指定用于处理UI事件(如点击、悬停等)的相机。当用户与画布上的UI元素交互时,所指定的事件相机将用于响应这些事件。
Sorting Layer(排序层):定义了Canvas的渲染顺序。Canvas可以分配到不同的排序层,以控制其和其他UI元素之间的渲染顺序。
Order in Layer(层内顺序):定义了Canvas在其所属排序层内的渲染顺序。具有较大数值的Canvas将在较小数值的Canvas之前渲染。

Additional Shader Channels(附加着色器通道):定义了与Canvas相关的任何额外的着色器通道。这些通道可以用于在Canvas渲染过程中传递其他信息。

三、Canvas Group:用于控制Canvas上的UI元素的可见性和交互性

 

Alpha(透明度):指定了Canvas Group中包含UI元素的透明度。该数值范围从0(完全透明)到1(完全不透明)。

Interactable(可交互性):定义了UI元素是否可通过用户输入进行交互。如果设置为false,则元素将不接收任何交互事件,如鼠标点击或触摸。

Blocks Raycasts(阻止射线检测):确定了UI元素是否会阻止射线检测。如果设置为true,则该元素将阻止射线与其下方的其他对象进行交互,而只能与该元素本身进行交互。

Ignore Parent Groups(忽略父级组):确定了UI元素是否会忽略其父级Canvas Group中的透明度和交互性设置。如果设置为true,则UI元素将忽略其父级Canvas Group的透明度和交互性设置,并使用自己独立的设置。

四、Canvas Scaler:用于控制Canvas上UI元素的缩放和适配。根据屏幕的实际分辨率和参考分辨率来动态计算UI元素的大小和缩放比例。它将游戏世界中的游戏单位转换为屏幕上的像素单位,从而确保UI元素在不同分辨率下的一致表现。

 

Dynamic Pixels Per Unit(动态像素单位):定义了用户界面在像素单位上的缩放比例。该属性指定了每个游戏世界单位对应的屏幕像素大小,初始值为1。通过调整Dynamic Pixels Per Unit,可以控制UI元素的显示大小。

Reference Pixels Per Unit(参考像素单位):定义了特定分辨率下的参考像素单位。该属性指定了每个游戏世界单位对应的参考像素大小。它用于将UI元素的尺寸从参考分辨率转换到实际屏幕分辨率。

五、Content Size Fitter:用于根据其子对象的内容调整UI元素的大小

Horizontal Fit(水平适配):定义了UI元素在水平方向上如何适应其内容。它有以下几个选项:
(1)Unconstrained(不受限制):UI元素的宽度将根据其内容自由调整,可以超出父级容器的范围。
(2)Preferred Size(首选大小):UI元素的宽度将根据其内容的首选大小进行调整,这意味着它将根据内容的最小大小自动扩展或收缩。
(3)Min Size(最小大小):UI元素的宽度将根据其内容和最小大小进行调整,这将限制UI元素的最小宽度。

Vertical Fit(垂直适配):定义了UI元素在垂直方向上如何适应其内容。它有以下几个选项:
(1)Unconstrained(不受限制):UI元素的高度将根据其内容自由调整,可以超出父级容器的范围。
(2)Preferred Size(首选大小):UI元素的高度将根据其内容的首选大小进行调整,这意味着它将根据内容的最小大小自动扩展或收缩。
(3)Min Size(最小大小):UI元素的高度将根据其内容和最小大小进行调整,这将限制UI元素的最小高度。

六、Grid Layout Group:用于在布局中排列和控制子对象的位置

 

Padding(内边距):定义了GridLayout Group布局中子对象的边缘内边距。它确定了子对象与GridLayout Group边缘之间的空间。

Cell Size(单元格大小):定义了每个单元格的大小。在GridLayout Group布局中,子对象将按照这个大小进行排列。

Spacing(间距):定义了子对象之间的间距。它控制子对象在GridLayout Group布局中的间隔大小。

Start Corner(起始角落):定义了GridLayout Group布局的起始角落。可以选择左上角、左下角、右上角或右下角作为起始位置。

Start Axis(起始轴):定义了GridLayout Group布局的起始轴方向。可以选择水平轴或垂直轴。

Child Alignment(子对象对齐):定义了子对象在每个单元格内的对齐方式。可以选择左上对齐、居中对齐或右下对齐。

Constraint(约束):定义了GridLayout Group布局中的约束方式。它可以是Flexible(自适应),表示子对象可以根据布局的需求调整大小;也可以是Fixed Column Count(固定列数)或Fixed Row Count(固定行数),表示布局将有一个固定的列数或行数,无法自动调整。

七、Horizontal Layout Group:用于在水平方向上排列子对象

 

Padding(内边距):定义了水平布局中子对象的边缘内边距。它确定了子对象与布局边缘之间的空间。

Spacing(间距):定义了子对象之间的水平间距。它控制子对象在水平布局中的间隔大小。

Child Alignment(子对象对齐):定义了子对象在水平布局中的对齐方式。

Reverse Arrangement(反向排列):确定是否按相反的顺序排列子对象。如果启用此选项,子对象将从右到左排列而不是从左到右。

Control Child Size(控制子对象大小):定义了子对象在水平布局中的大小控制方式。

Use Child Scale(使用子对象缩放):确定是否应用子对象的缩放值。如果启用此选项,子对象的缩放值将影响水平布局。

Child Force Expand(子对象强制扩展):定义了子对象在水平布局中是否应该强制扩展以填满整个空间。如果启用此选项,子对象将尽可能扩展来填充剩余的空间。

八、Layout Element:用于在UI布局中控制元素的大小约束和优先级

 

Ignore Layout(忽略布局):定义了该元素是否应该忽略布局系统的计算。如果启用此选项,将忽略所有Layout Element组件的设置,元素将自由布局。

Min Width(最小宽度):定义了元素的最小宽度。布局系统将根据此值来计算元素的大小。

Min Height(最小高度):定义了元素的最小高度。布局系统将根据此值来计算元素的大小。

Preferred Width(首选宽度):定义了元素的首选宽度。布局系统将尽可能满足此值来确定元素的大小。

Preferred Height(首选高度):定义了元素的首选高度。布局系统将尽可能满足此值来确定元素的大小。

Flexible Width(可伸缩宽度):定义了元素可以扩展的宽度范围。布局系统可以根据此值来调整元素的大小。

Flexible Height(可伸缩高度):定义了元素可以扩展的高度范围。布局系统可以根据此值来调整元素的大小。

Layout Priority(布局优先级):定义了元素在布局系统中的优先级顺序。较高的优先级将优先考虑进行布局。

九、Rect Transform:用于控制UI元素的位置、大小、旋转和缩放

 

Pos X(X位置):定义了UI元素在X轴方向上的位置。

Pos Y(Y位置):定义了UI元素在Y轴方向上的位置。

Pos Z(Z位置):定义了UI元素在Z轴方向上的位置。在2D UI中,通常将其设置为0。

Width(宽度):定义了UI元素的宽度。

Height(高度):定义了UI元素的高度。

Anchors(锚点):定义了UI元素的锚定点位置,它们决定了UI元素在父级容器中的定位方式。

Min(最小锚点):定义了UI元素相对于锚定点的最小位置。它用于确定UI元素的拉伸和收缩行为。

Max(最大锚点):定义了UI元素相对于锚定点的最大位置。它用于确定UI元素的拉伸和收缩行为。

Pivot(中心点):定义了UI元素的中心点位置。用于确定UI元素的旋转和缩放行为。

Rotation(旋转):定义了UI元素的旋转角度。

Scale(缩放):定义了UI元素的缩放比例。

十、Vertical Layout Group:用于在垂直方向上排列子对象

 

属性信息可以参考Horizontal Layout Group组件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ARM+FPGA (STM32+ Cyclone 4)的滚动轴承状态监测系统

状态监测系统能够在故障早期及时发现机械设备的异常状态,避免故障的 进一步恶化造成不必要的损失,滚动轴承是机械设备的易损部件,本文对以滚动 轴承为研究对象的状态监测系统展开研究。现有的监测技术多采用定时上传监 测数据,…

Spring MVC学习笔记,包含mvc架构使用,过滤器、拦截器、执行流程等等

😀😀😀创作不易,各位看官点赞收藏. 文章目录 Spring MVC 习笔记1、Spring MVC demo2、Spring MVC 中常见注解3、数据处理3.1、请求参数处理3.2、响应数据处理 4、RESTFul 风格5、静态资源处理6、HttpMessageConverter 转换器7、过…

Open3D(C++) 根据索引提取点云

目录 一、功能概述1、主要函数2、源码二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重,把自己当个人 一、功能概述 1、主要函数 std::shared_ptr<PointCloud> SelectByIn

spring boot 2 配置上传文件大小限制

一、起因&#xff1a;系统页面上传一个文件超过日志提示的文件最大100M的限制&#xff0c;需要更改配置文件 二、经过&#xff1a; 1、在本地代码中找到配置文件&#xff0c;修改相应数值后交给运维更新生产环境配置&#xff0c;但是运维说生产环境没有这行配置&#xff0c;遂…

MODBUS-TCP转Ethernet IP 网关连接空压机 配置案例

本案例是工业现场应用捷米特JM-EIP-TCP的Ethernet/IP转Modbus-TCP网关连接欧姆龙PLC与空压机的配置案例。使用设备&#xff1a;欧姆龙PLC&#xff0c;捷米特JM-EIP-TCP网关&#xff0c; ETHERNET/IP 的电气连接 ETHERNET/IP 采用标准的 T568B 接法&#xff0c;支持直连和交叉接…

【etcd】docker 启动单点 etcd

etcd: v3.5.9 etcd-browser: rustyx/etcdv3-browser:latest 本文档主要描述用 docker 部署单点的 etcd&#xff0c; 用 etcd-browser 来查看注册到 etcd 的 key 默认配置启动 docker run -d --name ai-etcd --networkhost --restart always \-v $PWD/etcd.conf.yml:/opt/bitn…

生命在于学习——指纹混淆技术学习

一、前言 本篇文章仅为学习笔记记录&#xff0c;不得用于违规用途。 本篇文章为安全社公众号的Poker安全所发&#xff0c;本文仅为学习复现。 二、介绍 指纹混淆技术&#xff0c;顾名思义&#xff0c;就是迷惑指纹扫描识别技术。 三、思路 作者的思路&#xff1a; 1、伪…

常见网关对比

常见网关对比 目前常见的开源网关大致上按照语言分类有如下几类&#xff1a; Nginxlua &#xff1a;OpenResty、Kong、Orange、Abtesting gateway 等 Java &#xff1a;Zuul/Zuul2、Spring Cloud Gateway、Kaazing KWG、gravitee、Dromara soul 等 Go &#xff1a;Janus、fa…

如何⾃定义⼀个SpringBoot Srarter

⾃定义⼀个SpringBoot Srarter 1、创建⼀个项⽬&#xff0c;命名为 demo-springboot-starter&#xff0c;引⼊SpringBoot相关依赖 2、编写配置⽂件 定义属性配置的前缀 3、⾃动装配 创建⾃动配置类HelloPropertiesConfigure 4、配置⾃动类 在 /resources/META-INF/spri…

Qt : day3

1.完成简易闹钟 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTextToSpeech> //播报类 #include <QTimer> //定时器类 #include <QTime> //时间类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEcla…

windows C++多线程同步<3>-互斥量

windows C多线程同步&#xff1c;3&#xff1e;-互斥量 概念&#xff0c;如下图&#xff1a; 另外就是互斥对象谁拥有&#xff0c;谁释放 那么一个线程允许多次获取互斥对象吗&#xff1f; 答案是允许&#xff0c;但是申请多次就要释放多次&#xff0c;否则其他线程获取不到互…

【Git】Git GitHub

1. Git1.1 Git基本操作1.2 Git版本回退1.3 Git分支操作 2. Git 配合GitHub2.1 生成密钥2.2 GitHub添加公钥2.3 Git连接GitHub2.4 本地仓库关联远程仓库2.5 本地代码push远程仓库2.6 本地clone远程仓库2.7 本地fetch和pull 1. Git 1.1 Git基本操作 touch test.py 工作区创建文…

android首页申请android.permission.READ_PHONE_STATE权限合规处理办法?

1、像闲鱼一样&#xff0c;申请的时候在顶部弹个解释说明对话框&#xff1f;

求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法)

首先可以将方程两边同时加上x&#xff0c;&#xff0c;这时候两边同时再除以1x&#xff0c;就得到了&#xff0c;变形为。&#xff08;变性后的迭代式不唯一&#xff0c;这里随便选取一个&#xff09; 当x是准确值的时候&#xff0c;两边应该是相等的&#xff0c;如果x是近似值…

STM32 中断优先级管理(一)

STM32 NVIC 中断优先级管理 CM3内核支持256个中断&#xff0c;其中包含了16个内核中断和240个外部中断&#xff0c;并且有256级的可编程中断设置。 但STM32并没有使用CM3内核的全部东西&#xff0c;只用了一部分。 STM32有84个中断&#xff0c;包括16个内核中断和68个可屏蔽…

电机故障诊断(python程序,模型为CNN结合LSTM)

代码运行环境要求&#xff1a;TensorFlow版本>2.4.0&#xff0c;python版本>3.6.0 运行效果视频&#xff1a;电机故障诊断&#xff08;python代码&#xff09;_哔哩哔哩_bilibili 1.电机常见的故障类型有以下几种&#xff1a; 轴承故障&#xff1a;轴承是电机运转时最容…

微信小程序 居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局

微信小程序居中、居右、横纵布局 1、水平垂直居中&#xff08;相对父类控件&#xff09;方式一&#xff1a;水平垂直居中 父类控件&#xff1a; display: flex;align-items: center;//子控件垂直居中justify-content: center;//子控件水平居中width: 100%;height: 400px //注意…

CAN转EtherNet/IP网关can协议破解服务

JM-EIP-CAN 是自主研发的一款 ETHERNET/IP 从站功能的通讯网关。该产品主要功能是将各种 CAN 总线和 ETHERNET/IP 网络连接起来。 本网关连接到 ETHERNET/IP 总线中做为从站使用&#xff0c;连接到 CAN 总线中根据节点号进行读写。 技术参数 ETHERNET/IP 技术参数 网关做为 …

二十五章:用于弱监督语义分割的激活调节和重新校准方案

0.摘要 图像级弱监督语义分割&#xff08;WSSS&#xff09;是一项基础而具有挑战性的计算机视觉任务&#xff0c;有助于场景理解和自动驾驶。大多数现有方法利用基于分类的类激活图&#xff08;CAMs&#xff09;作为初始伪标签&#xff0c;但这些方法往往关注区分性的图像区域&…

编译运行miniob最小数据库系统

minibo是一个用于教学的小型数据库系统&#xff0c;麻雀虽小五脏俱全&#xff0c;该项目包含了数据库的核心内容&#xff0c;并且代码量小&#xff0c;适合新手学习&#xff0c;最近由于需要学习c/cpp&#xff0c;因此打算从这个项目入手&#xff0c;本文就介绍编译运行miniob的…