- Unity 4 3D開發(fā)實(shí)戰(zhàn)詳解
- 峰 杜化美 張?jiān)孪?索依娜編著
- 358字
- 2019-01-01 21:14:52
2.1 Unity集成開發(fā)環(huán)境的整體布局
本節(jié)將對(duì) Unity 集成開發(fā)環(huán)境的整體布局做詳細(xì)的介紹與說明,使讀者理解各個(gè)布局的作用與用途,使讀者對(duì)Unity集成開發(fā)環(huán)境有一個(gè)整體化的了解。
2.1.1 Unity集成開發(fā)環(huán)境的整體布局
Unity 集成開發(fā)環(huán)境的默認(rèn)布局分隔為一系列不同的面板和帶有標(biāo)簽的窗口。每個(gè)窗口都顯示了編輯器某一方面的細(xì)節(jié),并允許開發(fā)者在開發(fā)游戲時(shí)使用不同的功能。如果讀者曾經(jīng)使用過一款三維建模程序或是其他的游戲編輯器,會(huì)發(fā)現(xiàn)它們有些相似。
雙擊Unity的快捷方式,進(jìn)入U(xiǎn)nity集成開發(fā)環(huán)境,其整體布局為標(biāo)題欄、菜單欄、工具欄、場(chǎng)景設(shè)計(jì)面板、游戲預(yù)覽面板、游戲組成對(duì)象列表、項(xiàng)目資源列表、屬性查看器、提示欄和控制臺(tái),如圖2-1所示。
說明
讀者可以根據(jù)自己的愛好和實(shí)際需要來創(chuàng)建自己的布局。可以在每個(gè)面板或者窗口的標(biāo)簽處按住鼠標(biāo)左鍵,把面板或者窗口拖到適當(dāng)?shù)奈恢煤笏砷_鼠標(biāo)左鍵。布局完成后可以在Window→Layouts→Save Layout保存自己的布局。如果布局被不小心弄亂了,可以通過Window→Layouts找到自己的布局來恢復(fù)。
2.1.2 標(biāo)題欄
標(biāo)題欄是用于顯示所打開的項(xiàng)目文件的名稱,右側(cè)有所常見的最小化、最大化和關(guān)閉按鈕,單擊不同的按鈕,執(zhí)行不同的操作,如圖2-2所示。

▲圖2-1 Unity集成開發(fā)環(huán)境的整體布局

▲圖2-2 標(biāo)題欄
2.1.3 菜單欄
菜單欄中包含F(xiàn)ile、Edit、Assets、GameObject、Component、Terrain、Window和Help菜單,如圖2-3所示,每個(gè)菜單下還有子菜單,讀者可以根據(jù)需要選擇不同的菜單,實(shí)現(xiàn)所需要的功能。

▲圖2-3 菜單欄
● File(文件)菜單:打開和保存場(chǎng)景、項(xiàng)目,以及創(chuàng)建游戲。
● Edit(編輯)菜單:普通的復(fù)制和粘貼功能,以及選擇及其相應(yīng)的設(shè)置。
● Assets(資源)菜單:與資源創(chuàng)建、導(dǎo)入、導(dǎo)出以及同步相關(guān)的所有功能。
● GameObject(游戲?qū)ο螅┎藛危簞?chuàng)建、顯示游戲?qū)ο笠约盀槠浣⒏缸雨P(guān)系。
● Component(組件)菜單:為游戲?qū)ο髣?chuàng)建新的組件或?qū)傩浴?/p>
● Terrain(地形)菜單:為游戲場(chǎng)景創(chuàng)建并編輯地形。
● Window(窗口)菜單:顯示特定視圖(例如,項(xiàng)目資源列表或游戲組成對(duì)象列表)。
● Help(幫助)菜單:包含到手冊(cè)、社區(qū)論壇以及激活許可證的鏈接。
提示
現(xiàn)在讀者只需要了解每個(gè)菜單中所包含的常見功能,稍后用到時(shí),將會(huì)對(duì)各個(gè)功能給出更為詳細(xì)的介紹。
2.1.4 工具欄
工具欄位于菜單欄的下方,主要有交換工具,變換Gizmo切換,播放控件,分層下拉列表和布局下拉列表,如圖2-4所示。
● Transform(變換)工具:在場(chǎng)景設(shè)計(jì)面板中用來控制和操縱對(duì)象。按照從左到右的次序,它們分別是Hand(移動(dòng))工具、Translate(平移)工具、Rotate(旋轉(zhuǎn))工具和Scale(縮放)工具。

