Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Unity零基础到进阶 ☀️| UGUI布局 之Content Size Fitter组件介绍 和 使用示例

Unity零基础到进阶 ☀️| UGUI布局 之Content Size Fitter组件介绍 和 使用示例

作者头像
呆呆敲代码的小Y
发布于 2021-08-20 03:58:29
发布于 2021-08-20 03:58:29
3.3K3
举报

????引言
  • 上次写了一篇博客对UGUI布局的三个组件做了一个介绍和是实战练习 分别是: Vertical Layout Group、Horizontal Layout Group 和 Grid Layout Group
  • 这三个组件都是放在父物体上控制子物体的状态位置的,那这篇文章呢就来对Content Size Fitter组件做一个介绍,一般是配合上面的三个布局组件进行使用

????️‍????Content Size Fitter 组件介绍

官方介绍:

  • The Content Size Fitter functions as a layout controller that controls the size of its own layout element. The size is determined by the minimum or preferred sizes provided by layout element components on the Game Object. Such layout elements can be Image or Text components, layout groups, or a Layout Element component.
  • It’s worth keeping in mind that when a Rect Transform is resized - whether by a Content Size Fitter or something else - the resizing is around the pivot. This means that the direction of the resizing can be controlled using the pivot.
  • For example, when the pivot is in the center, the Content Size Fitter will expand the Rect Transform out equally in all directions. And when the pivot is in the upper left corner, the Content Size Fitter will expand the Rect Transform down and to the right.

译文:

  • Content Size Fitter 用作布局控制器,控制其自己的布局元素的大小。大小由游戏对象上的布局元素组件提供的最小或首选大小决定。此类布局元素可以是图像或文本组件、布局组或布局元素组件。
  • 值得记住的是,当调整 Rect Transform 的大小时 - 无论是通过 Content Size Fitter 还是其他东西 - 调整大小都围绕着枢轴进行。这意味着可以使用枢轴控制调整大小的方向。
  • 例如,当枢轴位于中心时,内容大小调整器将在所有方向上均等地扩展矩形变换。当枢轴位于左上角时,Content Size Fitter 将向下和向右扩展 Rect Transform。

Content Size Fitter是布局控件(Layout Controller)的一个组件,与Layout Group不一样的是,它是对所拥有这个组件的UI对象进行设定。Horizontal Fit和Vertical Fit均为UI.ContentSizeFitter.FitMode枚举类型,有三个值可选:Unconstrained,MinSize,PreferredSize。

1.Horizontal Fit 用什么样的方法来控制宽度

  1. Unconstrained :不使用任何基于布局元素的宽度。
  2. Min size :使用基于布局元素的最小宽度的宽度。
  3. Preferred size:使用基于布局元件的优选宽度的宽度。

2.Vertical Fit 用什么样的方法来控制高度

  1. Unconstrained :不使用任何基于布局元素的高度。
  2. Min size: 使用基于布局元素的最小高度的高度。
  3. Preferred size: 使用基于布局元件的优选高度的高度。

使用Content Size Fitter组件后,该对象的RectTransform组件会发生相应的变化

默认情况下一个对象的RectTransform组件的WidthHeight 可以在编辑模式下就行修改

添加了Content Size Fitter组件后,当Horizontal Fit不为Unconstrained时,Width不可修改

同理,Vertical Fit不为Unconstrained时,Height不可修改。


????️‍????Content Size Fitter 的几种使用方法

1.在文本框中使用

在文本框中添加这个Content Size Fitter组件,并设置为Preferred Size之后

文本框就会跟随文字的大小自由变化了,也是一个小技巧,但是就不可以再自定义控制文本框的大小了


2.控制Scroll View(Scroll Rect组件)控件下Content的大小
  • 在使用Scroll View组件的时候,一般会设置Content的大小来调节现实的内容
  • 如果Content下的东西太多,就会拖不到最后面的模块了,所以这个时候给Content添加一个Content Size Fitter组件,将Vertical Fit的值设置为Preferred Size,那我们就不需要关心Content的Heigh高度了,这个时候就不怕子物体的多少了,都会正常显示出来。

