Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解

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

0. 参考文章

https://blog.csdn.net/qq_33789001/article/details/117781577
https://blog.csdn.net/q764424567/article/details/119923544

1. Canvas

1.1 Screen Space-Overlay —— 屏幕空间覆盖模式

Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Pixel Perfect 使UI元素像素对应,效果就是边缘清晰不模糊
Sort Order 多个Canvas时,数值越大越后渲染。值大的 画布,会挡住值小的
Target Display 目标显示器,如果有多个屏幕的话可以选择
Addtional Shader Channels 附加着色通道,决定Shader可以读取哪些相关数据,比如 法线、 切线 等数据。

1.2 Screen Space-Camera —— 相机模式

Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Render Camera 渲染的相机
Plane Distance Canvas与相机之间的距离
Sorting Layer 画布的深度,指定了相机的渲染顺序
Order In Layer 值越大,该UI越显示在前面

1.3 World Space —— 世界模式

Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Event Camera 响应事件的相机
Sorting Layer 画布的深度,指定了相机的渲染顺序
Order in Layer 值越大,该UI越显示在前面

2. Canvas Scaler:控制UI画布的放大缩放的比例

参考文章:https://blog.csdn.net/qq_33789001/article/details/117781577

2.1 Constant Pixer Size —— 恒定像素

无论屏幕大小如何,UI 元素都保持相同的像素大小。
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Scale Factor 缩放因子
Reference Pixels Per Uit 单位面积像素数量

1920*1080 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
3000:100 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
可以看到无任何拉伸或者缩放,都是按设定的大小显示。

2.2 Scale With Screen Size —— 根据屏幕缩放

屏幕越大,UI 元素越大
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Referencee Resolution 预设屏幕大小
Screen Match Mode 缩放模式
Match 宽高比

2.2.1 Match Width or Height —— 匹配宽度或高度

以宽度为参考、以高度为参考或介于两者之间的值来缩放画布区域

2.2.2 Expand —— 扩张

水平或垂直扩展画布区域,因此画布的大小永远不会小于参考

2.2.3 Shrink —— 收缩

水平或垂直裁剪画布区域,因此画布的大小永远不会大于参考

2.2.4 三种模式效果对比

1920 x 1080 分辨率下:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
1.扩张
3000:100 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
这里可以看到,canvas的宽度进行了拓展(1920 --> 3240),高度保持不变(1080)同时整体收缩了0.9259倍,UI基本正常。
2.收缩
3000:100 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
这里可以看到,canvas的高度进行了收缩(1080 --> 640),宽度保持不变(1920)同时整体放大了1.5625倍。画面出现异常,左右两边居中的的绿色和橙色部分超出画面
3.匹配高度
3000:100 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
查看效果其实和扩张的效果是一致的
4.匹配宽度
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
查看效果其实和收缩的效果是一致的
5.匹配宽度高度
3000:1000 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
可以看到,canvas的宽度进行了收缩(1080 -->831),高度进行放大(1920 --> 2494)同时整体放大了1.2倍。画面出现异常,左右两边居中的的绿色和橙色部分已经遮挡其它元素。

2.3 Constant Physical Size —— 恒定尺寸

UI 元素无论屏幕大小和分辨率如何都保持相同的物理大小。
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Physical Unit 使用单位
Fallback Screen DPI 备用屏幕的DPI
Default Sprite DPI 默认图片的DPI
Reference Pixels Per Uit 单位面积像素数量

1920*1080 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
3000:100 效果:
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

3. Graphic Raycaster:控制是否让UI响应射线点击

Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui

属性 功能
Ignore Reversed Graphic 忽略反转的UI,UI反转后点击无效
Blocking Objects 阻挡点击物体,当UI前有物体时,点击前面的物体射线会被阻挡
Blocking Mask 阻挡层级,当UI前有设置的层级时,点击前面的物体射线会被阻挡

4. EventSystem

Canvas一同创建的还有一个EventSystem,这是一个基于Input的事件系统,可以对键盘、触摸、鼠标、自定义输入进行处理
Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解,Unity 学习笔记,unity,游戏引擎,ui
Event System(Script)

属性 功能
First Selected 首选对象
Send Navigation Events 发送导航事件
Drag Threshold 拖动阈值

Event System负责处理输入、射线投射以及发送事件。
一个场景中只能有一个Event System组件。