▲圖2-4 工具欄
● Transform Gizmo(變換Gizmo)切換:改變場(chǎng)景設(shè)計(jì)面板中Translate工具的工作方式。
● Play(播放)控件:用來在編輯器內(nèi)開始或者暫停游戲的測(cè)試。
● Layers(分層)下拉列表:控制任何給定時(shí)刻在場(chǎng)景設(shè)計(jì)面板中顯示那些特定的對(duì)象。
● Layout(布局)下拉列表:改變窗口和視圖的布局,并且可以保存所創(chuàng)建的任意自定義布局。
提示
控制工具也是按照功能分類的,它們主要用來輔助讀者在場(chǎng)景設(shè)計(jì)面板和游戲預(yù)覽面板中進(jìn)行編輯和移動(dòng),在后面的章節(jié)將進(jìn)行更為完整的介紹。
2.1.5 場(chǎng)景設(shè)計(jì)面板
場(chǎng)景設(shè)計(jì)面板是編輯器中最重要的面板之一,其是游戲世界或是關(guān)卡的一個(gè)可視化表示,如圖2-5所示。在這里可以對(duì)游戲組成對(duì)象列表中的所有物體進(jìn)行移動(dòng)、操縱和放置,創(chuàng)建供玩家進(jìn)行探險(xiǎn)和交互的物理空間。

▲圖2-5 場(chǎng)景設(shè)計(jì)面板
正如讀者所看到的,在游戲組成對(duì)象列表中列出的對(duì)象都會(huì)在場(chǎng)景設(shè)計(jì)面板中顯示出來。可以在游戲組成對(duì)象列表中單擊對(duì)象的名字來選中游戲?qū)ο螅蚴窃趫?chǎng)景設(shè)計(jì)面板中手動(dòng)單擊它。在場(chǎng)景設(shè)計(jì)面板或是游戲組成對(duì)象列表中單擊不同的對(duì)象,將會(huì)在屬性查看器中顯示該對(duì)象所對(duì)應(yīng)的數(shù)據(jù)。
說明
如果讀者在游戲組成對(duì)象列表中可以看到對(duì)象列表,但是場(chǎng)景設(shè)計(jì)面板看上去空空如也,可能是讀者的場(chǎng)景設(shè)計(jì)面板縮得太小了,以至于無法看到各個(gè)資源。要修正這個(gè)問題,可以在游戲組成對(duì)象列表中選中某個(gè)對(duì)象,移動(dòng)鼠標(biāo)指針并讓它懸停在場(chǎng)景設(shè)計(jì)面板上,隨后按F鍵來放大顯示。
1.?dāng)z像機(jī)導(dǎo)航
學(xué)會(huì)怎樣在場(chǎng)景設(shè)計(jì)面板中迅速移動(dòng),是使用編輯器所需要掌握的最重要的方面之一(如果讀者會(huì)使用Autodesk Maya,很可能會(huì)熟悉這些控制方法)。
可以把場(chǎng)景設(shè)計(jì)面板想象成為一個(gè)虛擬攝像機(jī)的輸出或焦點(diǎn)。為了在場(chǎng)景中進(jìn)行移動(dòng),讀者需要移動(dòng)攝像機(jī)的視野,就好像讀者在看著不同的對(duì)象。
● Tumble(旋轉(zhuǎn),Alt+鼠標(biāo)左鍵):攝像機(jī)會(huì)以任意軸為中心進(jìn)行旋轉(zhuǎn),從而旋轉(zhuǎn)視圖。
● Track(移動(dòng),Alt+鼠標(biāo)中鍵):在場(chǎng)景中把攝像機(jī)向左、向右、向上和向下移動(dòng)。
● Zoom(縮放,Alt+鼠標(biāo)右鍵或是鼠標(biāo)滾輪):在場(chǎng)景中縮小或放大攝像機(jī)視角。
● Flythrough(穿越)模式(鼠標(biāo)右鍵+WASD鍵):攝像機(jī)會(huì)進(jìn)入“第一人稱”模式,使得讀者可以在場(chǎng)景中迅速地移動(dòng)和縮放。
● Center(居中,選擇游戲?qū)ο蟛?F 鍵):攝像機(jī)會(huì)放大并把選中的對(duì)象居中顯示在視野中。鼠標(biāo)光標(biāo)必須位于場(chǎng)景設(shè)計(jì)面板中,而不是在游戲組成對(duì)象列表中的對(duì)象上方。
● Full Screen(全屏)模式(空格鍵):按下空格鍵可以使得當(dāng)前激活的視圖占據(jù)編輯器所有可用的顯示空間。再次按下它可以返回之前的布局。當(dāng)前激活的視圖就是鼠標(biāo)光標(biāo)所懸停的視圖。
● Tumble(Alt+鼠標(biāo)鍵):攝像機(jī)會(huì)以任意軸為中心進(jìn)行旋轉(zhuǎn),從而旋轉(zhuǎn)視圖。
● Track(鼠標(biāo)鍵):在場(chǎng)景中把攝像機(jī)向左、向右、向上和向下移動(dòng)。
● Zoom(Ctrl+鼠標(biāo)鍵):在場(chǎng)景中縮小或放大攝像機(jī)視角。
場(chǎng)景設(shè)計(jì)面板還包含一個(gè)名為 Persp 的特殊工具,如圖 2-6 所示。這一特殊工具可以使讀者迅速地切換觀察場(chǎng)景的角度。