演示一下

未使用Content Size Fitter组件的情况:

使用Content Size Fitter组件的情况:

可以看到未添加Content Size Fitter组件时,因为Content的大小我并没有手动调节到一个合适的大小,导致下面的拖不到

即使鼠标拖过去了,松开的时候也会返回到原来的位置

所以这个时候添加Content Size Fitter组件后,我们就可以达到一个理想的效果了

不用在考虑Content的大小调节了!


????总结

实例展示目前先写这些,这个组件还有其他的挺多用法,等以后碰到会继续添加的

控制UI布局这块的坑很多,以后碰到会慢慢记录下来~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
3 条评论
热度
最新
解决。我眼睛有问题。。。sorry。 没注意
解决。我眼睛有问题。。。sorry。 没注意
11点赞举报
OK
OK
回复回复点赞举报
没有clone 的ball 啊 点了也没发射 是不是漏了 什么代码?
没有clone 的ball 啊 点了也没发射 是不是漏了 什么代码?
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
unity官方案例精讲(第三章)--星际航行游戏Space Shooter
导入的工程包中,包含着一个完整的 _scene---Main场景,创建一个全新场景,会在其中实现大部分功能
酱紫安
2020/10/15
3.4K0
unity官方案例精讲(第三章)--星际航行游戏Space Shooter
Unity入门教程(上)
一、介绍 目的:通过尝试制作一款使用玩家角色把小球弹飞的简单小游戏,熟悉使用Unity进行游戏开发的基本流程。 软件环境:Unity 2017.3.0f3,Visual Studio 2013 二、创建新项目 1,启动Unity后将出现一个并列显示Projects和Getting started的窗口。点击窗口中央的New Project按钮或者右上方的NEW文本标签,窗口下半部分内容将发生改变,出现Project Name文本框等内容。 2,如果Unity曾经被启动过(比如我),窗口中央将不再显示New
Zoctopus
2018/06/04
3.5K0
【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️
答:Awake —> OnEnable —> Start —> FixedUpdate —>Update —> LateUpdate—> OnGUl —> OnDisable —> OnDestroy
呆呆敲代码的小Y
2023/07/24
3K0
【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️
Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!
⭐️组件Component ????前言 ????简介 ????Unity工程结构 ????几种常用组件介绍 ????Transform组件 ????Mesh Filter(网格过滤器)和Mesh R
呆呆敲代码的小Y
2021/08/20
3.2K0
Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!
Unity和C#游戏编程入门:创建迷宫小球游戏示例
当涉及到Unity和C#游戏编程入门时,以下是一些示例代码,可以帮助初学者更好地理解这个领域的基础概念。我们将展示一个简单的示例,创建一个在Unity中控制的小球,并使用C#脚本来控制其运动。请确保你已经按照前文的步骤安装了Unity和学习了基础的C#编程知识。
海拥
2023/09/13
7130
如何用python制作3d游戏_【教程】12个步骤让你快速学会制作3D游戏
Unity3D不仅是一款功能强大且易于上手的游戏引擎,更重要的是,它还可以被免费下载(它还有一个功能更强大的付费版,但其实你可以使用免费版本完成绝大部分工作)。
全栈程序员站长
2022/09/02
3.8K0
【Unity+C#】Unity手把手入门基础演示,并实现一个翻滚的球球小游戏
先安装好Unity环境,此步骤省略。目前我安装两个Unity编辑器,一个是最新版2023.1.x,一个是最新LTS版本的2022.3.x
Wesky
2024/08/27
5270
【Unity+C#】Unity手把手入门基础演示,并实现一个翻滚的球球小游戏
一键完成对话需求?这款插件你不能错过(Unity3D)
Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。
恬静的小魔龙
2022/08/07
5K0
一键完成对话需求?这款插件你不能错过(Unity3D)
Unity【Colliders碰撞器】和【Rigibody刚体】的应用——小球反弹效果
一、给地板floor添加碰撞器,这里我们不添加刚体Rigibody,因为会使地板因为重力而下落。
用户11315985
2024/10/16
4080
Unity【Colliders碰撞器】和【Rigibody刚体】的应用——小球反弹效果
2.5D游戏是如何做出来的呢,2.5D游戏快速制作教程
2.5D游戏 是一种介于二维和三维之间的游戏形式。它通常在二维平面上展示游戏内容,但利用三维技术来实现更加逼真的图像效果。
呆呆敲代码的小Y
2023/08/10
2.8K0
2.5D游戏是如何做出来的呢,2.5D游戏快速制作教程
unity3d的入门教程_3D网课
一、Unity下载与安装 参考博客:Unity Hub、unity、PlasticSCM安装
全栈程序员站长
2022/09/22
4.1K0
unity3d怎么挖坑_unity游戏教程
1、rigidbody.addforce(Vector3 * speed) (见roll-a-ball)
全栈程序员站长
2022/09/29
3K0
unity3d怎么挖坑_unity游戏教程
【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置;
韩曙亮
2023/03/27
2.3K0
【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
Unity3D游戏开发初探—3.初步了解U3D物理引擎
  四个世纪前,物理学家牛顿发现了万有引力,并延伸出三大牛顿定理,为之后的物理学界的发展奠定了强大的理论基础。牛顿有句话是这么说的:“如果说我看得比较远的话,那是因为我站在巨人的肩膀上。”
