UGUI组件(1)Canvas 和 RectTransform

佐手、 提交于 2020-03-07 18:41:00

版本:Unity5.4.2f1

Canvas(画布)

手册:https://docs.unity3d.com/Manual/class-Canvas.html

这个组件是代表UI布局和渲染的空间。所有UI元素必须是在一个有Canvas组件的对象下。当在没有Canvas场景中创建一个UI元素时,同时也会生成一个Canvas对象。



参数:
Pixel Perfect (Screen Space modes only):不使用反锯齿渲染UI
Render Camera (Screen Space - Camera mode only):选择一个绘制UI的摄像机
Plane Distance (Screen Space - Camera mode only):放置UI平面在摄像机前面的距离大小
Event Camera (World Space mode only):处理UI事件的摄像机
Receives Events:是否通过该摄像机处理UI事件

补充:
一个场景中只有一个Canvas是足够的,但也允许同时存在多个Canvas。也可以嵌套多个Canvas,但嵌套的Canvas是和父级的渲染方式一样。
嵌套的Canvas截图:


通常是把UI元素作为一个绘制在屏幕上的图形,而没有把UI元素当作为一个3D空间内的对象。
在Unity中不仅支持使用传统的渲染概念,同时也支持把UI元素作为一个3D对象的渲染思想。

Screen Space - Overlay
在这种模式下,Canvas是自适应屏幕的,同时也不需要依赖任何实际的场景或摄像机。UI会被最后渲染。
注意:选择这种模式,需要让Canvas对象放在Hierachy视图的最上层层级(即transform.parent = nil)。否则,UI可能会消失。

Screen Space - Camera
这种模式下,Canvas会根据UI平面与摄像机的截面的缩放而自适应。在UI平面前3D对象的会显示在UI前,而在后面的会显示在UI平面的后面。

World Space
在这种模式下,Canvas会被作为一个Plane对象存在。此时,Canvas不用面向摄像机,角度可以任意调整。同时,Canvas不会再自适应,而是需要控制RectTransform的Width和Height进行缩放。


RectTranform

手册:https://docs.unity3d.com/Manual/class-RectTransform.html
RectTransform继承Transform,用于2D对象上。是个矩形状。

参数

  • Anchors :布局(缩放)锚点。Min代表左下角,Max代表右上角。(以父级对象的矩形左下角为原点)
  • Pivot : 2D对象的中心点
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!