▲圖2-6 切換攝像視角工具
單擊 Persp 上的每個(gè)箭頭都會(huì)改變觀察場(chǎng)景的角度,使其沿著一個(gè)不同的正交或是二維方向變換,例如,上、后、前、右,如圖 2-7 所示。單擊這一 Persp 中的居中立方體圖標(biāo),可以把場(chǎng)景設(shè)計(jì)面板恢復(fù)到默認(rèn)的透視(Perspective)視圖。

▲圖2-7 各個(gè)主要的方向視圖
提示
如果讀者更習(xí)慣于使用與默認(rèn)顏色不同的顏色來表示游戲世界的坐標(biāo)軸,可以依次單擊Edit→Preferences→Colors項(xiàng),然后修改讀者喜歡的任何顏色。
2.高級(jí)視圖操作
場(chǎng)景設(shè)計(jì)面板的控制欄可以改變攝像機(jī)查看場(chǎng)景的方式,如圖2-8所示。其默認(rèn)設(shè)置可以使讀者對(duì)于場(chǎng)景在游戲中渲染后的樣子有一個(gè)很好的認(rèn)識(shí),它還會(huì)顯示一個(gè)網(wǎng)格以幫助讀者定位和移動(dòng)對(duì)象。

▲圖2-8 場(chǎng)景設(shè)計(jì)面板的控制欄
● 第一個(gè)下拉列表(繪制模式)可以控制在游戲場(chǎng)景中對(duì)象是怎樣繪制的。默認(rèn)值為Textured (帶有貼圖的)——即對(duì)象會(huì)使用讀者為其指定的顏色或貼圖進(jìn)行繪制;單擊這個(gè)菜單把繪制模式修改為Wireframe(線框)會(huì)顯示對(duì)象的物理網(wǎng)格,而不帶有任何貼圖。
提示
這些選擇中的任何一個(gè)都不會(huì)改變游戲的顯示方式,它只會(huì)改變你在場(chǎng)景設(shè)計(jì)面板中查看這些對(duì)象的方式。
● Textured Wire(帶有貼圖的線框)會(huì)把對(duì)象的貼圖和它們的線框疊加在一起顯示。Render Modes(渲染模式)下拉列表對(duì)開發(fā)者所開發(fā)游戲場(chǎng)景中的對(duì)象進(jìn)行微調(diào),進(jìn)而優(yōu)化是非常有用的;Lightmap Resolution(光照貼圖分辨率)會(huì)在場(chǎng)景上覆蓋棋盤格來顯示光照貼圖的分辨率。
● 默認(rèn)值(RGB)會(huì)以通常情況下帶有顏色的方式來顯示所有的對(duì)象;Alpha會(huì)使用對(duì)象的Alpha值來顯示場(chǎng)景中的所有對(duì)象,即用灰度圖顯示;Overdraw模式會(huì)顯示場(chǎng)景中有多少時(shí)間是消耗在重復(fù)繪制上;Mipmaps會(huì)試圖顯示對(duì)象所使用的最理想的貼圖大小。
說明
灰度圖:場(chǎng)景中完全不透明的對(duì)象會(huì)用白色渲染,完全透明的對(duì)象會(huì)用黑色渲染,半透明的對(duì)象會(huì)使用不同深度的灰色渲染。
● Scene Lighting(場(chǎng)景光照)按鈕可以在場(chǎng)景設(shè)計(jì)面板是使用默認(rèn)的內(nèi)置光照還是使用讀者自己實(shí)現(xiàn)的光照之間來回切換。如果讀者沒有在場(chǎng)景中放入任何光源,使用內(nèi)置光照設(shè)置會(huì)比較有用。
● 最后一個(gè)切換按鈕 Scene Overlay(場(chǎng)景疊加)可以對(duì)攝像機(jī)進(jìn)行更新,使得場(chǎng)景的顯示方式就像在游戲中一樣——網(wǎng)格隱藏了,其他的效果(如霧化效果、GUI 元素以及天空盒)也會(huì)渲染。
3.操作對(duì)象
除了把攝像機(jī)視角四處移動(dòng)以外,還需要在場(chǎng)景中重新定位和移動(dòng)對(duì)象。這些操作稱為對(duì)象變換(object transform),它們可以處理任意選中對(duì)象的位置、旋轉(zhuǎn)和大小(相對(duì)尺寸)。
對(duì)象變換方式有以下兩種方式:可以在屬性查看器中為這些變換輸入新的值,也可以通過變換工具手動(dòng)地移動(dòng)和操作這些對(duì)象。
● 在游戲組成對(duì)象列表或者場(chǎng)景設(shè)計(jì)面板中單擊Camera對(duì)象,以使其信息顯示在屬性查看器中,如圖2-9所示。每個(gè)對(duì)象列出的第一個(gè)屬性就是變換,它保存了該對(duì)象當(dāng)前的位置、旋轉(zhuǎn)和縮放。單擊這些輸入框中的任意一個(gè)進(jìn)行輸入,以修改里面的數(shù)字。Unity的基本單位是米。

