一.畫布Canvas對象概述
?
畫布是一種帶有畫布組件的游戲?qū)ο螅?UI 元素都必須是此類畫布的子項(xiàng)。
創(chuàng)建新的 UI 元素(如使用菜單?GameObject > UI > Image?創(chuàng)建圖像)時(shí),如果場景中還沒有畫布,則會(huì)自動(dòng)創(chuàng)建畫布。UI 元素將創(chuàng)建為此畫布的子項(xiàng)。
畫布區(qū)域在 Scene 視圖中顯示為矩形。這樣可以輕松定位 UI 元素,而無需始終顯示 Game 視圖。
畫布中的 UI 元素按照它們在 Hierarchy 中顯示的順序進(jìn)行深度優(yōu)先繪制。
二. CanVas組件
Canvas組件的作用是控制畫布對象的渲染方式,展開RenderMode下拉框,有三個(gè)選項(xiàng):
A. Screen Space - OverLay模式
設(shè)置此模式后,畫布將出現(xiàn)在屏幕最前方。通常2D游戲會(huì)采用這種渲染方式。
沿Z軸拖動(dòng)攝像機(jī),畫布位置始終不變,且畫布不可移動(dòng)。在場景中畫布到攝像機(jī)之間有個(gè)cube,game視圖中畫布擋住了cube。
B. Screen Space - Camera模式
設(shè)置此模式后,畫布將出現(xiàn)在攝像頭前方固定距離處。
沿Z軸拖動(dòng)攝像機(jī),畫布位置隨攝像機(jī)移動(dòng),且畫布不可直接移動(dòng),game視圖中cube可以擋住了畫布。實(shí)際游戲開發(fā)中通常會(huì)采用這種方式。(在UI上顯示3D模型)
C.? World Space模式
設(shè)置此模式后,畫布將可以進(jìn)行變換,此模式對于要成為世界一部分的 UI 非常有用,主要用于VR。
三. Canvas Scaler組件
畫布縮放器組件用于控制畫布中 UI 元素的整體縮放和像素密度。此縮放會(huì)影響畫布下的所有內(nèi)容,包括字體大小和圖像邊框。有三種縮放模式可供選擇
對于設(shè)置為“Screen Space - Overlay”或“Screen Space - Camera”的畫布,畫布縮放器 UI Scale Mode 可以設(shè)置為 Constant Pixel Size、Scale With Screen Size 或 Constant Physical Size。
3.1 Constant Pixel Size(恒定像素模式)
模式定義:無論屏幕大小如何,UI始終保持相同像素大小
ScaleFactor:縮放系數(shù),按此系數(shù)縮放UI中的所有元素
Reference Pixels Per Unit:如果精靈具有此“Pixels Per Unit”設(shè)置,則精靈中的每個(gè)像素將覆蓋 UI 中的一個(gè)單位。
UI原始尺寸 = 圖片大小(像素) / (Pixels Per Unit / Reference Pixel Per Unit)
驗(yàn)證:將128x128的圖的Pixels Per Unit設(shè)為60,Canvas中設(shè)置成恒定像素模式后,Reference Pixel Per Unit設(shè)為30,用128X128的圖創(chuàng)建一個(gè)image,點(diǎn)擊set Native Size后,image尺寸為64x64。
缺點(diǎn):當(dāng)處于恒定像素模式時(shí),改變屏幕的大小,其中的圖片是固定大小不變的。它不會(huì)讓UI控件進(jìn)行分辨率大小自適應(yīng),會(huì)讓UI控件始終保持設(shè)置的尺寸大小顯示。一般極少使用這種模式,除非通過代碼計(jì)算來設(shè)置縮放系數(shù)。
3.2 Scale With Screen Size(縮放模式)
這種縮放模式下的UI位置是根據(jù)屏幕的分辨率和設(shè)置的寬高比來調(diào)整UI的位置的,通常做屏幕UI自適應(yīng)的時(shí)候都需要調(diào)整到這個(gè)縮放模式下。
Reference Resolution:UI 布局設(shè)計(jì)的目標(biāo)分辨率。如果屏幕分辨率較大,則 UI 會(huì)放大,如果較小,則 UI 會(huì)縮小
Screen Match Mode:設(shè)置當(dāng)屏幕分辨率(游戲視圖)與參照分辨率的寬高比不同時(shí),畫布如何縮放
Expand:水平或垂直拓展畫布區(qū)域,可能有黑邊
Shrink:水平或垂直拓展畫布區(qū)域,可能會(huì)裁剪
Match Width Or Height:根據(jù)match設(shè)定的值,使用寬和高的混合值來縮放,實(shí)測match為0時(shí)效果等同于Expand,match為1時(shí)效果等同于Shrink
3.3 Constant Physical Size(恒定物理尺寸)
使用 Constant Physical Size 模式時(shí),可按物理單位(如毫米、點(diǎn)或派卡)指定 UI 元素的位置和大小。此模式要求設(shè)備正確報(bào)告其屏幕 DPI。對于不報(bào)告 DPI 的設(shè)備,可以指定回退 DPI。
恒定像素 與 恒定物理區(qū)別
相同點(diǎn):UI不縮放 不自適應(yīng)
不同點(diǎn):相同尺寸 不同DPI設(shè)備下
同樣的長度下 DPI大的像素多 每個(gè)像素的長度就小
DPI小的像素少 每個(gè)像素的長度就大
恒定像素 切換到不同DPI環(huán)境下 圖片的像素不變化 但顯示的尺寸變化
恒定物理 切換到不同DPI環(huán)境下 圖片的像素和尺寸不變化
3.4 World Space
對于設(shè)置為“World Space”的畫布,可以使用畫布縮放器來控制畫布中 UI 元素的像素密度。
四.Graphic Raycaster組件
簡單說這個(gè)組件用于控制畫布中的事件。若移除這個(gè)組件后,畫布內(nèi)的按鈕將不可點(diǎn)擊。
文章來源:http://www.zghlxwxcb.cn/news/detail-649295.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-649295.html
到了這里,關(guān)于UGUI基礎(chǔ)游戲?qū)ο驝anvas的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!