Edison Zhou
2018/08/20
1.7K0
Unity3D游戏开发初探—3.初步了解U3D物理引擎
Unity基本操作以及Roll A Ball窗口界面以及菜单Roll A Ball
第一个手部图标,可以拖动物体,对准物体点击就可以拖动。第二个就是指针图标,可以选择物体的移动方向。可以选择x,y,z三个方向进行移动。第三个就是旋转图标,可以对物体进行任意方向的旋转。第四个可以改变物体的大小。 这个时候按住鼠标右键可以对场景查看,全景查看。按下w,s可以对镜头远近调节,a,d可以左右位移,如果仅仅是鼠标左右移动那就仅仅只能旋转而已。
西红柿炒鸡蛋
2018/12/06
1.1K0
Unity 脚本入门
在 Unity 中脚本是必不可少的组成部分,因为它将定义游戏的各种行为。Unity 推荐使用的编程语言是 JavaScript,但是 C# 或 Boo 同样也可以。下面介绍 JavaScript 的基本使用及脚本的 API 。
hrscy
2018/08/30
1.5K0
Unity 脚本入门
官方案例--Survival Shoot(一)
导入Survival Shooter.unitypackage,里面有个完整了,新版本导入的时候,需要简单的修改一下代码;
酱紫安
2021/11/30
4750
官方案例--Survival Shoot(一)
从零开始制作Roll-a-ball tutoria滚动的小游戏(Unity3D)
  大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧。
恬静的小魔龙
2022/08/07
1.6K0
从零开始制作Roll-a-ball tutoria滚动的小游戏(Unity3D)
unity3d新手入门必备教程
   Unity3D入门教程中文版    Unity3D基本操作、    用Unity3D创建简单漫游... 1    基本设置... 1    修改视角控制键为右键... 9    如何取消浏览窗口上的右键菜单... 10    植物效果设置... 10    水面效果的设置... 15    烘培光影贴图的处理... 16    如何制作连续加载的场景漫游... 29    用Unity3D 创建简单漫游    1.      建模中使用的图片、文件、文件夹
py3study
2020/01/08
6.6K0
mirror--tankWar
一、创建离线场景 1、创建新项目,导入mirror,创建场景重命名为OfflineScenes 2、从Prefabs文件夹中,将预制体LevelArt拖拽到场景中,LevelArt有光源,删除场景中自带的光源 4、从models文件夹中,将Tank拖拽到场景中,调试好合适的位置,也可以拖拽其他的模型布置场景 5、创建canvas,修改UI Scale Mode选项为:scale with screen size,下面的尺寸根据自己的需求更改,我打包出来的是4:3的界面,创建输入框--输入姓名,3个滑杆
酱紫安
2022/05/10
1.4K0
mirror--tankWar
推荐阅读
相关推荐
unity官方案例精讲(第三章)--星际航行游戏Space Shooter
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档