▲圖2-9 屬性查看器
提示
也可以通過Transform工具來對(duì)對(duì)象進(jìn)行變換。讀者可以手動(dòng)地在工具欄中選擇一個(gè)工具,也可以使用下一節(jié)介紹的熱鍵在工具之間快速切換(強(qiáng)烈推薦)。
● 圖2-10中所示的Translate工具可以在場(chǎng)景中移動(dòng)選中的對(duì)象的位置,可以沿著3條坐標(biāo)軸中的某一條移動(dòng),也可以在整個(gè)空間自由移動(dòng)。在游戲組成對(duì)象列表中單擊Sphere對(duì)象并且按W鍵來激活移動(dòng)工具。抓住其中的一個(gè)手柄,可以把對(duì)象沿著該坐標(biāo)軸在游戲世界中移動(dòng)。
● 也可以通過單擊該工具的中心(或是這個(gè)對(duì)象自身)在場(chǎng)景中拖動(dòng),以將這個(gè)對(duì)象沿著所有3條坐標(biāo)軸自由地移動(dòng)。然而,這通常不是最好的方法,因?yàn)樽x者不能精細(xì)地控制放置的位置。讀者會(huì)發(fā)現(xiàn),在不同的正交視圖(例如,前視、右視)中切換,對(duì)于精確地放置對(duì)象有很大的幫助。

▲圖2-10 移動(dòng)游戲?qū)ο?/p>
提示
屬性查看器中的值會(huì)根據(jù)讀者的修改而進(jìn)行更新,并實(shí)時(shí)在Scene面板中顯示修改后的效果。
● 圖2-11中所示的Rotate工具可以把對(duì)象按照任何給定的坐標(biāo)軸進(jìn)行旋轉(zhuǎn)。單擊Sphere對(duì)象并按E鍵來激活這一工具。這個(gè)工具的手柄就好像3個(gè)帶有顏色的環(huán)包著一個(gè)球體。拖動(dòng)這些手柄或者直接拖動(dòng)鼠標(biāo)就可以旋轉(zhuǎn)對(duì)象。

