【UGUI学习笔记】Rect Transform

news2024/9/28 17:31:30

文章目录

  • Rect Transform
    • 锚点和轴心
      • 轴心点
      • 锚点

Rect Transform

锚点和轴心

在这里插入图片描述
在上图中,中心位置的蓝色同心圆代表了轴心点,而四角花瓣的图形代表了实体的锚点

Attribute含义
轴心点 Pivot默认实体的几何中心处,轴心代表了对物体在空间上的坐标点,可以设置轴心的位置
锚点 Anchors默认在父类实体的几何中心,锚点代表了物体

轴心点

在这里插入图片描述

轴心点代表了实体的物理中心,当移动轴心点,我们会发现旋转缩放移动等操作的坐标轴都被移动到了轴心点。移动轴心点时,Pivot属性,Anchor Position属性,Local Positon属性都会随之变动。


锚点

在这里插入图片描述

锚点的调整属性有两种,如上图所示(当按住Shift会出现蓝点,代表锚点和轴心点共同调整)

上图中的不带蓝线的部分和带蓝线的部分代表了两种不同的锚定模式:

  • 选择不带蓝线的部分锚点的四角会同时进行移动
  • 而带蓝线的部分代表了四角不同的移动方向。

而锚点的轴心点位置则是四条线连接而成的几何体的中心。(注意锚点的四角移动是对称的)
在移动锚点的时候按住Shift可以同时变形子实体,以保持原来的锚点与子实体顶点相对偏移量不变。
Anchors Min代表了锚点左下角与父实体左下角的距离,Anchors Max 代表了锚点右上角和父实体右上角的距离。

在这里插入图片描述

当我们切换锚点的不同模式的时候会发现锚点的属性有变更,关键在于四个角每两个是否有相接。在每两个交相接会固定出一个轴,如上图蓝线所示,这个轴代表了计算子实体相对于父实体位置(Positon)时的坐标轴,例如左上右上相接,左下右下相接能够固定出一个Y轴用于计算子实体的轴心点相对于锚点的偏移量
在这里插入图片描述
(第一种模式,子实体轴心点关于以锚点为原点的轴方向上的坐标偏移量,Weigh和Heigh代表子实体的高和宽的属性)

在第二种模式下,四个锚点虽然不相接,但是四个锚点连接的四条线构成了一个四边形,此时锚点的轴心点为四边形的轴心点。观察Inspact内的属性发现,所有的属性变成了子实体的上下左右四条边相对于锚点所构成的四边形所对应的四条边的坐标偏移量(以锚点构成的边为坐标轴,越靠近锚点边这四个值越小)。

在这里插入图片描述
试着改变四个锚点的四角之后,我们再去对父实体进行拉伸等各种形变,我们观察Inspact内的属性发现,代表子实体轴心点与锚点轴心点位置的四个属性Left,Top,Right,Bottom都不曾改变。因此我们明白了,实际上在形变中子实体的四角顶点与对应的锚点的坐标偏移量是恒定的,因此子实体真实的轴心点与锚点轴心点的相对位置恒定。意味着父实体在某一轴方向上形变了百分之多少,子实体也就随之形变百分之多少,这就是子实体随着锚点自适应变化的实质。而Anchors属性下的Min Max子属性的则代表了子实体的形变比例。

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

当使用第二种模式的时候,在Debug模式下的SizeDelta(原本由子实体的属性Height,Weight属性决定,但是第二种模式下没有这两者属性)的计算方式就会变成(-Top)+(-Bottom),(-Left)+(-Right)。这是由于这四个属性只代表了子实体真实的轴心相对于锚点的轴心点的位置,因此进行这样的计算。


在这里插入图片描述
最后再注意上图的两个属性,一个是虚线方框代表的蓝图模式,在蓝图模式下,无论如何选择缩放,原来包围子实体的框框都不会随之变动

另一个是R代表的原始编辑模式,作用于当前的锚点和轴心,当移动锚点时,实体会自动变形以适配轴心点原本对实体的相对位置。


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

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

相关文章

安装git工具

下载安装地址: Git - Downloading Package (git-scm.com) 命令安装:创建文件夹下载路径 启动powershell 输入命令:winget install --id Git.Git -e --source winget 等待下载安装

集合面试题--ArrayList数组

介绍数组 数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 因为int占4个字节,所以也可以理解为占四块内存 数组如何…

600多个人工智能AI工具汇总,资源、教程和讲解免费提供(第二讲)

这里是600多个人工智能AI工具汇总第二讲,每天介绍5个,文章最后会告诉大家获取方式的。现在请大家同我一起进入AIGC的世界。 第一个:Leonardo.Ai,用来创造力、革新为你的创意项目生成质量的资产AI-driven速度和style-consistency。…

代码安全审计

什么是代码安全审计 代码安全审计是指有开发和安全经验的人员,通过阅读开发文档和源代码,以自动化分析工具或者人工分析为手段,对应用程序进行深入分析,高效全面的发现系统代码的编码缺陷以及开发人员不安全的编程习惯,并指导开发人员进行修复,保障应用系统的安全运行。 …

Spring Boot 中的任务调度器是什么,如何使用?

