【unity游戏开发入门到精通——UGUI】整体控制一个UGUI面板的淡入淡出——CanvasGroup画布组组件的使用

发布于:2025-06-01 ⋅ 阅读:(80) ⋅ 点赞:(0)

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

前言

如果我们想要整体控制一个UGUI面板的淡入淡出、整体禁用或者禁止射线检测。
在这里插入图片描述
我们使用目前学习的知识点可能需要对各个UI元素单独进行控制,是无法方便快捷的设置的。如果我们还需要实现可以通过代码动态的控制UGUI的变化,更是尤为麻烦。

好在UGUI给我们提供了一个新的组件——CanvasGroup画布组组件。

CanvasGroup可集中控制整组 UI 元素的某些方面,而无需单独处理每个元素。画布组的属性会影响所在的游戏对象以及所有子对象。只要为面板父对象添加CanvasGroup组件即可整体控制。
在这里插入图片描述

一、CanvasGroup画布组组件参数

在这里插入图片描述

属性: 功能:
Alpha 整体透明度控制。该值介于 0 和 1 之间,其中 0 表示完全透明,1 表示完全不透明。请注意,UI 元素也会保留自己的透明度,因此画布组的 Alpha 值将与各个元素的 Alpha 值彼此相乘。
Interactable 整体启用禁用设置。当设置为 false 时,禁用交互。
Block Raycasts 整体射线检测设置。此组件是否作为射线投射的碰撞体?需要在连接到画布的图形射线投射器上调用 RayCast 函数。这_不_适用于 Physics.Raycast。
Ignore Parent Groups 是否忽略父级CanvasGroup的作用。此组还会受到游戏对象层级视图中更上层的画布组 (Canvas Group) 组件中的设置所影响,还是会忽略并因此覆盖这些设置?

二、CanvasGroup画布组的典型用途为:

  • 通过在窗口的游戏对象上添加画布组并控制其 Alpha 属性来淡入或淡出整个窗口。
  • 通过将画布组添加到父游戏对象并将其 Interactable 属性设置为 false 来使整组控件不可交互(“灰显”)。
  • 通过在 UI 元素或其某个父元素上放置画布组 (Canvas Group) 组件并将其 Block Raycasts 属性设置为 false 来使一个或多个 UI 元素不阻止鼠标事件。

三、实战

1、通过控制Alpha 属性来淡入或淡出整个窗口

在这里插入图片描述

2、通过Interactable 属性设置为 false 来使整组控件不可交互

在这里插入图片描述


专栏推荐

地址
【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,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

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


网站公告

今日签到

点亮在社区的每一天
去签到