▲圖2-11 旋轉(zhuǎn)游戲?qū)ο?/p>
● 這個(gè)工具的手柄就好像3個(gè)帶有顏色的環(huán)包著一個(gè)球體。拖動(dòng)這些手柄或者直接拖動(dòng)鼠標(biāo)光標(biāo)就可以旋轉(zhuǎn)對(duì)象。
注意
這些環(huán)的顏色指明了這個(gè)對(duì)象會(huì)按照哪條軸來旋轉(zhuǎn)。例如,如果拖動(dòng)藍(lán)色的手柄,這個(gè)球體就會(huì)沿著z軸旋轉(zhuǎn)。這一工具還有一個(gè)簡(jiǎn)單的黃色環(huán)圍繞在另外3個(gè)環(huán)的外側(cè)。可以單擊并拖動(dòng)這個(gè)黃色的環(huán)來讓對(duì)象按照所有的3條坐標(biāo)軸進(jìn)行旋轉(zhuǎn)。
● 最后一個(gè)變換工具是Scale工具,可以在鍵盤上按R鍵來激活它,如圖2-12所示,這個(gè)工具和Translate工具的用法很相似——可以拖著一個(gè)手柄,把這個(gè)對(duì)象在這條坐標(biāo)軸上縮放,或者使用中間的黃色方塊來把對(duì)象在所有3條坐標(biāo)軸上一致地縮放。

▲圖2-12 縮放游戲?qū)ο?/p>
說明
使用這個(gè)工具對(duì)網(wǎng)格進(jìn)行縮放是有風(fēng)險(xiǎn)的。這看上去像一個(gè)非常快速的方法,可以用來改變?nèi)魏钨Y源的大小,但是,如果使用太多縮放過的對(duì)象或是把貼圖拉伸到完全不相稱的地步,這可能會(huì)影響游戲的性能。調(diào)整縮放最好的方法就是,確保3D應(yīng)用程序中的網(wǎng)格在最開始時(shí)其大小就是正確的。
2.1.6 游戲預(yù)覽面板
在默認(rèn)的Tall布局下,游戲預(yù)覽面板位于Scene標(biāo)簽旁邊的標(biāo)簽上。在這里,游戲會(huì)按照就像是最后構(gòu)建并發(fā)布時(shí)一樣進(jìn)行渲染。可以在任何時(shí)候使用這個(gè)視圖在編輯器內(nèi)測(cè)試或試玩游戲,而不需要停下來構(gòu)建任何東西,如圖2-13所示。

▲圖2-13 游戲預(yù)覽面板圖
提示
雖然現(xiàn)在看這好像不是很重要,但是當(dāng)讀者開始要調(diào)整或是平衡成千上萬個(gè)小細(xì)節(jié)的時(shí)候,能夠自由地在編輯器和游戲中隨時(shí)切換真是太重要了。
要測(cè)試游戲,可以選擇按下工具欄上的播放控件中的各個(gè)按鈕,實(shí)現(xiàn)相關(guān)的操作,如圖2-14所示。
● 播放控件中第一個(gè)右箭頭的按鈕,即運(yùn)行按鈕,編輯器會(huì)激活游戲預(yù)覽面板,并且讓所有的用戶界面變得略微黑一些,然后開始游戲。
● 中間的按鈕為“暫停”按鈕,即暫停游戲。再次按下“暫停”按鈕可以從暫停的地方開始游戲。
● 最后一個(gè)按鈕是“單幀”(Step)按鈕,其使得開發(fā)者可以在游戲中一幀一幀地移動(dòng)。當(dāng)開發(fā)者需要調(diào)試某個(gè)特定的、有問題的代碼補(bǔ)丁,或是需要看看某些東西在哪里出現(xiàn)錯(cuò)誤時(shí),這非常有用。
游戲預(yù)覽面板和場(chǎng)景設(shè)計(jì)面板一樣,其也具有控制欄,如圖2-15所示。

▲圖2-14 播放控件