Spring Boot 中的任务调度器是什么,如何使用? 介绍 在开发企业级应用程序时,经常需要执行定时任务或周期性任务。这些任务可以包括清理临时文件,备份数据库,发送电子邮件等等。Spring Boot 提供了一个内置的任务调度…

基于STM32的homeassistant(采用FreeRTOS操作系统)【第一章:设备配网、连接服务器、断网重连、断服务器重接】

第一章开发环境: 主控STM32F103C8T6WIFI模块ESP01S开发语言C开发编译器 KEIL 组网方式WIFI服务器协议MQTT 本章要点: ESP01S的AT指令配网以及服务器连接STM32与ESP01S的usart协议通信断网重连以及断服务器重连STM32向服务器端口发送对应指令 抽象理解…

硬件电路设计--运算放大器(二)选型

文章目录 前言一、运算放大器的工艺决定Vos和Ib二、TI放大器的命名规律三、选型总结 前言 一、运算放大器的工艺决定Vos和Ib 运放的设计工艺对其各种指标有非常重要的影响 常常有三种基本工艺: Bipolar: 低输入阻抗,Ib1-100nA:Vos10-100uV,低至0.1uV/o…

惊艳!全网首份“架构师成长笔记”GitHub狂澜9000星

其实架构师是需要一个相对而言对架构师友善的环境。第一,架构师到底需要什么?一个架构师要成长,首先他需要信任,第二他需要授权,第三他需要时间,第四他需要资源,少一样都很难开展工作。如果一个…

NIO-Selector 网络编程

目录 一、阻塞 & 非阻塞 1、阻塞 2、非阻塞 二、selector 1、连接和读取 2、处理客户端断开 3、处理消息的边界 4、ByteBuffer大小分配 三、多线程优化 四、NIO vs BIO 1、stream vs channnel 2、IO模型 阻塞IO 非阻塞IO 多路复用 异步IO模型 一、阻塞 &am…

使用OpenCV检测两张图片的关键点并计算关键点的描述子

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/highgui/highgui.hpp>

每日一博 - 探索代码世界的地图 code iris

文章目录 地址特性安装 code iris如何使用 地址 https://plugins.jetbrains.com/plugin/7324-code-iris 特性 This plugin visualizes the modules, packages and classes of your project. It’s like a UML based “Google Maps” for your Source Code. Code Iris does…

zabbix代理服务器,高可用,监控java,windows,SNMP

zabbix 一&#xff1a;代理服务器1.设置 zabbix 的下载源&#xff0c;安装 zabbix-proxy2.部署数据库&#xff0c;要求 MySQL 5.7 或 Mariadb 10.5 及以上版本2.1.初始化数据库2.2.创建数据库并指定字符集2.3.创建 zabbix 数据库用户并授权 3.导入数据库信息4.修改 zabbix-prox…

前端项目请求天地图地址报错跨域;报错418

原因是因为转义字符&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 在请求回来的地址中 给他转化一下再次请求就OK了&#xff01;

oracle 使从表中随机取出一行记录数据

select * from (select rownum no, a.* from a where status_code AVAILABLE and id_type MEM and archive_flag N and rownum<1000000 ) where no >1000000-1 for update 随机取一条&#xff0c;锁住记录&#xff0c;操作完archive_flag Y不会再取。 四种解决…

【动态规划算法】第八题:931.下降路径最小和

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法\&#x1f384; 如 果 你…

PqQt实现对数据库的添加,删除,修改(完整过程演示)

在PyQt中设置的如下的窗口&#xff1a; 其中的图标是通过新建Resource File加入的 images里面的图片可以在这里面取&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1gOgBpW7s-ZWn_5aRoaYLkQ 提取码&#xff1a;jyjy 我们把这个文件取名为res.qrc 资源文件的使用可以…

基于matlab显示城市街区场景中配备立体摄像机的无人机开发视觉SLAM算法(附源码)

一、前言 视觉SLAM是计算摄像机相对于周围环境的位置和方向&#xff0c;同时映射环境的过程。开发可视化 SLAM 算法并评估其在不同条件下的性能是一项具有挑战性的任务。最大的挑战之一是生成相机传感器的地面实况&#xff0c;尤其是在户外环境中。使用仿真可以在各种场景和相…

HarmonyOS学习路之开发篇—数据管理(分布式文件服务)

分布式文件服务概述 分布式文件服务能够为用户设备中的应用程序提供多设备之间的文件共享能力&#xff0c;支持相同帐号下同一应用文件的跨设备访问&#xff0c;应用程序可以不感知文件所在的存储设备&#xff0c;能够在多个设备之间无缝获取文件。 基本概念 分布式文件 分布…

WebGIS 信息系统-Element项目实战

WebGIS 信息系统-Element项目实战 Element的安装OpenLayers的安装采用直接引用的方式配置开发环境下载Vue文件下载Element文件下载OpenLayers文件 Element的安装 在项目的根目录中&#xff0c;首先按下 Shift鼠标右键&#xff0c;在弹出的右键菜单中选择“在此处打开命令行窗口…

OpenCV 的 remap 函数改变图像中像素的位置

#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #