【unity游戏开发入门到精通——UGUI】RectTransform矩形变换组件

news2025/4/21 22:57:23

注意:考虑到UGUI的内容比较多,我将UGUI的内容分开,并全部整合放在【unity游戏开发——UGUI】专栏里,感兴趣的小伙伴可以前往逐一查看学习。

文章目录

  • 一、RectTransform组件介绍
  • 二、RectTransform组件参数
    • 1、Pivot 轴心点
    • 2、Anchors 相对父矩形锚点
    • 3、Pos(X,Y,Z) 轴心点(中心点)相对锚点的位置
    • 4、Width/Height 矩形的宽高
    • 5、Left/Top/Right/Bottom 矩形边缘相对于锚点的位置;当锚点分离时会出现这些内容
    • 6、Rotation 围绕轴心点旋转的角度
    • 7、Scale 缩放大小
    • 8、Blueprint Mode(蓝图模式)
    • 9、Raw Edit Mode(原始编辑模式)
  • 三、小技巧
    • 1、通过点击左上角的框可以快速设置锚点轴心位置
    • 2、图片在不同大小屏幕,自动适配宽高
    • 3、页面UI太多,分组定位他们的位置
  • 三、代码中得到RectTransform
  • 专栏推荐
  • 完结

一、RectTransform组件介绍

RectTransform意思是矩形变换,它继承于Transform,是专门用于处理UI元素位置大小相关的组件。
在这里插入图片描述
Transform组件只处理位置、角度、缩放,RectTransform在此基础上加入了矩形相关,将UI元素当做一个矩形来处理,加入了中心点、锚点、长宽等属性。其目的是更加方便的控制其大小以及分辨率自适应中的位置适应。

二、RectTransform组件参数

在这里插入图片描述

1、Pivot 轴心点

在这里插入图片描述

  • 轴心(中心)点,取值范围0~1
  • 以左下角为原点,右上角为1,1点
  • 轴心点是旋转的中心点
  • 轴心点会和锚点一起用于位置的计算
  • 轴心点会影响当宽高扩大缩小时,往哪个方向进行伸缩的。
    • 比如如果轴心点在图片中心,修改x轴缩放
      在这里插入图片描述
    • 如果轴心点在图片最左边中心,修改x轴缩放(可以实现类似血条、进度条的效果)
      在这里插入图片描述

2、Anchors 相对父矩形锚点

在这里插入图片描述

  • Min是矩形锚点范围X和Y的最小值
  • Max是矩形锚点范围X和Y的最大值
  • 取值范围都是0~1
  • 当Min和Max对应的xy值设置的完全贴合时,锚点会以点的形式存在。会根据锚点位置建立坐标系,根据和UI对象轴心点的距离计算出UI对象的位置
  • 当Min和Max对应的xy值设置的分开时,会根据锚点的四条边和UI对象的四条边计算位置。一些背景图可能会用到锚点分开的情况,会根据父对象的变化而填满拉伸。如果要用到子对象随着父对象的变化而变化的时候可以选择锚点分开。
    在这里插入图片描述

3、Pos(X,Y,Z) 轴心点(中心点)相对锚点的位置

在这里插入图片描述

4、Width/Height 矩形的宽高

在这里插入图片描述

5、Left/Top/Right/Bottom 矩形边缘相对于锚点的位置;当锚点分离时会出现这些内容

在这里插入图片描述

6、Rotation 围绕轴心点旋转的角度

在这里插入图片描述

7、Scale 缩放大小

在这里插入图片描述

8、Blueprint Mode(蓝图模式)

在这里插入图片描述
启用后,编辑旋转和缩放不会影响矩形,只会影响显示内容。一般不勾选。
在这里插入图片描述

9、Raw Edit Mode(原始编辑模式)

在这里插入图片描述

  • 启用后,改变轴心和锚点值不会改变矩形位置,即改变轴心位置,图片显示的位置会改变,但是不改变UI对象的Pos位置的数值
  • 不启用时,改变轴心位置,UI对象的Pos位置也会改
    在这里插入图片描述

三、小技巧

1、通过点击左上角的框可以快速设置锚点轴心位置

Shift:同时设置轴心,Alt:同时设置位置
在这里插入图片描述