▲圖2-15 游戲預(yù)覽面板控制欄
● Aspect(任意顯示比例下拉列表),可以實(shí)時(shí)改變游戲預(yù)覽面板的顯示比例,即使游戲正在運(yùn)行。Free Aspect(任意顯示比例)下拉列表允許游戲預(yù)覽面板填滿當(dāng)前窗口中所有可用的空間,而其他的選項(xiàng)會(huì)模擬最常見的顯示器的分辨率和比例。
注意
當(dāng)需要為不同大小的屏幕制作GUI時(shí),這會(huì)非常方便。
● 單擊Maximize on Play(進(jìn)行游戲時(shí)最大化)切換按鈕,可以在開始運(yùn)行游戲時(shí)把游戲預(yù)覽面板擴(kuò)大到編輯器視圖的整個(gè)區(qū)域。
注意
不能在游戲正在運(yùn)行時(shí)改變這個(gè)切換按鈕的狀態(tài);需要先停止游戲并且重新開始游戲,以更新這個(gè)修改。
● 單擊 Gizmos(工具)按鈕,可以切換游戲中繪制和渲染的所有工具。目前,場(chǎng)景中沒有任何工具,所以現(xiàn)在它并不能做什么。然而,以后讀者可能使用一些定制的工具來表示游戲中一個(gè)特定的區(qū)域,并且讀者可能想要總是精確地看到這個(gè)區(qū)域的邊界在哪里,即使是在游戲進(jìn)行時(shí)。
● 控制欄上的最后一個(gè)按鈕可以顯示Render Statistics(渲染數(shù)據(jù))頁(yè)面。當(dāng)開始優(yōu)化游戲時(shí),這非常有用。現(xiàn)在,只需要知道這是一種快速查看游戲幀速率(Frame Per Second,F(xiàn)PS)的方式,后面的章節(jié)會(huì)更加詳細(xì)介紹它。再次單擊Stats按鈕可以隱藏渲染數(shù)據(jù)頁(yè)面。
說明
幀速率是一個(gè)常見的指標(biāo),它可以告訴用戶游戲運(yùn)行得是否流暢。如果幀速率過低的話,游戲運(yùn)行畫面會(huì)顯得比較卡。
2.1.7 游戲組成對(duì)象列表
項(xiàng)目資源列表列出了游戲中所有可用的對(duì)象和文件,游戲組成對(duì)象列表僅僅列出了那些真正會(huì)在當(dāng)前場(chǎng)景中用到的對(duì)象。場(chǎng)景中的這些對(duì)象是簡(jiǎn)單按照字母順序排列的,隨著讀者在游戲中添加或者刪除對(duì)象,游戲組成對(duì)象列表會(huì)隨著每次修改而進(jìn)行更新。
在游戲組成對(duì)象列表中選擇一個(gè)對(duì)象并按Delete鍵(或是右擊并選擇Delete鍵),可以從游戲的當(dāng)前場(chǎng)景中刪除這個(gè)對(duì)象,圖2-16顯示了當(dāng)前場(chǎng)景設(shè)計(jì)面板中的內(nèi)容。
提示
一個(gè)資源的每個(gè)實(shí)例(一個(gè)副本或者一次出現(xiàn))都會(huì)獨(dú)立地列出來,這使得良好的命名規(guī)范變得尤為重要,命名的規(guī)范也就是達(dá)到見名知意的目的。
在游戲組成對(duì)象列表中為對(duì)象建立父子關(guān)系,可以對(duì)其進(jìn)行組織并使得對(duì)游戲的編輯修改更為簡(jiǎn)單。當(dāng)為對(duì)象建立父子關(guān)系時(shí),基本上就是將一組無關(guān)的對(duì)象收集到一起并建立分組,使它們位于一個(gè)單一的對(duì)象(父對(duì)象)之下。在該父對(duì)象之下的所有其他對(duì)象,都稱為孩子或者子對(duì)象,如圖2-17所示。

▲圖2-16 游戲組成對(duì)象列表

