UGUI 顯示物體必須基於 Canvas 下面渲染
Canvas渲染方式有三種:
1.Screen Space – Overlay:屏幕空間 – 覆蓋(不需要相機)
不需要相機也可以渲染,但是UI永遠在最前面
2.Screen Space – Camera:屏幕空間– 需要攝像機
World Space:世界座標空間
CanvasScaler:
三種設計模式:
UI Scale Mode(畫面縮放的形式):
1.ConstantPixelSize 恆定大小,無論屏幕大小是否改變,UI大小不變
2.ScaleWithScreenSize 隨屏幕大小改變而改變
3.ConstantPhysicalSize 物理大小恆定,無論屏幕大小是否改變
UI Update不斷更新UI分辨率
ConstantPixelSize 模式下
設置縮放比例即可
ScaleWithScreenSize模式下:
ScreenMatchMode.MatchWidthOrHeight:找到一個合適的比例;
ScreenMatchMode.Expand:取寬度或者高度最小的縮放;
ScreenMatchMode.Shrink:取屏幕寬度或者高度最大的縮放;
GraphicRaycaster:
UGUI 事件響應
1.必須canvas 上面必須掛腳本 canvas ,GraphicRaycaster
2.必須要有EventSystem (掛載EventSystem, StandaloneInputModule)
3.必須要有組件 Graphic (Image,Text,RawImage,Button具有Image)
NGUI並不是通過真正的射線射線做碰撞檢測的,而是通過區域檢測實現的
RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)