UNITY3D UGUI学习--canvas

时间:2021-09-04 19:14:57

首先从canvas的参数说起走。

Canvas Component是UI布局和渲染的抽象空间,所有的UI元素都必须在此组件之下。

  1. Render Mode

UI的渲染方式,有三种:

  • Screen Space ——Overlay
  • Screen Space ——Camera
  • World Space

Screen Space ——Overlay

UNITY3D UGUI学习--canvas

在这个模式下,UI元素会始终显示在屏幕的最上方,不会受到camera的影响,也就是说,无论有没有camera,UI元素都能够正常的显示。用这个模式的好处就是可以不需要camra支持,但是坏处就是无法在UI层前面使用一些粒子特效了。

1. Pixel Perfect: 可以使图像更清晰,但是有额外的性能开销,如果在有大量UI动画时,动画可能不平顺。

2. Sort Order:深度值,该值越大,则显示越靠前。

Screen Space ——Camera

UNITY3D UGUI学习--canvas

使用一个Camera作为参照,将UI平面放置在Camera前的一定距离,因为是参照camera,如果屏幕大小、分辨率、camera视锥改变时,UI平面会自动调整大小。如果Scene中的gameObject比UI更贴近camera,就会遮挡UI平面,这样可以在UI层做出一些粒子特效。

1. render camera:用于渲染的摄像机

2. Plane Distance:距离camera的距离

3. Sorting Layer:canvas属于的排序层,在 Edit--Project Setting--Tags and Layers --Sorting Layers进行增加,越下方的显示越靠前。

4.Order in Layer:canvas属于的排序层下的顺序,该值越大则显示越靠前。

World Space

UNITY3D UGUI学习--canvas

把物体当做一个gameObject来显示。

1.Event Camera:处理UI事件的camera,只有设定的camera才能出发事件。

参考资料:

http://docs.unity3d.com/Manual/class-Canvas.html