▲圖2-17 游戲組成對(duì)象列表中的父子關(guān)系
說明
在這個(gè)例子中,一個(gè)名為GameObject的資源就是父對(duì)象,有3個(gè)子對(duì)象位于其下:Sphere、Cube和Plane。單擊GameObject旁邊的箭頭可以展開或是收起這一分組,這就好像Project視圖中的文件夾一樣。
建立父子關(guān)系除了會(huì)提供一種快捷方式來把相似的對(duì)象組織在一起以外,還帶來了另一個(gè)重要的好處,即對(duì)父對(duì)象進(jìn)行移動(dòng)或是操作,也會(huì)依次地對(duì)其下所有的子對(duì)象進(jìn)行同樣的操作。
也就是說,子對(duì)象繼承了父對(duì)象的數(shù)據(jù)。然而,仍然可以對(duì)子對(duì)象進(jìn)行獨(dú)立于其他子對(duì)象和父對(duì)象的編輯,這使得你有了更多的控制權(quán)。
如果讀者仍然無法確切地理解父子關(guān)系,可以想象一下一個(gè)普通人的身體。手臂以身體作為父對(duì)象,手以手臂的末端作為父對(duì)象。向前移動(dòng)身體(父對(duì)象)也會(huì)讓手臂隨著它移動(dòng),這也會(huì)依次移動(dòng)手(手臂和手是兩個(gè)子對(duì)象)。然而,也可以對(duì)手進(jìn)行移動(dòng)和旋轉(zhuǎn)而不需要移動(dòng)身體和手臂。
提示
為對(duì)象建立父子關(guān)系,可以使得對(duì)大量的對(duì)象的移動(dòng)變得更為方便和精確,因此,讀者應(yīng)該盡可能地使用這種方法。后續(xù)的章節(jié)將會(huì)介紹建立父子關(guān)系的一些更為高級(jí)的概念。
2.1.8 項(xiàng)目資源列表
項(xiàng)目資源列表中列出了項(xiàng)目中的所有文件(腳本、對(duì)象、場(chǎng)景、任何文件),并且這些文件都組織到一個(gè)Project文件夾中,每個(gè)Project文件夾都會(huì)包含一個(gè)Assets(游戲資源)文件夾。Assets文件夾包含讀者所創(chuàng)建的對(duì)象或是導(dǎo)入的資源,包括網(wǎng)格(mesh)、貼圖、腳本、攝像機(jī)、關(guān)卡等,如圖2-18所示,項(xiàng)目資源列表顯示了這個(gè)Project文件夾及其所包含的Assets文件夾。
項(xiàng)目資源列表顯示了這個(gè)項(xiàng)目所包含的全部資源,并且這些資源在項(xiàng)目中的組織方式與讀者計(jì)算機(jī)硬盤上的組織方式完全一致。文件夾旁邊的箭頭表示這是一個(gè)嵌套層,單擊某個(gè)箭頭會(huì)展開該文件夾的內(nèi)容。在項(xiàng)目資源列表中簡(jiǎn)單地單擊和拖曳,就可以在不同文件夾中移動(dòng)和組織文件。
提示
在Unity編輯器外部移動(dòng)資源文件時(shí)要非常小心,實(shí)際上,應(yīng)該不惜一切代價(jià)避免這樣做。如果需要重新組織或移動(dòng)某個(gè)資源,讀者應(yīng)該在項(xiàng)目資源列表內(nèi)部進(jìn)行。否則的話,可能會(huì)損壞或是刪除和這個(gè)資源相關(guān)聯(lián)的源數(shù)據(jù)或是鏈接,甚至可能在此過程中損壞項(xiàng)目。
也可以在項(xiàng)目資源列表中直接打開文件并對(duì)其進(jìn)行編輯。如果發(fā)現(xiàn)需要對(duì)任何文件的內(nèi)容(如一個(gè)腳本文件)進(jìn)行調(diào)整或是修正,只須雙擊這個(gè)文件就可以在默認(rèn)編輯器中打開它。正常地保存這個(gè)文件,就會(huì)讓Unity把它重新導(dǎo)入到項(xiàng)目里。
如果項(xiàng)目包含了成百上千或是成千上萬個(gè)文件,讀者可能會(huì)發(fā)現(xiàn)通過眼睛自己去找到某個(gè)文件非常不方便,甚至是完全不可能的。好在可以在搜索欄中輸入文件名的任何部分,以便在項(xiàng)目各個(gè)層次的子目錄中進(jìn)行查找。
說明
要重命名一個(gè)文件或者文件夾,可以緩慢地左擊其名字兩次(和通常的快速雙擊不同),或是選擇想要重命名的文件并按F2鍵。當(dāng)完成重命名后,可以按Enter鍵。
在項(xiàng)目資源列表中右擊,會(huì)彈出一些高級(jí)選項(xiàng),包含導(dǎo)入資源和外部項(xiàng)目控制器同步以及資源包操作,如圖2-19所示。后續(xù)章節(jié)會(huì)更深入地介紹這些內(nèi)容。

▲圖2-18項(xiàng)目資源列表