2、图片在不同大小屏幕,自动适配宽高

要想图片在不同大小屏幕,自动适配宽高,我们可以把锚点分开,设置和UI屏幕一样大小
在这里插入图片描述

3、页面UI太多,分组定位他们的位置

UI很多的话,我们要一个个设置他们锚点的位置,很麻烦。我们可以把相同位置的UI进行分组,看成一个整体。

比如我想左上角的UI,全部定义在左上角位置,也就是锚点设置在左上角。我们可以新建一个UI面板,作为这些UI的父类,将他们包裹起来。然后只需要调整父类UI的位置即可实现统一调整。
在这里插入图片描述
在这里插入图片描述

三、代码中得到RectTransform

获取RectTransform控件宽高属性

this.transform as RectTransform
print((this.transform as RectTransform).sizeDelta);

专栏推荐

地址
【unity游戏开发入门到精通——C#篇】
【unity游戏开发入门到精通——unity通用篇】
【unity游戏开发入门到精通——unity3D篇】
【unity游戏开发入门到精通——unity2D篇】
【unity实战】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】
【unity游戏开发——模型篇】
【unity游戏开发——InputSystem】
【unity游戏开发——Animator动画】
【unity游戏开发——UGUI】
【unity游戏开发——联网篇】
【unity游戏开发——优化篇】
【unity游戏开发——shader篇】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

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

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

相关文章

C语言复习笔记--字符函数和字符串函数(上)

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。 首先来看下字符函数. 字符分类函数 C语⾔中有⼀系列的函数是专⻔做字符分类的&#xf…

Apipost,前端后端测试都在用的接口设计调试工具

大家好,我是袁庭新。给大家介绍一个后端、前端、测试都在用的接口测试工具——Apipost。Apipost主要分为5个大模块,贯穿一个API从设计到测试完成上线的研发全周期。 1.Apipost介绍 Apipost官方地址:https://www.apipost.cn。如下图所示。 A…

十倍开发效率 - IDEA 插件之RestfulBox - API

提高效率不是为了完成更多的任务,而是有充足的时间摸鱼。 快速体验 RestfulBox - API 是 IDEA 的插件,适合本地测试接口,完全不需要对项目进行任何以来。 接口管理:支持接口扫描、浏览、搜索、跳转、导入和导出。支持接口请求&a…

2025 年网络安全的挑战与机遇

2024 年是网络安全领域风云变幻的一年。从备受瞩目的勒索软件攻击所带来的影响,到人工智能工具日益商品化,挑战不断增加。 关键基础设施的漏洞变得极为明显,身份盗窃次数也达到了前所未有的程度。然而,在这一片混乱之中&#xff…

IP数据报

