UGUI基础游戏对象Canvas

这篇具有很好参考价值的文章主要介绍了UGUI基础游戏对象Canvas。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.画布Canvas对象概述

UGUI基础游戏对象Canvas,UGUI,Unity,unity 

画布是一种带有画布组件的游戏对象,所有 UI 元素都必须是此类画布的子项。

创建新的 UI 元素(如使用菜单 GameObject > UI > Image 创建图像)时,如果场景中还没有画布,则会自动创建画布。UI 元素将创建为此画布的子项。

画布区域在 Scene 视图中显示为矩形。这样可以轻松定位 UI 元素,而无需始终显示 Game 视图。

画布中的 UI 元素按照它们在 Hierarchy 中显示的顺序进行深度优先绘制。

二. CanVas组件

UGUI基础游戏对象Canvas,UGUI,Unity,unity

Canvas组件的作用是控制画布对象的渲染方式,展开RenderMode下拉框,有三个选项:

A. Screen Space - OverLay模式

UGUI基础游戏对象Canvas,UGUI,Unity,unity

设置此模式后,画布将出现在屏幕最前方。通常2D游戏会采用这种渲染方式。

沿Z轴拖动摄像机,画布位置始终不变,且画布不可移动。在场景中画布到摄像机之间有个cube,game视图中画布挡住了cube。

B. Screen Space - Camera模式

UGUI基础游戏对象Canvas,UGUI,Unity,unity

设置此模式后,画布将出现在摄像头前方固定距离处。

沿Z轴拖动摄像机,画布位置随摄像机移动,且画布不可直接移动,game视图中cube可以挡住了画布。实际游戏开发中通常会采用这种方式。(在UI上显示3D模型)

C.  World Space模式

UGUI基础游戏对象Canvas,UGUI,Unity,unity

设置此模式后,画布将可以进行变换,此模式对于要成为世界一部分的 UI 非常有用,主要用于VR。

三. Canvas Scaler组件

画布缩放器组件用于控制画布中 UI 元素的整体缩放和像素密度。此缩放会影响画布下的所有内容,包括字体大小和图像边框。有三种缩放模式可供选择

对于设置为“Screen Space - Overlay”或“Screen Space - Camera”的画布,画布缩放器 UI Scale Mode 可以设置为 Constant Pixel Size、Scale With Screen Size 或 Constant Physical Size。

UGUI基础游戏对象Canvas,UGUI,Unity,unity

3.1 Constant Pixel Size(恒定像素模式)

UGUI基础游戏对象Canvas,UGUI,Unity,unity

模式定义:无论屏幕大小如何,UI始终保持相同像素大小

ScaleFactor:缩放系数,按此系数缩放UI中的所有元素

Reference Pixels Per Unit:如果精灵具有此“Pixels Per Unit”设置,则精灵中的每个像素将覆盖 UI 中的一个单位。

UI原始尺寸 = 图片大小(像素) / (Pixels Per Unit / Reference Pixel Per Unit)

验证:将128x128的图的Pixels Per Unit设为60,Canvas中设置成恒定像素模式后,Reference Pixel Per Unit设为30,用128X128的图创建一个image,点击set Native Size后,image尺寸为64x64。

缺点:当处于恒定像素模式时,改变屏幕的大小,其中的图片是固定大小不变的。它不会让UI控件进行分辨率大小自适应,会让UI控件始终保持设置的尺寸大小显示。一般极少使用这种模式,除非通过代码计算来设置缩放系数。

3.2 Scale With Screen Size(缩放模式)

这种缩放模式下的UI位置是根据屏幕的分辨率和设置的宽高比来调整UI的位置的,通常做屏幕UI自适应的时候都需要调整到这个缩放模式下。

UGUI基础游戏对象Canvas,UGUI,Unity,unity

Reference Resolution:UI 布局设计的目标分辨率。如果屏幕分辨率较大,则 UI 会放大,如果较小,则 UI 会缩小

Screen Match Mode:设置当屏幕分辨率(游戏视图)与参照分辨率的宽高比不同时,画布如何缩放

Expand:水平或垂直拓展画布区域,可能有黑边

Shrink:水平或垂直拓展画布区域,可能会裁剪

Match Width Or Height:根据match设定的值,使用宽和高的混合值来缩放,实测match为0时效果等同于Expand,match为1时效果等同于Shrink

3.3 Constant Physical Size(恒定物理尺寸)

使用 Constant Physical Size 模式时,可按物理单位(如毫米、点或派卡)指定 UI 元素的位置和大小。此模式要求设备正确报告其屏幕 DPI。对于不报告 DPI 的设备,可以指定回退 DPI。

恒定像素 与 恒定物理区别
相同点:UI不缩放 不自适应
不同点:相同尺寸 不同DPI设备下
同样的长度下 DPI大的像素多 每个像素的长度就小
DPI小的像素少 每个像素的长度就大
恒定像素 切换到不同DPI环境下 图片的像素不变化 但显示的尺寸变化
恒定物理 切换到不同DPI环境下 图片的像素和尺寸不变化

3.4 World Space

对于设置为“World Space”的画布,可以使用画布缩放器来控制画布中 UI 元素的像素密度。

四.Graphic Raycaster组件

简单说这个组件用于控制画布中的事件。若移除这个组件后,画布内的按钮将不可点击。

UGUI基础游戏对象Canvas,UGUI,Unity,unity

 文章来源地址https://www.toymoban.com/news/detail-649295.html