▲圖2-19 項(xiàng)目資源列表中的高級(jí)選項(xiàng)
提示
所有帶標(biāo)簽的窗口都有一個(gè)名為 Windows Options(窗口選項(xiàng))的下拉框,可以用來最大化所選中的視圖,或是關(guān)閉當(dāng)前顯示的標(biāo)簽視圖,或是在這個(gè)窗口中添加另一個(gè)帶標(biāo)簽的視圖。單擊該圖標(biāo)可以彈出可用的選項(xiàng)。
2.1.9 屬性查看器
屬性查看器顯示游戲中每個(gè)對(duì)象所包含的詳細(xì)信息,如圖2-20所示。單擊Plane對(duì)象,其詳細(xì)內(nèi)容會(huì)顯示在屬性查看器中。
在屬性查看器中一般包含很多屬性信息,這乍看上去有點(diǎn)讓人無所適從,但是,每個(gè)對(duì)象對(duì)應(yīng)的所有屬性查看器都遵循一些基本原則。在屬性查看器的頂端是這個(gè)對(duì)象的名稱,然后是該對(duì)象的各個(gè)方面的一個(gè)列表,例如,Transform(變換)和Mesh Collider(網(wǎng)狀碰撞體)。
提示
這些不同種類的屬性中的每一個(gè)都會(huì)在稍后給出更為詳細(xì)的介紹,但是到目前為止,只需要知道在這里可以任意修改對(duì)象所擁有的屬性信息。
屬性查看器中的每個(gè)屬性都有與其對(duì)應(yīng)的幫助按鈕和上下文菜單。單擊幫助按鈕會(huì)顯示參考手冊(cè)中和這個(gè)屬性相關(guān)的文檔,讀者可以挑選這些屬性中的任意一個(gè)嘗試一下。單擊上下文菜單會(huì)顯示僅僅與該屬性相關(guān)的選項(xiàng),也可以在此把這個(gè)屬性重置為其他默認(rèn)值。

▲圖2-20 屬性查看器
2.1.10 狀態(tài)欄與控制臺(tái)
控制臺(tái)和狀態(tài)欄是Unity集成開發(fā)環(huán)境中兩個(gè)很有用的調(diào)試工具,如圖2-21所示。狀態(tài)欄總是出現(xiàn)在編輯器的底部。可以通過菜單Window→Console或按Ctrl+Shit+C快捷鍵打開控制臺(tái),也可以單擊狀態(tài)欄來打開控制臺(tái)。

▲圖2-21 工作中的控制臺(tái)和狀態(tài)欄
當(dāng)按下“播放”按鈕開始測(cè)試項(xiàng)目或是導(dǎo)出運(yùn)行項(xiàng)目,在狀態(tài)欄與控制臺(tái)都會(huì)顯示出相關(guān)的提示信息,也可以在腳本中讓項(xiàng)目向控制臺(tái)和狀態(tài)欄輸出一些信息,這有助于調(diào)試和修復(fù)錯(cuò)誤。項(xiàng)目遇到的任何錯(cuò)誤、消息或者警告,以及和這個(gè)特定錯(cuò)誤相關(guān)的任何細(xì)節(jié),都會(huì)顯示在這里。
2.1.11 動(dòng)畫視圖
現(xiàn)在 Unity 還包含一個(gè)動(dòng)畫視圖,讀者可以在這里查看或是調(diào)整動(dòng)畫曲線。這個(gè)窗口在默認(rèn)情況下并不打開,但是,可以通過Window→Animation或是按Ctrl+6快捷鍵來查看它,如圖2-22所示。動(dòng)畫視圖會(huì)作為一個(gè)單獨(dú)的浮動(dòng)窗口彈出,讀者可以四處移動(dòng)它或是改變其大小。現(xiàn)在,這個(gè)窗口是空的,因?yàn)閳?chǎng)景中沒有包含任何動(dòng)畫。

▲圖2-22 動(dòng)畫視圖
提示
在稍后的章節(jié)中,讀者會(huì)看到如何使用這個(gè)視圖來查看動(dòng)畫剪輯或者在3D動(dòng)畫應(yīng)用程序之外更新數(shù)據(jù)。
- SpringBoot揭秘:快速構(gòu)建微服務(wù)體系
- Spring開發(fā)者的Quarkus實(shí)戰(zhàn)
- 軟件需求分析實(shí)戰(zhàn)
- SQL Server應(yīng)用與開發(fā)范例寶典
- 學(xué)校沒教的軟件工程課
- 每天5分鐘玩轉(zhuǎn)OpenStack
- BERT基礎(chǔ)教程:Transformer大模型實(shí)戰(zhàn)
- 移動(dòng)終端應(yīng)用軟件開發(fā)實(shí)戰(zhàn)
- HTML5游戲編程核心技術(shù)與實(shí)戰(zhàn)
- 統(tǒng)信UOS應(yīng)用開發(fā)詳解
- 36個(gè)創(chuàng)意電子小制作:安全衛(wèi)士
- Spring Cloud微服務(wù)快速上手
- 分布式高可用算法
- 中臺(tái)產(chǎn)品經(jīng)理寶典:從業(yè)務(wù)建模到中臺(tái)設(shè)計(jì)全攻略
- 數(shù)據(jù)分析之道: 用數(shù)據(jù)思維指導(dǎo)業(yè)務(wù)實(shí)戰(zhàn)