Unity-UI (显示/隐藏控制、RenderMode的三种方式)

时间:2024-04-14 10:10:54

一、显示/隐藏UI (panel面)

    给Panel加一个CanvasGroup组件。

若要显示:

GetComponent<CanvasGroup>().alpha = 1;
GetComponent<CanvasGroup>().interactable = true;
GetComponent<CanvasGroup>().blocksRaycasts = true;

若要隐藏:

GetComponent<CanvasGroup>().alpha = 0;
GetComponent<CanvasGroup>().interactable = false;
GetComponent<CanvasGroup>().blocksRaycasts = false;


代码:

定义变量-

Unity-UI (显示/隐藏控制、RenderMode的三种方式)

获取组件-

Unity-UI (显示/隐藏控制、RenderMode的三种方式)

控制显示/隐藏-

Unity-UI (显示/隐藏控制、RenderMode的三种方式)



二、显示UI方式 (Canvas面)

    更改Canvas层中,Canvas组件的Render Mode

Unity-UI (显示/隐藏控制、RenderMode的三种方式)


Render Mode
Screen Space -OverLay

“屏幕空间-覆盖”,固定在屏幕最上层,不受任何camera影响,即使没有相机也可以看到其内容。

Screen Space-Camera

“屏幕空间-相机”,需设置可接受UI层信息和相应Z值的camera,

并在camera投射范围内放置UI界面。UI位置跟随camera变化而变化。

World Space “世界空间”,把UI放在三维场景中,如三维物体般处理。