Standalone Input Module(Script)文章来源地址https://www.toymoban.com/news/detail-812333.html

属性 功能
Horizontal Axis 横轴
Vertical Axis 纵轴
Submit Button 提交按钮
Canvel Button 取消按钮
Input Actions Per Second
Repeat Delay 重复延迟
Force Module Active 力模块激活

到了这里,关于Unity Canvas、Canvas Scaler、Graphic Raycaster、EventSystem 组件详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity UGUI的Canvas(画布)组件的介绍及使用

    Canvas(画布)是Unity UGUI系统中的一个重要组件,用于在屏幕上绘制UI元素。它是UI元素的容器,可以包含各种UI元素,如按钮、文本、图像等。Canvas组件提供了一种方便的方式来管理和渲染UI元素。 Canvas组件通过渲染器将UI元素绘制到屏幕上。它使用层级结构来管理UI元素的显

    2024年02月08日
    浏览(70)
  • Unity EventSystem的一些理解和使用

    Unity的EventSystem是用于处理用户输入和交互的系统。它是Unity UI系统的核心组件之一,可以用于捕捉和分发各种事件,例如点击、拖拽、按键、射线等。 常用的属性和方法有以下这些: 属性: current : 获取当前的EventSystem实例。 sendNavigationEvents : 一个布尔值,表示是否发送导航

    2024年04月16日
    浏览(32)
  • 梳理Unity EventSystem事件系统调用过程

    之前写过一个关于Button点击事件怎么被调用的,这次把EventSystem事件系统调用过程总结一下                  图来自 UGUI源码分析:EventSystem事件系统_Vin129的博客-CSDN博客 在事件系统中,最重要的两个类是EventSystem与StandaloneInputModule,这两个类均继承自基类UIBehavior,而UIBehavior继承

    2023年04月09日
    浏览(38)
  • Unity技术手册-UGUI零基础详细教程-Canvas详解

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 点击跳转=软考全系列 点击跳转=蓝桥系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、

    2024年02月08日
    浏览(43)
  • new mars3d.graphic.Popup({实现插入轮播图组件的思路参考

    需求场景: 官网的示例链接的浮动监控点示例,实现的是播放视频。 但是我的需求场景是播放轮播图,此时该怎么实现呢? 示例地址: 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 相关代码: function addRandomGraphicByCount(graphicLayer, position) {   const graphicImg = new mars3d.graph

    2024年01月19日
    浏览(85)
  • new mars3d.graphic.RectangleCombine({生成演示数据代码pt1与pt2详解

    示例链接: 1.new mars3d.graphic.RectangleCombine({功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 2.new mars3d.graphic.RectangleEntity({功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 相关的api文档说明: 1.mars3d.PointUtil.getPositionByDirectionAndLen(根据观察点的方向角度和距离,计算目标点坐标

    2024年01月23日
    浏览(35)
  • Unity DropDown 组件 详解

    Unity版本 2022.3.13f1 Dropdown下拉菜单可以快速创建大量选项 属性: 功能: Interactable 此组件是否接受输入?请参阅 Interactable。 Transition 确定控件以何种方式对用户操作进行可视化响应的属性。请参阅过渡选项。 Navigation 确定控件顺序的属性。请参阅导航选项。 Template 下拉列表

    2024年04月26日
    浏览(35)
  • Unity NavMeshObstacle组件详解

    Nav Mesh Obstacle组件的使用情况:我们在使用NavMesh导航的时候,都会把静止的物体,勾上Static,然后烘焙一张NavMesh,导航网格就能知道行走区域。但是如果出现动态的障碍,比如一堵墙原本不能通过,现在又需要通过,这时候就需要用到Nav Mesh Obstacle,这里可能会想到空气墙,

    2024年02月08日
    浏览(32)
  • 详解Unity中的刚体和碰撞体组件

    Unity 中内置了一套完成的物理引擎,能够完成现实世界的近似模拟。而在 Unity 物理引擎中,刚体组件和碰撞体组件则是无法避开的,刚体组件是让物体产生物理行为的组件,而碰撞体组件则是让刚体与物体产生碰撞的组件,今天就来简要认识一下这种组件吧。 前排提醒:本

    2023年04月08日
    浏览(45)
  • 【Unity-UGUI控件全面解析】| Button 按钮组件详解

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发

    2024年02月05日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包