第1步:制作平面并將其放置在相機(jī)前
打開(kāi)Unity并將場(chǎng)景另存為MainMenu。
在“層次結(jié)構(gòu)”面板中單擊“創(chuàng)建-平面”。將其重命名為“背景”。
將主攝像機(jī)向下旋轉(zhuǎn)90度,并將其投影從“透視”更改為“正交”。
調(diào)整攝像機(jī)的變換,使其位于菜單上方8-10個(gè)單位,向下看。
縮放平面背景以完全適合相機(jī)預(yù)覽。
完成后,它的外觀應(yīng)類似于上圖。
步驟2:點(diǎn)亮
添加燈光。為此,請(qǐng)?jiān)凇皩哟谓Y(jié)構(gòu)”面板中選擇“創(chuàng)建”,然后單擊“定向光”。
定向光在3D空間中的什么位置都無(wú)關(guān)緊要。因此,無(wú)論如何,它都會(huì)提供相同的照明。
因此,在調(diào)整了照明的方向以照到背景上之后,請(qǐng)沿Y方向?qū)⒄彰鳠籼岣?0個(gè)單位左右,以保持視野清晰在場(chǎng)景視圖中。
我將燈光調(diào)整為具有(0,20,0)位置和(60,0,-20)旋轉(zhuǎn)的變換。
我也進(jìn)行了更改再次將其強(qiáng)度設(shè)為0.4。
再次查看該步驟完成后的圖像。
第3步:添加紋理
我們的背景目前看起來(lái)很普通,但是我們可以輕松地對(duì)其進(jìn)行調(diào)味。只需拿一臺(tái)數(shù)碼相機(jī)/智能手機(jī),然后為方便,有趣的東西(例如地板,天花板,墻壁等)拍照,然后將其上傳到您的計(jì)算機(jī)即可。
為正在處理的Unity項(xiàng)目在Assets文件夾中創(chuàng)建一個(gè)名為Textures的新文件夾。右鍵單擊Unity中“項(xiàng)目”面板中的文件夾,然后選擇“在資源管理器中顯示”。將您拍攝的圖片復(fù)制并粘貼到Textures文件夾中。
在“層次結(jié)構(gòu)”中選擇“背景”后,單擊圖片并將其從“項(xiàng)目”面板的“ Textures”文件夾中拖動(dòng)到“檢查器”面板中,在此處將其添加為背景的新紋理。參見(jiàn)圖像。
步驟4:添加文本
使用頂部的“游戲?qū)ο蟆毕吕ぞ邫趧?chuàng)建一個(gè)空的游戲?qū)ο骍nity窗口的重命名為“文本”。重置其變換。
在“層次結(jié)構(gòu)”面板中單擊“創(chuàng)建-3D文本”。重置其變換。
重命名3D文本對(duì)象,然后輸入要在“檢查器”的“文本網(wǎng)格”組件中顯示的文本。
將其圍繞X或Z旋轉(zhuǎn)90度軸,以便在攝影機(jī)視圖中正確顯示。
將3D文本對(duì)象拖到“層次結(jié)構(gòu)”中的空Text游戲?qū)ο笾小?/p>
根據(jù)需要復(fù)制3D文本。
步驟5:轉(zhuǎn)到獲取一些字體(您已經(jīng)擁有的字體)
您已經(jīng)有很多字體。您可以通過(guò)打開(kāi)資源管理器并轉(zhuǎn)到OS/Windows/Fonts下的名為Fonts的文件夾來(lái)訪問(wèn)它們(在Windows上)。
在Unity項(xiàng)目面板中,在Assets中創(chuàng)建一個(gè)新文件夾并調(diào)用
。
將Unity項(xiàng)目所需的字體從計(jì)算機(jī)的fonts文件夾復(fù)制并粘貼到您在Projects資產(chǎn)文件夾中創(chuàng)建的新Fonts文件夾。
注意:這很可能會(huì)為每種字體復(fù)制幾個(gè)不同的文件,其中一個(gè)用于常規(guī),粗體,斜體等。
選擇3D文本您要在“層次結(jié)構(gòu)”面板中更改其字體,然后將所需的字體從項(xiàng)目面板的fonts文件夾中拖到Inspector的Text Mesh組件中標(biāo)有“ font”的框中。
您可以更改3D文本的“文本網(wǎng)格”組件中的字體顏色,大小和其他屬性。如果您在“層次結(jié)構(gòu)”中選擇了要編輯的3D文本,它將顯示在“檢查器”面板中。
文本很可能看起來(lái)有點(diǎn)模糊。您可以通過(guò)顯著增大字體大小來(lái)進(jìn)行清理,盡管這會(huì)打亂相機(jī)的視圖,因此您必須重新調(diào)整相機(jī)和背景平面的大小。
步驟6:將鼠標(biāo)懸停在其上時(shí),使文本更改顏色
在項(xiàng)目面板中創(chuàng)建一個(gè)名為Scripts的新文件夾。
創(chuàng)建一個(gè)新文件夾CSharp腳本并將其命名為MouseHover。
在MonoDevelop中打開(kāi)該腳本。
此腳本中包含三個(gè)功能。第一個(gè)告訴文本為原始顏色。第二個(gè)命令指示文本在鼠標(biāo)觸摸時(shí)更改顏色,第三個(gè)命令指示文本在鼠標(biāo)不再懸停在其上之后返回其原始顏色。
void Start(){
renderer.material.color = Color.black;
}
void OnMouseEnter(){
renderer.material.color = Color.red;
}
void OnMouseExit() {
renderer.material.color = Color.black;
}
通過(guò)將腳本從項(xiàng)目面板拖到層次結(jié)構(gòu)中的3D文本對(duì)象的名稱中,將腳本添加到每個(gè)文本中。
為了使腳本起作用,我們需要在每個(gè)文本中添加對(duì)撞機(jī)3D文本,以便代碼知道鼠標(biāo)是否在觸摸它們。
要添加對(duì)撞機(jī),請(qǐng)?jiān)凇皩哟谓Y(jié)構(gòu)”中選擇一段3D文本,轉(zhuǎn)到“檢查器”面板,然后選擇“添加組件-物理-撞機(jī)箱。在每個(gè)文本中添加對(duì)撞機(jī)框,然后選中“正在觸發(fā)”框。
通過(guò)單擊屏幕頂部中間的播放按鈕并懸停鼠標(biāo)來(lái)測(cè)試按鈕是否更改顏色。
步驟7:編寫(xiě)腳本來(lái)控制按鈕
創(chuàng)建一個(gè)新腳本并將其命名為MainMenu。將其歸檔在Scripts文件夾中,然后在MonoDevelop中將其打開(kāi)。
聲明布爾(真/假)變量,您希望菜單上的每個(gè)按鈕都有一個(gè)。我有兩個(gè)按鈕,所以我寫(xiě)了:
public bool isStart;
public bool isQuit;
然后,寫(xiě)一個(gè)叫做OnMouseUp()的函數(shù)。釋放鼠標(biāo)按鈕時(shí)將激活此功能,這是一種比OnMouseDown()更好的激活按鈕的方法,因?yàn)樗梢苑乐乖诎醋∈髽?biāo)按鈕的同時(shí)重復(fù)執(zhí)行該功能。
void OnMouseUp(){
if(isStart)
{
Application.LoadLevel(1);
}
if (isQuit)
{
Application.Quit();
}
}
Application.LoadLevel(1)加載游戲的場(chǎng)景編號(hào)1。 (菜單場(chǎng)景應(yīng)為0級(jí)。您可以在“構(gòu)建設(shè)置”的“文件”下更改哪個(gè)場(chǎng)景。)
Application.Quit()退出游戲,盡管這只會(huì)在游戲?yàn)樽鳛镻C/Mac應(yīng)用程序打開(kāi)。
第8步:讓按鈕做事!
添加每個(gè)按鈕的3D文本對(duì)象的MainMenu腳本。
由于您為按鈕的每個(gè)類別聲明了公共布爾,因此它們應(yīng)顯示在檢查器中的每個(gè)按鈕上。轉(zhuǎn)到檢查器,并為每個(gè)按鈕檢查適當(dāng)?shù)牟紶栕兞???吹缴厦娴膱D像,應(yīng)該是什么樣子。
就這樣,您完成了!您可以在MainMenu腳本中添加其他代碼行,以確保其正常工作。只需告訴它單擊按鈕即可更改按鈕的顏色(與將鼠標(biāo)懸停在按鈕上時(shí),更改為其他顏色)。
void OnMouseUp() {
if (isQuit) {
Application.Quit ();
} if(isStart) {
Application.LoadLevel (1);
renderer.material.color=Color.cyan;
}
}
責(zé)任編輯:wv
-
軟件
+關(guān)注
關(guān)注
69文章
5150瀏覽量
89204 -
Unity
+關(guān)注
關(guān)注
1文章
128瀏覽量
22462
發(fā)布評(píng)論請(qǐng)先 登錄
MediaTek與Unity中國(guó)簽署合作備忘錄
艾為電子芯片產(chǎn)品在游戲手柄中的應(yīng)用方案

如何在Simulink中啟用ADC校準(zhǔn)?
在imx93中,如何在flexio引腳中模擬spi功能?
將應(yīng)用程序工具套件集成到Unity 3D OpenVINO?過(guò)程中遇到\"DLLNotFound異常\"錯(cuò)誤怎么解決?
《DNK210使用指南 -CanMV版 V1.0》第七章 基于CanMV的MicroPython語(yǔ)法開(kāi)發(fā)環(huán)境搭建
如何在反激式拓?fù)?b class='flag-5'>中實(shí)現(xiàn)軟啟動(dòng)

如何在FPGA中實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

評(píng)論