首先从canvas的参数说起走。
Canvas Component是UI布局和渲染的抽象空间,所有的UI元素都必须在此组件之下。
- Render Mode
UI的渲染方式,有三种:
- Screen Space ——Overlay
- Screen Space ——Camera
- World Space
Screen Space ——Overlay
在这个模式下,UI元素会始终显示在屏幕的最上方,不会受到camera的影响,也就是说,无论有没有camera,UI元素都能够正常的显示。用这个模式的好处就是可以不需要camra支持,但是坏处就是无法在UI层前面使用一些粒子特效了。
1. Pixel Perfect: 可以使图像更清晰,但是有额外的性能开销,如果在有大量UI动画时,动画可能不平顺。
2. Sort Order:深度值,该值越大,则显示越靠前。
Screen Space ——Camera
使用一个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
把物体当做一个gameObject来显示。
1.Event Camera:处理UI事件的camera,只有设定的camera才能出发事件。
参考资料:
http://docs.unity3d.com/Manual/class-Canvas.html