UGUI
- 六大基礎元件概述
-
- 1.Canvas的三種渲染方式
-
- Screen Space-Overlay 螢幕空間 覆寫模式 ui始終在前
- Screen Space-Camera 螢幕空間 錄影機模式 3d物體可以顯示在ui之前
- World Space 世界空間 3D模式
- 2.CanvasScaler 畫布縮放控制器 分辨率自适應元件
-
- Constant Pixel Size(恒定像素模式)
- Scale With Screen Size(縮放模式)
- 總結:
- Constant Physical Size(恒定實體模式)
- 3D模式 當canvas的渲染模式為WorldSpace
- 3.Graphic Raycaster 圖形射線投射器
- 4.EventSystem 事件系統
- 5.standalone input module 獨立輸入子產品
- 6.RectTransform矩形變換
六大基礎元件概述
Canvas對象上依附的:
canvas:畫布元件,主要用于渲染UI控件
canvas scaler:畫布分辨率自适應元件 主要用于分辨率自适應
graphic raycaster:射線事件互動元件 主要用于控制射線相應相關
rect transform:ui對象位置錨點控制元件 主要用于控制位置和對齊方式
EventSystem對象上依附的:
eventsystem和standalone input module:玩家輸入事件響應系統和獨立輸入子產品元件,主要用于監聽玩家操作(與graphic raycaster一起用)
1.Canvas的三種渲染方式
Screen Space-Overlay 螢幕空間 覆寫模式 ui始終在前
Pixel Perfect:是否開啟無鋸齒精确渲染(性能換效果)
SortOrder:排序層編号(用于控制多個Canvas時的渲染先後順序)
Target Display: 目标裝置(在哪個裝置上顯示)
Additional Shader Channels: 其他着色器通道,決定着色器可以讀取哪些資料
Screen Space-Camera 螢幕空間 錄影機模式 3d物體可以顯示在ui之前
RenderCamera:用于渲染3D物品的的錄影機(如果不設定将類似于覆寫模式)
Plane Distance: UI平面在錄影機前方的距離 類似整體z軸的感覺
Sorting layer:所在排序層
Order in Layer:排序層的序号
World Space 世界空間 3D模式
把ui對象像3D物體一樣處理 常用于vr或ar
Event Camera:用于處理ui事件的相機(如果不設定 不能正常注冊ui事件)
2.CanvasScaler 畫布縮放控制器 分辨率自适應元件
Constant Pixel Size(恒定像素模式)
無論螢幕大小如何 ui始終保持相同像素大小
Scale Factor:縮放系數 按此縮放系數縮放畫布中所有的ui元素
Reference Pixels Per Unit: 機關參考像素 多少像素對應unity的一個機關(預設100像素)
Scale With Screen Size(縮放模式)
根據螢幕尺寸進行縮放 随着螢幕尺寸放大縮小
UI Scale Mode三種比對模式:
Match Width or Height 寬高比對 以寬高某種平均值作為參考縮放畫布
match:确定用于計算的寬高比對
Shrink 收縮比對 将canvas size進行寬或高收縮 讓他低于參考分辨率
Expand 擴充比對 将canvas size進行寬或高擴大 讓高低于參考分辨率
總結:
遊戲開發一般使用:Scaler with Screen Size 縮放模式
存在橫豎屏切換選擇:Expand和Shrink
定死的橫屏或者豎屏:Match Width or Height
豎屏 match=1 豎屏 match=0
Constant Physical Size(恒定實體模式)
無論螢幕大小和分辨率如何 ui元素始終保持相同實體大小
DPI:圖像每英寸長度内的像素點數
Physical Unit:實體機關 使用的實體機關種類
Fallback Screen DPI:備用DPI 當找不到裝置DPI時 使用此值
Default Sprite DPI:預設圖檔DPI
一般不使用此模式
3D模式 當canvas的渲染模式為WorldSpace
Dynamic Pixel Per Unit:UI中動态建立的位圖中 機關像素數(類似密度)
Reference Pixels Per Unit: 機關參考像素 多少像素對應unity的一個機關(預設100像素)
3.Graphic Raycaster 圖形射線投射器
用于檢測ui輸入事件的射線發射器 通過射線檢測玩家和ui元素的互動判斷是否點選到了ui元素
Ignore Reversed Graphics: 是否忽略反轉圖形 (x,y反轉)
Blocking Objects: 射線被哪些類型的碰撞器阻擋(覆寫渲染模式下無效)
Blocking Mask:射線被哪些層級的碰撞器阻擋 (覆寫渲染模式下無效)
4.EventSystem 事件系統
管理玩家輸入事件并分發給各ui控件 邏輯處理子產品
所有的ui事件都通過eventsystem元件中輪詢檢測并做相應執行
First Selected:首先選擇的遊戲對象 可以設定遊戲一開始的預設選擇
Send Navigation Events:是否允許導航事件(鍵盤選中)
Drag Threshold: 拖拽操作的門檻值(移動多少像素算拖拽)
5.standalone input module 獨立輸入子產品
處理滑鼠,鍵盤,控制器,觸屏的輸入
輸入事件通過EventSystem進行分發 不可缺
水準熱鍵
垂直熱鍵
送出按鈕熱鍵名
取消按鈕熱鍵名
每秒允許輸入數量
每秒輸入操作重複率生效前的延遲時間
是否屬于強制子產品處于激活狀态
6.RectTransform矩形變換
繼承于Transfrom 處理ui元素位置大小相關的元件
一般處理步驟:錨點快捷鍵-> pivot-> pos
pivot:軸(中心)點 取值範圍0~1
Anchors(相對父矩錨點)
min是矩形錨點範圍x和y的最小值
max是矩形錨點範圍x和y的最大值
取值範圍0~1
pos(x,y,z)軸心點相對錨點的位置
width/height:矩形的寬高
left/top/right/bottom:矩形邊緣相對錨點的位置(錨點分離模式)
rotation:圍繞軸心點旋轉角度
scale:縮放大小
九宮格布局