到了这里,关于UGUI基础游戏对象Canvas的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Unity】UGUI中Camera Depth,Canvas Sorting Layer、Order in Layer与Particle System渲染层级分析

    【Unity】UGUI中Camera Depth,Canvas Sorting Layer、Order in Layer与Particle System渲染层级分析

    目录   前言 一、项目需求 二、Camera 1.Clear Flags 2.Culling Mask  三、Canvas 1.Sorting Layer 2.Order in Layer 四、Particle System 1.Sorting LayerID 与Order in Layer 总结         最近在做项目的过程中,发现项目中的部分3d模型会被粒子特效所遮挡,这并不是笔者想要的效果,于是经过一番面向

    2024年02月05日
    浏览(12)
  • 【游戏开发解答】Unity中对UGUI的Image进行倾斜变形(UGUI | 精灵图 | OnPopulateMesh | 顶点偏移 | 变形)

    【游戏开发解答】Unity中对UGUI的Image进行倾斜变形(UGUI | 精灵图 | OnPopulateMesh | 顶点偏移 | 变形)

    本文最终效果 一、前言 嗨,大家好,我是新发。 前同事问了我一个问题,如何将 UGUI 的 Image 进行变形,变成斜斜的, 最直接的就是出图的时候直接就画成斜的,我们不讨论这种情况,这里我们单纯的从技术实现上去思考能不能在 Unity 中通过 UGUI 的 Image 对图片进行倾斜变形

    2024年02月04日
    浏览(30)
  • Unity基础UGUI学习

    Unity基础UGUI学习

    使用 UGUI来开发UI,离不开Canvas组件,所有的 UI 元素,一般都是放在包含 Canvas 组件的节点。 Canvas组件都有那些属性? RenderMode: 渲染模式,大概有三种: Screen Space - Overlay: 覆盖屏幕,Canvas 永远覆盖在场景中的其它所有元素的上层。 Pixel Perfect: UI元素精确到像素对齐,边

    2024年02月01日
    浏览(11)
  • 【Unity基础】ugui画布篇(个人学习)

    【Unity基础】ugui画布篇(个人学习)

    ui是必学的东西,这里主要学习ugui的常用控件,而学习必须要养成查看源码的好习惯。。。。 知识参考:https://docs.unity3d.com/cn/2021.3/Manual/ 提前说明,这是个人学习笔记,不是教程。 Canvas故名思意就是UI的画板,主要是控制UI的绘制的。在unity的ugui中,所有UI都必须是Canvas的子物

    2023年04月08日
    浏览(10)
  • Unity UGUI3——三大基础控件

    Unity UGUI3——三大基础控件

    ​ Image 是图像组件,是 UGUI 中用于显示精灵图片的关键组件 ​ 除了背景图等大图,一般都使用 Image 来显示 UI 中的图片元素 Source Image:图片来源 图片类型必须是“精灵 Sprite”类型 Color:图像的颜色 Matreial:图像的材质 一般不修改,会使用 UI 的默认材质 Raycast Target:是否

    2024年02月09日
    浏览(12)
  • Unity UGUI1——基础组件概述

    Unity UGUI1——基础组件概述

    ​ UGUI 是 Unity 引擎内自带的 UI 系统,官方称之为:Unity UI ​ 是目前 Unity 商业游戏开发中使用最广泛的 UI 系统开发解决方案 ​ 它是基于 Unity 游戏对象的 UI 系统,只能用来做游戏 UI 功能 ​ 不能用于开发 Unity 编辑器中内置的用户界面 ​ Unity 最初版本 ~ Unity4.6 版本: ​

    2024年02月10日
    浏览(8)
  • Unity技术手册-UGUI零基础详细教程-Image图片

    Unity技术手册-UGUI零基础详细教程-Image图片

    往期文章分享 点击跳转=《导航贴》- Unity手册,系统实战学习 点击跳转=《导航贴》- Android手册,重温移动开发 本文约3千字,新手阅读需要7分钟,复习需要2分钟 【 收藏随时查阅不再迷路 】 众所周知,人生是一个漫长的流程,不断 克服困难 ,不断反思前进的过程。在这个

    2023年04月09日
    浏览(12)
  • 【学习笔记】Unity基础(七)【uGUI基础、利用render Texture实现小地图功能】

    【学习笔记】Unity基础(七)【uGUI基础、利用render Texture实现小地图功能】

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/130808689 本篇基本是大纲性质,参考价值不大,只有最后一小节“利用render Texture实现小地图功能”花了点时间,可以看看,不过也用到了上面的canvas、UI image等知识、以及input等脚本功能,也算一个小练手吧 倒是

    2024年02月08日
    浏览(16)
  • Unity--随机生成游戏对象

    Unity--随机生成游戏对象

    在脚本中声明数组 RandomObjects 用于保存生成对象的类型,在project文件中拖入对象。 先将脚本拖到一个对象上,然后点击检查器-覆盖-应用到全部,这样将使所有预制件都拥有该属性。

    2024年02月15日
    浏览(19)
  • Unity 3D:获取未激活游戏对象的方法

    一、获取已激活游戏对象 Gameobject.Find(\\\"游戏对象名\\\") //根据对象名直接获取游戏对象 这个方法可以找到指定的对象,但是一些缺陷。 1、如果场景中有重名,此方法找到的是Hierarchy从上至下第一次出现此对象名的对象。 2、如果对象的activeSelf为false,那么这个方法永远无法找到

    2023年04月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包