Unity UI -- (7) 創(chuàng)建世界空間UI
?? ? ? ? 目前為止,我們已經(jīng)設(shè)計(jì)了一個(gè)屏幕空間UI(Screen Space UI)。一個(gè)屏幕空間UI會(huì)在屏幕上平坦放置,它會(huì)被渲染到環(huán)境中所有東西的上面,無(wú)論相機(jī)位置在哪里。



為何使用世界空間UI?
? ? ? ? 世界空間UI在我們想要將UI集成進(jìn)3D世界中去時(shí)非常有用,比如游戲里的虛擬控制面板UI。


設(shè)置世界空間UI的Canvas
? ? ? ? 我們首先復(fù)制一份之前的場(chǎng)景,在前面小節(jié)完成的基礎(chǔ)上對(duì)其進(jìn)行改動(dòng)。
? ? ? ? 1. 在工程窗口中,找到并選擇當(dāng)前場(chǎng)景,按Ctrl + D復(fù)制,將其重命名為“UI_WorldSpace”。然后打開(kāi)這個(gè)場(chǎng)景。
? ? ? ? 2. 在Hierarchy中選中Canvas,在其Inspector中將Canvas Render Mode修改為World Space,并且將Main Camera賦值給Event Camera屬性。

? ? ? ? 我們會(huì)發(fā)現(xiàn)UI突然消失了,這是因?yàn)閁I界面大小過(guò)大,超出了可視范圍。



????????Screen Space - Overlay: 之前我們所使用的模式,將UI覆蓋到屏幕最上面,無(wú)論后面有什么東西。
? ? ? ? Screen Space - Camera:相機(jī)將UI放置到距離相機(jī)一定距離的位置,在相機(jī)發(fā)生變化時(shí)UI也會(huì)有變化。
? ? ? ? 關(guān)于這幾種渲染模式的細(xì)節(jié)差異描述,可以參考Unity官方文檔:
設(shè)計(jì)你的世界空間UI
? ? ? ? 接下來(lái)請(qǐng)自由發(fā)揮設(shè)計(jì)出你自己的世界空間UI。在世界空間模式中,Canvas或單獨(dú)的UI元素都可以進(jìn)行平移、旋轉(zhuǎn)和縮放,就和場(chǎng)景中其它3D物體一樣。