IP数据报组成 IP数据报(IP Datagram)是网络中传输数据的基本单位。 IP数据报头部 版本(Version) 4bit 告诉我们使用的是哪种IP协议。IPv4版本是“4”,IPv6版本是“6”。 头部长度(IHL,Intern…

【Lua语言】Lua语言快速入门

初始Lua Lua是一种轻量小巧的脚本语言,他使用标准C语言编写并以源代码形式开放。这意味着Lua虚拟机可以很方便的嵌入别的程序中,从而为应用程序提供灵活的扩展和定制功能。同时,在目前脚本引擎中,Lua的运行速度占有绝对优势。 变…

Silverlight发展历程(微软2021年已经停止支持Silverlight 5)

文章目录 Microsoft Silverlight 发展历程引言起源与背景(2006-2007)互联网技术格局与微软的挑战WPF/E 项目的启动 Silverlight 1.0 的诞生(2007)正式命名与首次发布初步的市场定位 Silverlight 2.0:真正的突破&#x…

充电桩领域垂直行业大模型分布式推理与训练平台建设方案 - 慧知开源充电桩平台

没有任何广告! 充电桩领域垂直行业大模型分布式推理与训练平台建设方案 一、平台定位与核心价值 行业首个垂直化AI平台 专为充电桩运营场景设计的分布式大模型训练与推理基础设施,实现"算力-算法-场景"三位一体闭环管理。 核心价值主张&am…

区块链交易自动化新时代:实战体验 Maestro 智能机器人

随着 DeFi 和链上交易生态的不断壮大,链上自动化工具的应用正逐渐从「量化机构」走向普通投资者和开发者。在过去的几个月中,我实测了一款基于 Telegram 的交易机器人 —— Maestro,它极大简化了链上套利、复制交易等流程,对我个人…

windows服务器及网络:论如何安装(虚拟机)

今天我要介绍的是:在Windows中对于安装系统(虚拟机的步骤以及相关的安装事宜),事不宜迟,让我们来看看系统安装(虚拟机)是怎么操作的: 对现在来说,安装电脑系统已经是非常…

Hbuilder 上的水印相机实现方案 (vue3 + vite + hbuilder)

效果 思路 通过 live-pusher 这个视频推流的组件来获取摄像头拿到视频的一帧图片之后,跳转到正常的 vue 页面,通过 canvas 来处理图片水印 源码 live-pusher 这个组件必须是 nvue 的 至于什么是 nvue,看这个官方文档吧 https://uniapp.dcl…

TinyEngine 2.4版本正式发布:文档全面开源,实现主题自定义,体验焕新升级!

本文由体验技术团队李璇原创。 前言 TinyEngine低代码引擎使开发者能够定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低…

毕业答辩的PPT应该包括哪些内容?

一、PPT 模板的选择 1. 忌单调的白底黑字,应进行一些艺术设计,使人看着画面舒服,但不必过于花哨。总之,专业制作,符合技术人士的喜好。 2. 去掉不相关信息,如一些下载模板上的LOGO。把学校或部门的LOGO放…

Vscode --- LinuxPrereqs │远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件

打开vscode连接远程linux服务器,发现连接失败,并出现如下报错信息: 原因是: vscode 官网公告如下:2025 年 3 月 (版本 1.99) - VSCode 编辑器 版本1.97 官网公告如下:链接 版本1.98 官网公告如下&am…

安装部署RabbitMQ

一、RabbitMQ安装部署 1、下载epel源 2、安装RabbitMQ 3、启动RabbitMQ web管理界面 启用插件 rabbitmq数据目录 创建rabbitmq用户 设置为管理员角色 给用户赋予权限 4、访问rabbitmq

Qt实现文件传输客户端(图文详解+代码详细注释)

Qt实现文件传输客户端 1、 客户端UI界面设计2、客户端2.1 添加网络模块和头文件2.2 创建Tcp对象2.3 连接按钮2.3.1 连接按钮连接信号与槽2.3.2 连接按钮实现 2.4 读取文件2.4.1 连接读取文件的信号与槽2.4.2 读取文件槽函数实现2.5 进度条2.5.1 设置进度条初始值2.5.2 初始化进…

机器学习期末

选择题 以下哪项不是机器学习的类型? A. 监督学习 B.无监督学习 C.半监督学习 D.全监督学习 D 哪一个是机器学习的合理定义? A、机器学习是计算机编程的科学 B、机器学习从标记的数据中学习 C、机器学习是允许机器人智能行动的领域 D、机器学习能使计算机能够在…

Python多任务编程:进程全面详解与实战指南

1. 进程基础概念 1.1 什么是进程? 进程(Process)是指正在执行的程序,是程序执行过程中的一次指令、数据集等的集合。简单来说,进程就是程序的一次执行过程,它是一个动态的概念。 想象你打开电脑上的音乐播放器听歌,…

【QT】 QT中的列表框-横向列表框-树状列表框-表格列表框

QT中的列表框-横向列表框-树状列表框-表格列表框 1.横向列表框(1)主要方法(2)信号(3) 示例代码1:(4) 现象:(5) 示例代码2:加载目录项在横向列表框显示(6) 现象: 2.树状列表框 QTreeWidget(1)使用思路(2)信号(3)常用的接口函数(4) 示例代码&am…

决策树:ID3,C4.5,CART树总结

树模型总结 决策树部分重点关注分叉的指标,多叉还是单叉,处理离散还是连续值,剪枝方法,以及回归还是分类 一、决策树 ID3(Iterative Dichotomiser 3) 、C4.5、CART决策树 ID3:确定分类规则判别指标、寻找能够最快速降低信息熵的方…