Unity3D入門教程中文版.doc_第1頁(yè)
Unity3D入門教程中文版.doc_第2頁(yè)
Unity3D入門教程中文版.doc_第3頁(yè)
Unity3D入門教程中文版.doc_第4頁(yè)
Unity3D入門教程中文版.doc_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Unity3D基本操作、用Unity3D創(chuàng)建簡(jiǎn)單漫游1基本設(shè)置1修改視角控制鍵為右鍵9如何取消瀏覽窗口上的右鍵菜單10植物效果設(shè)置10水面效果的設(shè)置15烘培光影貼圖的處理16如何制作連續(xù)加載的場(chǎng)景漫游29用Unity3D 創(chuàng)建簡(jiǎn)單漫游1. 建模中使用的圖片、文件、文件夾等以及模型中物體、材質(zhì)等的名稱都不能使用中文或者特殊符號(hào),可以使用英文字母、數(shù)字、下劃線等。2. 調(diào)整Max的單位為米 。3. 烘培光影的設(shè)置。4. 模型的中的植物效果,第一種是單面片植物,需要設(shè)置其軸心為其物體的對(duì)稱中心;第二種是十字交叉的植物效果;第三種則是到Unity3D編輯器中通過地形編輯器系統(tǒng)添加?;驹O(shè)置5. Fbx導(dǎo)出插件下載地址:/adsk/servlet/item?siteID=123112&id=107758556. 將Max文件中用到的圖片都拷貝到Textures目錄下,如7. 再打開Max文件,導(dǎo)出為FBX文件,使用默認(rèn)設(shè)置,F(xiàn)BX文件也放置在和Max文件相同的目錄下,如導(dǎo)出的時(shí)候,可以將模型簡(jiǎn)單的分類,如地面、植被、樓房等,也可以將模型分為幾個(gè)區(qū)域,如小區(qū)1,小區(qū)2,學(xué)校等等分開導(dǎo)出8. 將包含Max文件、Fbx文件和Textures文件夾的文件夾拷貝到Unity3D項(xiàng)目的Assets目錄下,如下圖中紅圈在下一次用Unity3D編輯器開啟本項(xiàng)目的時(shí)候,編輯器將自動(dòng)導(dǎo)入/更新該文件夾中的信息,并生成Materials文件夾,如9. 啟動(dòng)Unity3D編輯器10. 選擇剛才拷貝進(jìn)來的文件中的Fbx文件,如修改其中的Meshes下的Scale Factor和Generate Colliders,如點(diǎn)擊其他Fbx文件或者單擊其他區(qū)域?qū)棾鋈缦碌膶?duì)話框點(diǎn)擊Apply即可,類似的方式設(shè)置其他Fbx文件注意,其中植物/植被類的Fbx文件不需要設(shè)置Generate Colliders項(xiàng)11. 將Fbx文件直接拖放到Hierarchy區(qū)域,如12. 點(diǎn)擊Hierarchy區(qū)域中的對(duì)象,同時(shí)將鼠標(biāo)移動(dòng)三維顯示區(qū)域,同時(shí)點(diǎn)擊鍵f,則該對(duì)象自動(dòng)適配顯示到三維區(qū)域中心,如13. 將全部fbx添加完成后,提高場(chǎng)景亮度如下單擊Ambient Light,如下調(diào)整為即可設(shè)置完成14. 設(shè)置第一人稱瀏覽刪除場(chǎng)景中Main Camera將Project區(qū)域的Standard Assets下的Prefabs下的First Person Controller拖到Hierarchy區(qū)域中點(diǎn)選First Person Controller,調(diào)整First Person Controller的位置到場(chǎng)景中合適的位置,并設(shè)置其高度為1.37到2.1左右設(shè)置First Person Controller的高度在場(chǎng)景中地面之上15. 點(diǎn)擊運(yùn)行,即可測(cè)試修改視角控制鍵為右鍵16. 打開Project區(qū)域中的StandardAssets下的CameraScripts下的MouseLook腳本,在在Quaternion originalRotation;void Update ()if (axes = RotationAxes.MouseXAndY)/ Read the mouse input axis中添加一行代碼修改為Quaternion originalRotation;void Update ()if(Input.GetAxis (Fire2)=0) return;if (axes = RotationAxes.MouseXAndY)/ Read the mouse input axis如何取消瀏覽窗口上的右鍵菜單只要設(shè)置Unity對(duì)象的參數(shù)即可禁止右鍵菜單的顯示,如下: 植物效果設(shè)置17. 對(duì)于單面片的植物效果,需要設(shè)定其材質(zhì)為Transparent/VertexLit類型,并為其添加公告板腳本設(shè)定前設(shè)置材質(zhì)類型為Transparent/VertexLit類型,如下給單面片植物添加公告板腳本的方法是先選擇該植物,然后點(diǎn)擊菜單component下的scripts下的camera Facing Billboard即可,如下設(shè)置材質(zhì)類型和添加公告板腳本后,如下如果沒有該腳本組件,可以打開腳本編輯器,拷貝如下代碼到腳本中,保存到AssetsScripts下,命名為CameraFacingBillboard.cs即可using UnityEngine; using System.Collections; public class CameraFacingBillboard : MonoBehaviour public Camera cameraToLookAt; void Start() cameraToLookAt = Camera.main; void Update() Vector3 v = cameraToLookAt.transform.position - transform.position; v.x = v.z = 0.0f; transform.LookAt(cameraToLookAt.transform.position - v); 18. 對(duì)于十字交叉的植物,需要將其材質(zhì)設(shè)定為Nature/Vegetation Two Pass unlit類型設(shè)置前的效果設(shè)置后的效果水面效果的設(shè)置19. 創(chuàng)建一個(gè)網(wǎng)格面片20. 給該水面面片設(shè)置水材質(zhì)和水腳本,如即可烘培光影貼圖的處理21. Unity3D光影烘培的要求U3D的光影貼圖使用的是3Dmax中的標(biāo)準(zhǔn)材質(zhì)的自發(fā)光貼圖通道來存儲(chǔ)光影貼圖相關(guān)參數(shù),如22. 給每個(gè)物體都附上貼圖,如果是純色物體,也付給純色貼圖23. 打光后,選擇要烘培的物體設(shè)置輸出路徑添加烘培輸出的貼圖類型24.一、Unity基礎(chǔ)本部分是你開始 Unity的關(guān)鍵。這里將解釋 Unity的界面,菜單項(xiàng),使用資源,創(chuàng)建場(chǎng)景,和發(fā)布。當(dāng)你完全閱讀了該部分后,你將能夠理解 Unity是如何工作的,以及如何使其更加有效的工作,和如何將簡(jiǎn)單的游戲放置在一起。 1. 界面(Learning the interface) 現(xiàn)在我們開始學(xué)習(xí)Unity,如果你還沒有打開 Unity,你可以通過雙擊位于 Application-Unity文件夾中的 Unity圖標(biāo)來運(yùn)行它,當(dāng)它第一次運(yùn)行時(shí)你將看到如下的場(chǎng)景: Unity運(yùn)行時(shí)的缺省場(chǎng)景,如果你打開過任何實(shí)例,你的屏幕會(huì)與上圖不同有很多需要學(xué)習(xí)的東西,讓我們花費(fèi)點(diǎn)時(shí)間來觀察理解上述界面。我們將介紹每一個(gè)接口元素。概要主窗口的每一個(gè)部分都被稱為視圖(View)。在 Unity中有多種類型的視圖,但是,你不需要同時(shí)看見所有的視圖。不同的布局模式 (Layout modes) 包含的視圖是不同的。 通過單擊布局下拉控件來選擇不同的布局, 該控件位于窗口的右上角。布局模式選擇下拉列表現(xiàn)在,單擊布局選擇,并單擊 Animation,切換到動(dòng)畫布局 (Animation layout)。還可以從菜單中選擇 Window-Layouts-Animation來切換。動(dòng)畫布局包含所有的視圖,這是昀好的用來介紹它們的方法。通過視圖左上角的名稱你可以迅速的分辨這些視圖。這些視圖是:場(chǎng)景視圖(Scene View)-用于放置物體游戲視圖(Game View)-表示游戲在運(yùn)行時(shí)的外觀層次視圖(Hierarchy)-當(dāng)前場(chǎng)景中的游戲物體的列表工程視圖(Project)-顯示當(dāng)前打開工程中所有可用的物體和資源檢視視圖(Instpector)-顯示當(dāng)前選中物體的細(xì)節(jié)和屬性時(shí)間線(Timeline)-用于為當(dāng)前選中物體創(chuàng)建基本的時(shí)間線動(dòng)畫場(chǎng)景視圖(Scene View) 場(chǎng)景視圖場(chǎng)景視圖(Scene View)是一個(gè)可交互的沙盤。你將使用它來選擇并在場(chǎng)景中定位所有的游戲物體(GameObjects),包括玩家,攝像機(jī),敵人等。在場(chǎng)景視圖中操縱并修改物體是 Unity非常重要的功能。這是昀好的通過設(shè)計(jì)者而不是玩家的角度來查看場(chǎng)景的方法。在場(chǎng)景視圖中你可以隨意移動(dòng)并操縱物體,但是你應(yīng)該知道一些基本的命令以便有效的使用場(chǎng)景視圖。第一個(gè)你應(yīng)該知道命令是Frame Selected命令。 這個(gè)命令將居中顯示你當(dāng)前選中的物體。 你可以在層次視圖(Hierarchy)單擊任何物體,然后移動(dòng)你的鼠標(biāo)到場(chǎng)景視圖上并按F鍵。 場(chǎng)景視圖將移動(dòng)以居中顯示當(dāng)前選擇的物體。這個(gè)命令是非常有用的,你將在場(chǎng)景編輯的時(shí)候經(jīng)常使用它。在場(chǎng)景視圖中操作在場(chǎng)景視圖的上方有一個(gè)包含布局模式選擇的工具欄工具欄盡管現(xiàn)在的工具欄沒有附著在場(chǎng)景視圖窗口上,但是位于左側(cè)的四個(gè)按鈕可用來在場(chǎng)景視圖中導(dǎo)航并操縱物體,中間的兩個(gè)用來控制選中的物體軸心如何顯示。左邊的第一個(gè) View Tool將在以后說明。后面的工具為操縱工具 (Manipulation Tools),中間的兩個(gè)為手柄位置工具 (Handle Position Tool) 選中任何操縱工具可允許你交互時(shí)的移動(dòng),旋轉(zhuǎn)或縮放物體。當(dāng)你已經(jīng)選擇了一個(gè)工具時(shí)你可以在場(chǎng)景視圖中單擊任何一個(gè)物體選中它,現(xiàn)在按下 F鍵使得該物體居中顯示。如下不同的操縱工具平移工具熱鍵 W 旋轉(zhuǎn)工具熱鍵 E 縮放工具熱鍵 R 當(dāng)選中一個(gè)物體時(shí)你將看到 Gizmo坐標(biāo),每個(gè)工具有不同的 Gizmo坐標(biāo)形式平移旋轉(zhuǎn)縮放點(diǎn)擊并拖動(dòng)當(dāng)前 Gizmo坐標(biāo)的任何一個(gè)坐標(biāo)軸以便平移,旋轉(zhuǎn)或縮放當(dāng)前選中物體的變換 (Transform)組件。你也可以通過單擊并拖動(dòng) Gizmo坐標(biāo)的中心來在多個(gè)軸上操縱物體。如果你有一個(gè)三鍵的鼠標(biāo),你可以通過單擊中鍵來調(diào)整昀后調(diào)整的軸而不用直接點(diǎn)擊它。參考變換組件(Transform Component)部分獲取更多內(nèi)容。手柄位置工具 (HandlePositionTool) 用來控制物體或一組選中的物體的軸心如何和在哪里顯示。手柄位置工具選擇中心(Center)意味著使用當(dāng)前所選所有物體的共同軸心,選擇軸心 (Pivot)意味著將使用各個(gè)物體的實(shí)際軸心手柄位置設(shè)置為中心,使用物體的共同軸心手柄位置設(shè)置為軸心,使用實(shí)際的物體軸心在場(chǎng)景視圖中導(dǎo)航根據(jù)使用的鼠標(biāo)的不同,有很多不同的方式可以在場(chǎng)景視圖中導(dǎo)航。使用三鍵鼠標(biāo)按住 Option按鈕并拖動(dòng)鼠標(biāo)左鍵可以使用旋轉(zhuǎn)模式 (Orbit mode)按住 Option按鈕并拖動(dòng)鼠標(biāo)中鍵可以使用拖動(dòng)模式 (Drag mode)按住 Option按鈕并拖動(dòng)鼠標(biāo)右鍵可以使用縮放模式 (Zoom mode)。也可以使用滾輪來縮放(略)視圖工具模式視圖工具的拖動(dòng)模式快捷鍵 Q 在拖動(dòng)模式(Drag Mode)下,在場(chǎng)景視圖中單擊并拖動(dòng)鼠標(biāo)來上下左右移動(dòng)視圖。 旋轉(zhuǎn)(Orbit)和縮放(Zoom Modes) 模式也是昀常用的視圖工具。 保持視圖工具選中并按住Option鍵即可進(jìn)入旋轉(zhuǎn)模式。單擊并拖動(dòng)鼠標(biāo),可以看到視圖是如何旋轉(zhuǎn)的。同時(shí)注意視圖工具 按鈕從手型變成了眼睛。視圖工具的旋轉(zhuǎn)模式 Option鍵昀后,你可以通過按下 Command按鈕進(jìn)入縮放模式。在這種模式下,單擊并拖動(dòng)鼠標(biāo)將前后縮放你的視圖。注意縮放模式的圖標(biāo)是一個(gè)放大鏡。視圖工具的縮放模式 Command鍵使用視圖工具模式并拖動(dòng)鼠標(biāo)是基本的場(chǎng)景視圖導(dǎo)航方法。場(chǎng)景視圖控制欄所有的視圖的頂部都有不同的控制欄 (Control Bar),場(chǎng)景視圖控制欄擁有多數(shù)選項(xiàng),并且看起來像下面的樣子:場(chǎng)景視圖控制欄第一個(gè)下拉菜單為視圖選擇器。展開它你可以改變當(dāng)前視圖。所有的視圖都有這個(gè)選擇器,如果你想創(chuàng)建自定義的一個(gè)界面布局,它是非常有用的每個(gè)視圖都有的視圖選擇器下一個(gè)下拉菜單是繪制模式 (Draw Mode)。你可以選擇場(chǎng)景視圖使用紋理模式,線框模式或者紋理線框模式。這個(gè)對(duì)你發(fā)布游戲是沒有任何影響的。繪制模式下拉框第三個(gè)下拉菜單為渲染模式(Render Mode)。你可以選擇使用 RGB模式或 Alpha模式。同樣這將不會(huì)影響游戲發(fā)布。渲染模式下拉框控制欄中的下一項(xiàng)是一組三鍵。視圖控制欄中的三鍵左邊的開關(guān)控制普通光照。當(dāng)該按鈕被禁用時(shí),你將看到整個(gè)場(chǎng)景中簡(jiǎn)單光照。當(dāng)它被啟用時(shí),你將看到你放在場(chǎng)景中的光照物體的影響。啟用該按鈕將允許你在發(fā)布游戲時(shí)看到游戲中的光照。中間的按鈕控制各種不同效果的開關(guān),例如場(chǎng)景視圖網(wǎng)格 (Scene View Grid),天空盒 (Skyboxes)和 GUI元素(GUI Elements),啟用該按鈕將允許你在發(fā)布看到這些效果右邊的按鈕控制正交模式 (Orthographic Mode)。打開它將移出所有的景深效果。該按鈕不會(huì)影響到你發(fā)布游戲。正交模式用來精確定位物體。景深相機(jī)正交相機(jī)。物體不會(huì)隨著距離的增大而變小下一個(gè)下拉列表是方向(Direction)下拉列表。它將移動(dòng)場(chǎng)景視圖到你選擇的方向。昀后一個(gè)下拉列表是層(Layer)下拉列表。你可以使用它來選擇不同層的物體。參考層部分。該選項(xiàng)不會(huì)影響游戲發(fā)布。游戲視圖游戲視圖-你的游戲的可見部分游戲視圖(Game View)將使用游戲中設(shè)置的相機(jī)信息來渲染。這個(gè)視圖顯示的是游戲運(yùn)行過程中你將看到的場(chǎng)景。如果你平移或者旋轉(zhuǎn)場(chǎng)景的主相機(jī),你將看到游戲視圖的變化。你需要使用一個(gè)或多個(gè)相機(jī)(Cameras)來控制玩家在游戲中實(shí)際看到的場(chǎng)景。參考相機(jī)組件部分。播放按鈕和狀態(tài)欄這個(gè)按鈕用來在游戲視圖中播放,暫停和步進(jìn)你的游戲。在你構(gòu)建場(chǎng)景的任何時(shí)候,你都可以進(jìn)入播放模式 (Play Mode)并看看你的游戲是如何工作的。播放按鈕和狀態(tài)欄按下播放按鈕 (Play Button)進(jìn)入播放模式。當(dāng)你的場(chǎng)景在播放模式下時(shí),你還可以移動(dòng),旋轉(zhuǎn)和刪除物體。你也可以改變變量的設(shè)置。在播放模式下所做的任何改變都是暫時(shí)的,并在你退出播放模式時(shí)重置。你可以再次單擊播放按鈕退出。在播放模式下,你可以停止或步進(jìn)你的游戲。暫停并檢視你的場(chǎng)景是昀好的發(fā)現(xiàn)問題的方法。右側(cè)的狀態(tài)欄有多種不同的作用。它將提供上下文敏感信息和提示,錯(cuò)誤信息和來自與腳本的輸出語(yǔ)句。如果你的游戲有任何問題,查看狀態(tài)欄將是昀好的發(fā)現(xiàn)問題的方法。你可以雙擊狀態(tài)欄打開控制臺(tái)窗口,其中將顯示所有的腳本或可見的運(yùn)行時(shí)錯(cuò)誤信息。游戲視圖控制欄控制欄上緊挨著視圖下拉列表的是寬高下拉列表 (Aspect Drop-down)。這里,你可以指定游戲視圖窗口的寬高比為不同的值。這將影響到 GUI元素的位置。使用它來測(cè)試你的游戲在不同分辨率下的外觀??刂茩谏详烙疫叺氖?Gizmos按鈕(Gizmos Button)。這將確定是否顯示 Gizmos坐標(biāo)工程視圖(Project View) 工程視圖-存儲(chǔ)所有資源當(dāng)你創(chuàng)建一個(gè)工程時(shí),將生成一組文件夾。其中之一被稱為資源(Assets)文件夾。在工程視圖(Project View)中可以查看資源文件夾。如果你打開過資源文件夾,你將發(fā)現(xiàn)所有的項(xiàng)都將出現(xiàn)在工程視圖中。不同的是在工程視圖中,你將創(chuàng)建并將物體連接在一起。這些關(guān)系將存儲(chǔ)在工程文件夾的其他位置。從工程視圖中移動(dòng)資源將維持并更新文件之間的聯(lián)系。從 Finder中移除資源將斷開聯(lián)系。因此,你應(yīng)該只使用 Finder來將文件添加到資源文件夾。任何其他對(duì)資源的操作都應(yīng)該在工程視圖中進(jìn)行。導(dǎo)入物體一旦你創(chuàng)建了資源(模型,圖像,聲音或者腳本),你可以使用 Finder將其正確地放置到資源文件夾下。當(dāng)你做這些的時(shí)候 Unity可以處于打開狀態(tài)。一旦你切換到 Unity,新的資源將被檢測(cè)到并自動(dòng)導(dǎo)入。資源就可以在工程視圖中出現(xiàn)。參考資源工作流部分。創(chuàng)建資源在控制欄中使用創(chuàng)建下拉列表 (Create Drop-down)來創(chuàng)建你需要的物體。此外你還可以使用 Control+單擊或右鍵在工程視圖中單擊打開相同的下拉列表。創(chuàng)建下拉列表組織工程視圖使用創(chuàng)建下拉列表在工程視圖中創(chuàng)建文件夾。然后你可以重命名并使用該文件夾就像在 Finder中一樣,并可以在工程視圖中將任何資源拖動(dòng)到文件夾中。例如你可以創(chuàng)建名為 Scripts的文件夾并將所有的腳本文件放置其中。在你選中的文件上創(chuàng)建文件夾將創(chuàng)建嵌入式的文件夾。使用嵌入式的文件夾可以保持你的工程視圖整潔。注意:如果展開或折疊一個(gè)目錄時(shí)按下了 Alt鍵,所有的子目錄都將展開或折疊。導(dǎo)入設(shè)置在控制欄上有一個(gè)導(dǎo)入設(shè)置按鈕 (Import Settings),位于創(chuàng)建下拉列表的旁邊。根據(jù)所選資源的不同當(dāng)該按鈕被單擊時(shí)將在導(dǎo)入設(shè)置彈出窗口中顯示不同的選項(xiàng)。參考導(dǎo)入資源 (Importing Assets)部分。工程視圖控制欄設(shè)置(Settings)按鈕將為當(dāng)前選擇的資源打開導(dǎo)入設(shè)置。創(chuàng)建下拉列表將會(huì)在你選擇的目錄下創(chuàng)建項(xiàng)目,創(chuàng)建文件夾是一種快速有效的組織你的工程視圖的方法。層次(Hierarchy) 層次-當(dāng)前場(chǎng)景中的所有物體層次視圖(Hierarchy)將顯示當(dāng)前打開的 .unity場(chǎng)景文件 (Scene File) 中的所有物體。它用于選擇并成組物體。當(dāng)從場(chǎng)景中添加或刪除一個(gè)物體時(shí),它將在層次中顯示或消失。如果你不能在場(chǎng)景視圖中同時(shí)看到所有物體,你可以使用層次來選擇并檢視它們。物體層次 Unity使用一個(gè)稱為父化(Parenting)的概念。任何物體都可以成為另一個(gè)物體的父或子。一個(gè)子物體可以從它的父物體繼承移動(dòng)和旋轉(zhuǎn)。Parenting對(duì)于組織場(chǎng)景,角色,接口元素或者保持場(chǎng)景整潔有很大的用處。單擊一個(gè)物體并將其拖動(dòng)到另一個(gè)物體上可以建立父子關(guān)系。你將會(huì)看到一個(gè)三角顯示在新的父物體的左邊,現(xiàn)在你可以展開或折疊父以便在層次中查看他的子物體,而不會(huì)影響你的游戲。顯示預(yù)設(shè)按鈕 (Show Prefab Button) 當(dāng)位于控制欄 (Control Bar)上的該按鈕被啟用時(shí),任何一個(gè)在層次中選中的預(yù)設(shè)(Prefab)實(shí)例將在工程視圖中顯示它的一個(gè)可視化的參考,如果你在場(chǎng)景中改變預(yù)置實(shí)例的名稱,這是非常有用的。檢視檢視-選中物體的細(xì)節(jié)檢視面板 (Inspector)顯示當(dāng)前選中物體的基本信息,也顯示它所包含的組件(Component)和組件的屬性。它是用來設(shè)置場(chǎng)景中物體屬性的地方。當(dāng)創(chuàng)建一個(gè)好玩的游戲時(shí),你將在檢視面板上做大量的排錯(cuò)。檢視面板顯示當(dāng)前選中物體的基本信息和它的設(shè)置每一個(gè)物體都包含許多不同的組件。當(dāng)你在檢視面板中查看物體時(shí),每一個(gè)組件都有它自己的昀小標(biāo)題欄。例如,每一個(gè)物體都包含變換組件 (Transform Component)。每個(gè)組件的參數(shù)和設(shè)置都可以在檢視面板中修改。物體結(jié)構(gòu)在物體內(nèi)部的組件將定義物體是什么以及做什么。將一個(gè)新的物體想成一個(gè)空的畫布,并且每一個(gè)組件都是一個(gè)不同畫筆。當(dāng)你組合并設(shè)置不同的組件時(shí),你就像在繪制你物體的行為。特定的組件,就像畫筆不同的顏色,可以在一起工作的很好。然而其他的一些組件就不能一起工作??梢酝ㄟ^使用組件(Component)菜單來向物體添加組件。對(duì)于組件的詳細(xì)信息可以參考組件部分此外,在檢視面板中所有的組件都會(huì)在它們的名稱旁邊顯示一個(gè)問號(hào),單擊這個(gè)問號(hào)可以打開該組件的參考文檔。時(shí)間線(Timeline)視圖使用時(shí)間線(Timeline)視圖可以為當(dāng)前選中物體創(chuàng)建動(dòng)畫。Unity可以導(dǎo)入包含動(dòng)畫的文件,但是你可以使用時(shí)間線視圖來制作基本的動(dòng)畫而無需使用 3D動(dòng)作軟件。時(shí)間線視圖將幫助你為物體制作動(dòng)畫參考動(dòng)畫部分調(diào)整視圖布局現(xiàn)在你已經(jīng)知道了所有不同的視圖,你可以重新布局它們布局下拉列表然你選擇或保存不同視圖布局嘗試選擇不同的布局。現(xiàn)在,從下拉列表中選擇新布局(New Layout)并給它一個(gè)唯一的名稱。為了自定義布局,你需要分割(Split)和組合(Combine)視圖。Control-單擊或右鍵在兩個(gè)視圖的分割線上單擊,或者在任何視圖的控制欄上。當(dāng)鼠標(biāo)變成一個(gè)分割線時(shí),你可以單擊并拖動(dòng)鼠標(biāo)來改變視圖的大小。一個(gè)完全的自定義布局你還可以將任何視圖切換為全屏模式。將你的鼠標(biāo)移到視圖上并按下空格鍵(Spacebar),這將臨時(shí)昀大化當(dāng)前視圖并隱藏所有其他視圖。這將允許你在更大的屏幕尺寸上查看更多的細(xì)節(jié)。再次按下空格鍵可以切換到普通視圖模式下。 2. 資源流程(Asset Workflow) 這里我們將解釋在 Unity中如何使用一個(gè)簡(jiǎn)單的資源。這些步驟是通用的而且可以看作是一個(gè)基本操作的演示。在該例子中我們將使用 3D網(wǎng)格。創(chuàng)建原始資源使用任何 3D建模軟件創(chuàng)建你的資源。在我們的例子中我們將使用 Maya。導(dǎo)入當(dāng)保存了你的資源后,你應(yīng)該將其保存到你的工程文件夾的資源(Assets)文件夾中。當(dāng)你打開 Unity工程,這些資源將被檢測(cè)到并導(dǎo)入到工程中。當(dāng)你查看工程視圖 (Project View)時(shí),你將發(fā)現(xiàn)你保存的資源。導(dǎo)入設(shè)置如果你選擇了一個(gè)資源并單擊導(dǎo)入設(shè)置 (Import Setting)按鈕,將出現(xiàn)一個(gè)對(duì)話框,該對(duì)話框的選項(xiàng)隨著導(dǎo)入資源的不同而不同。向場(chǎng)景中添加資源從工程視圖中單擊并拖動(dòng)網(wǎng)格到層次(Hierarchy)或場(chǎng)景視圖(Scene View)中即可將其添加到場(chǎng)景中。當(dāng)你拖動(dòng)一個(gè)網(wǎng)格到場(chǎng)景中時(shí),你將創(chuàng)建一個(gè)擁有網(wǎng)格渲染組件 (Mesh Render Component)的物體。如果你導(dǎo)入的是紋理或聲音文件,你需要將其添加到場(chǎng)景中已有的一個(gè)物體上。將不同的資源放置在一起下面是一些常用資源之間的關(guān)系紋理應(yīng)用到材質(zhì)(Material)材質(zhì)應(yīng)用到物體(帶有渲染網(wǎng)格組件)動(dòng)畫(Animation)應(yīng)用到物體(帶有動(dòng)畫組件)聲音應(yīng)用到物體(帶有聲音源(Audio Source)組件)創(chuàng)建預(yù)設(shè)(Prefab) 預(yù)設(shè)是可以在場(chǎng)景中重用的一組物體和組件的集合。幾個(gè)相同的物體和通過同一個(gè)預(yù)設(shè)來創(chuàng)建,這些物體稱為實(shí)例。例如,創(chuàng)建一棵樹的預(yù)設(shè)將允許你在場(chǎng)景中不同的地方放置多個(gè)相同的實(shí)例。因?yàn)檫@些樹都與預(yù)設(shè)相關(guān),任何對(duì)預(yù)設(shè)的改變都將自動(dòng)應(yīng)用到所有樹的實(shí)例上。因此如果你改變要改變網(wǎng)格,材質(zhì)或其他任何東西,你只需要在預(yù)設(shè)中改變一次,那么所有的繼承的實(shí)例樹都將改變。你也可以改變一個(gè)實(shí)例并使用 GameObject-Apply Changes to Prefab將這種改變應(yīng)用到所有相同的實(shí)例上。當(dāng)你有一個(gè)包含多個(gè)組件或子物體層次的物體時(shí),你可以制作一個(gè)頂層(或根)物體的預(yù)設(shè),并可重用整個(gè)物體集??梢詫㈩A(yù)設(shè)看作是物體結(jié)構(gòu)的藍(lán)圖。對(duì)于該藍(lán)圖來說所有的拷貝都是相同的。因此,如果藍(lán)圖被更新,那么它的所有實(shí)例也會(huì)相應(yīng)更新。這里有幾種不同的方式可以使你通過改變一個(gè)實(shí)例來改變整個(gè)藍(lán)圖。參考預(yù)設(shè)部分。為了從你場(chǎng)景中的物體上創(chuàng)建一個(gè)預(yù)設(shè),首先在工程視圖中創(chuàng)建一個(gè)新的預(yù)設(shè)。并命名,然后在場(chǎng)景中單擊你想用于創(chuàng)建預(yù)設(shè)的物體。拖動(dòng)它到新的預(yù)設(shè)中,你將看到物體的名稱變成了藍(lán)色。這樣你就創(chuàng)建了一個(gè)可以重用的預(yù)設(shè)。更新資源你已經(jīng)導(dǎo)入,實(shí)例化并將資源連接到了預(yù)設(shè)?,F(xiàn)在當(dāng)你需要編輯你的資源時(shí),只要在工程視圖中雙擊它,此時(shí)將運(yùn)行屬性應(yīng)用程序,在這里你可以做任何你需要的改變。當(dāng)你更新它時(shí),保存它。然后但你切換到 Unity,這個(gè)更新將被檢測(cè)到,并且資源將被重新導(dǎo)入。而資源到預(yù)設(shè)的連接還將存在。你將看到你的預(yù)設(shè)被更新了,這就是你需要知道的更新資源部分。僅僅需要打開和保存。 3. 創(chuàng)建場(chǎng)景(Creating Scenes) 場(chǎng)景包含所有的游戲物體。它們可以用來創(chuàng)建主菜單,不同的關(guān)卡,和任何其他東西。將不同的場(chǎng)景文件作為一個(gè)不同的關(guān)卡。在每個(gè)場(chǎng)景中,你將放置你的環(huán)境,障礙物和裝飾,實(shí)際上就是一點(diǎn)一點(diǎn)地搭建你的游戲。實(shí)例化預(yù)設(shè)使用上面章節(jié)中描述的創(chuàng)建預(yù)設(shè)(Prefab)的方法。你可以在此處得到更多的關(guān)于預(yù)設(shè)的信息。一旦你創(chuàng)建了預(yù)設(shè),你就可以簡(jiǎn)單快速地得到一個(gè)預(yù)設(shè)的拷貝,稱為實(shí)例(Instance)。為了創(chuàng)建任何預(yù)設(shè)的一個(gè)實(shí)例,從工程視圖 (Project View)中拖動(dòng)一個(gè)預(yù)設(shè)到層次或場(chǎng)景視圖中?,F(xiàn)在你就得到了一個(gè)預(yù)設(shè)拷貝的實(shí)例,你可以將其放置在任何你想要的位置上。添加組件和腳本當(dāng)你選中任何預(yù)設(shè)或物體時(shí),你可以通過使用組件(Components)來向其中添加一些額外的功能。參考組件獲取更多的信息。腳本(Scripts)也是組件的一種類型。選擇物體并從組件 (Component)菜單中選擇一個(gè)組件。你將看到組件顯示在物體的檢視(Inspector)視圖中。缺省情況下腳本也包含在組件(Component)菜單中。如果添加組件斷開了物體到預(yù)設(shè)的聯(lián)系,你可以選擇 GameObject-Apply Changes to Prefab來重新建立聯(lián)系。放置物體一旦你的物體體出現(xiàn)在場(chǎng)景中,你就可以使用視圖工具(View Tools)來定位它。此外你還可以使用位于檢視窗口中的變換(Transform)值來調(diào)整物體的位置和旋轉(zhuǎn),參考變換組件部分。相機(jī)相機(jī)就是你游戲的眼睛。每一個(gè)玩家都是通過一個(gè)或多個(gè)相機(jī)在場(chǎng)景中看東西的。你可以象普通物體一樣定位旋轉(zhuǎn)并父化相機(jī)。相機(jī)就是一個(gè)擁有相機(jī)組件的物體。因此它可以做任何普通物體能做的事情,還可以做一些相機(jī)特有的功能。當(dāng)你創(chuàng)建一個(gè)新的工程時(shí),標(biāo)準(zhǔn)的資源集中安裝了一些有幫助的相機(jī)腳本。你可以通過 Components-Camera-Control來找到它。當(dāng)然相機(jī)還有一些其他的功能,參考相機(jī)組件部分。光照除了一些特殊的情況以外,你需要在大多的場(chǎng)景中添加光照(Lights)。有三種不同類型的光照,它們的功能有一些不同。重要的是它們添加氛圍和氣氛到你的游戲中。不同的光照可以完全改變你的游戲的氛圍,有效地使用光照是一個(gè)非常重要的主題。參考光照組件部分。 4. 發(fā)布(Publishing Builds) 在你創(chuàng)建你的游戲的時(shí)候,你可能會(huì)想知道當(dāng)你發(fā)布并在編輯器之外運(yùn)行的時(shí)候會(huì)是一個(gè)什么樣子。該部分就是解釋如果訪問發(fā)布設(shè)置(Build Setting)并解釋如何創(chuàng)建不同的游戲。通過 File-Build Settings菜單可以訪問發(fā)布設(shè)置。當(dāng)你發(fā)布你的游戲的時(shí)候它將彈出一個(gè)可編輯的屏幕列表。發(fā)布設(shè)置對(duì)話框當(dāng)你第一次打開該窗口時(shí),它將顯示空白,如果在列表為空時(shí)發(fā)布游戲,只有當(dāng)前打開的場(chǎng)景會(huì)被發(fā)布。如果你想快速發(fā)布一個(gè)測(cè)試場(chǎng)景文件,那就用一個(gè)空的場(chǎng)景列表來發(fā)布。同時(shí)發(fā)布多個(gè)場(chǎng)景也是非常容易的。有兩種方法添加場(chǎng)景。第一種方式是單擊添加打開場(chǎng)景 (Add Open Scene)按鈕,你將看到當(dāng)前的場(chǎng)景出現(xiàn)在列表中。第二種方法就是從工程視圖 (Project View)中將場(chǎng)景文件拖動(dòng)到列表中。注意,每一個(gè)場(chǎng)景都有一個(gè)不同索引號(hào)。Scene 0是第一個(gè)加載的場(chǎng)景。如果你想加載一個(gè)新的場(chǎng)景,在你的腳本中使用 Application.LoadLevel() 如果你已經(jīng)添加了多個(gè)場(chǎng)景文件,并需要重組它們,只需要在列表中單擊并拖動(dòng)它們即可對(duì)它們進(jìn)行排序。如果你想從列表中移出一個(gè)場(chǎng)景,選擇該場(chǎng)景并按 Command-Delete。這個(gè)場(chǎng)景將從列表中消失并將不會(huì)包含在發(fā)布中。當(dāng)你設(shè)置好以后,選擇發(fā)布目標(biāo)(Build target)并按下 Build按鈕。你可以從出現(xiàn)的標(biāo)準(zhǔn)保存對(duì)話框中選擇一個(gè)名稱和位置。當(dāng)你單擊保存時(shí), Unity將快速的發(fā)布你的游戲。非常簡(jiǎn)單。選中壓縮紋理 (Compress Texture)復(fù)選框,將會(huì)壓縮工程中所有的紋理。你只需要壓縮一次,但是第一次壓縮將花費(fèi)一些時(shí)間。如果你在壓縮后更新了資源,你將不得不重新壓縮。你也可以在導(dǎo)入的時(shí)候啟用紋理壓縮著可以在 Unity-Preferences菜單中設(shè)置。選中腳本調(diào)試 (Strip Debug Symbols)復(fù)選框?qū)⒁瞥鲈诎l(fā)布中出現(xiàn)的調(diào)試信息。這將減小發(fā)布文件的大小并可以實(shí)現(xiàn)優(yōu)化的目的。Alpha或 betas版應(yīng)該禁用這個(gè)選項(xiàng)已達(dá)到調(diào)試的目的。在昀后發(fā)布 release版的時(shí)候你應(yīng)該選中該復(fù)選框。流式網(wǎng)頁(yè)播放流式網(wǎng)頁(yè)播放器是 Unity2.0的新特性。這將允許你的網(wǎng)頁(yè)播放器在 Scene0完全加載后開始播放。如果你的游戲有十關(guān),強(qiáng)制玩家等待所有的關(guān)卡都下載完成再開始游戲是沒有意義的。當(dāng)你發(fā)布一個(gè)流式網(wǎng)頁(yè)播放器時(shí),場(chǎng)景需要的資源需要根據(jù) Secne文件的順序來下載。當(dāng)所有包含在 Secne0中的資源完全下載后,就開始播放了。簡(jiǎn)單的來說,流式網(wǎng)頁(yè)播放器將使你的游戲盡可能快地播放。你需要確定的唯一一件事就是確認(rèn)在你開始播放前下一等級(jí)已經(jīng)加載完成了。通常情況下,對(duì)于一個(gè)非流式播放器,你可以使用如下的代碼來加載關(guān)卡: Application.LoadLevel(“l(fā)evelName”); 對(duì)于一個(gè)流式的網(wǎng)頁(yè)播放器,你必須首先檢查該關(guān)卡是否已為已完成。這個(gè)可以通過 CanStreamedLevelBeLoaded()函數(shù)來來做。下面為代碼: var levelToLoad = 1; function LoadNewLevel () if (Application.CanStreamedLevelBeLoaded (levelToLoad) Application.LoadLevel (levelToLoad); 如果你想在播放器中顯示下載進(jìn)度,你可以通過 GetStreamProgressForLevel()函數(shù)來讀取進(jìn)度。發(fā)布過程發(fā)布過程將首先放置一個(gè)空的游戲應(yīng)用的副本到你指定的位置。然后它將使用發(fā)布設(shè)置中的場(chǎng)景列表,每次在編輯器中打開一個(gè),優(yōu)化它們,并將它們整合到應(yīng)用程序包中,同時(shí)它將考慮所有包含在場(chǎng)景中的資源并將這些數(shù)據(jù)存儲(chǔ)在應(yīng)用程序包的不同文件中。場(chǎng)景中任何被標(biāo)記為”EditorOnly”的物體將不會(huì)被發(fā)布。這對(duì)于調(diào)試那些不需要包含在昀終游戲中的腳本是非常有用的。當(dāng)一個(gè)新的關(guān)卡被加載,所有前一個(gè)關(guān)卡的物體都將被銷毀。為了避免這種操作,你可以使用 DontDestroyOnLoad()函數(shù)在任何你不想銷毀的物體上??梢允褂盟鼇肀3忠魳返囊恢辈シ?,或者用于游戲腳本控制器以便保持游戲狀態(tài)和進(jìn)度。當(dāng)新的關(guān)卡下載完成后,一個(gè) OnLevelWasLoaded()消息將發(fā)送到所有被激活的物體上。對(duì)于如何創(chuàng)建擁有多個(gè)場(chǎng)景的游戲,例如,一個(gè)主菜單,一個(gè)積分屏,和一個(gè)真實(shí)的游戲關(guān)卡,參看腳本教程部分。預(yù)加載發(fā)布將自動(dòng)預(yù)加載所有場(chǎng)景中的資源。唯一例外的是 Scene0。只是因?yàn)榈谝粋€(gè)場(chǎng)景通常是一個(gè)閃屏,通常需要盡可能快地顯示它。為了確保你的所有內(nèi)容都是預(yù)加載的,你可以創(chuàng)建一個(gè)空的場(chǎng)景調(diào)用 Application.LoadLevel(1)。在發(fā)布設(shè)置中確定這個(gè)空?qǐng)鼍暗乃饕秊?0,所有的后續(xù)關(guān)卡將被預(yù)加載。 5. 教程(Tutorials) 這些教程可以讓你一步一步地建立真正的工程。對(duì)于新手來講,建議首先進(jìn)入 GUI精華和腳本精華部分。二、 場(chǎng)景搭建 (Building Scenes) 該部分將解釋用于創(chuàng)建游戲場(chǎng)景的核心元素。 1. 游戲物體(GameObject) 在 Unity中昀重要的就是游戲物體。理解什么是游戲物體如何使用它是非常重要的。該部分就將解釋這個(gè)概念。什么是游戲物體?在你的游戲中的任何東西都是游戲物體。然而,游戲物體自身并不能做所有的事情。在它們成為角色,環(huán)境或者特定的效果之前它們需要特定的屬性。但是物體中的每一個(gè)都會(huì)做許多不同的事情。如果每一個(gè)物體都是一個(gè)游戲物體,我們?cè)趺磸囊粋€(gè)靜態(tài)房間中區(qū)分一個(gè)具有強(qiáng)大交互能力的物體?是什么使得游戲物體相互不同呢?答案就是游戲物體是一個(gè)容器。他們是一個(gè)空的可以容納不同塊的盒子,而這些塊組成了一個(gè)帶有光照貼圖的島或是一個(gè)物理驅(qū)動(dòng)的汽車。為了真正理解游戲物體,你需要理解這些塊;這些塊被稱為組件(Components)。根據(jù)你要?jiǎng)?chuàng)建的物體的不同,你可以添加不同組件到一個(gè)游戲物體中。將游戲物體想象為一個(gè)空的烹調(diào)罐,組件為不同的組成游戲的配料。游戲物體與組件的關(guān)系現(xiàn)在我們知道游戲物體包含組件。我們將通過使用昀常用的組件變換組件(Transform)來討論這兩者之間的關(guān)系。打開任意一個(gè)場(chǎng)景,創(chuàng)建一個(gè)新的游戲物體(使用 Shift-Command-N),選擇他并查看檢視面板(Instpector)空物體的檢視面板你可能注意到了這里有兩個(gè)完全不同的部分?!盙ameObject”和”Transform”。屬于游戲物體部分的是關(guān)于游戲物體自身的信息。這里只有物體的名稱。變換部分顯示變換組件的信息。當(dāng)你創(chuàng)建一個(gè)新的物體時(shí),將會(huì)自動(dòng)包含一個(gè)變換組件。所有的物體都會(huì)有一個(gè)變換組件。在 Unity中你不可能創(chuàng)建一個(gè)沒有變換組件的物體,變換組件為所有物體提供了獨(dú)特的功能。變換組件變換組件是昀重要的組件之一。它定義了游戲物體在場(chǎng)景視圖中的位置,旋轉(zhuǎn),和縮放。如果游戲物體沒有旋轉(zhuǎn)組件,那么它將不會(huì)存在世界中。參考變換組件部分。變換組件也可以使用一個(gè)被稱為父子化(Parenting)的功能,這個(gè)功能被編輯器(Unity Editor)利用并且是使用游戲物體昀關(guān)鍵的部分。父子化父子化的意思是你可以使一個(gè)游戲物體的變換值完全依賴于另一個(gè)不同游戲物體。簡(jiǎn)單來說,就是一個(gè)物體隨著另一個(gè)物體移動(dòng)。當(dāng)一物體是另外一些物體的父(Parent)物體時(shí),這個(gè)物體的旋轉(zhuǎn)將影響所有的子(Child)物體。你可以在層次視圖 (Hierarchy View)中通過拖動(dòng)任何物體到另一個(gè)物體上來創(chuàng)建一個(gè)父。這將在兩個(gè)物體之間創(chuàng)建父子關(guān)系。這種功能非常類似于文件夾樹的功能,一個(gè)游戲物體包含在另一個(gè)游戲物體中。需要指出的是所有子物體的變換值都是相對(duì)于父物體的,這個(gè)被稱為局部坐標(biāo)(Local Coordinates)。通過腳本你可以訪問全局坐標(biāo)(Global Coordinates)和局部坐標(biāo)。一個(gè)游戲物體可以有任意多個(gè)子物體,但是只能有一個(gè)父物體。子物體也可以是其它物體的父物體。你可以很容易的在層次視圖中分辨一個(gè)物體是不是一個(gè)父物體。如果在它名稱的左邊有一個(gè)箭頭,那么它就是一個(gè)父物體。一個(gè)真實(shí)的父子層次樹,所有帶有箭頭的物體都是父物體記住所有的父子化的功能都是通過游戲物體的變換組件執(zhí)行的,而不是游戲物體自身。游戲物體-腳本關(guān)系當(dāng)你創(chuàng)建一個(gè)腳本(script)并將其附加到一個(gè)游戲物體上時(shí),這個(gè)腳本將在檢視面板中作為一個(gè)組件顯示。這是因?yàn)楫?dāng)它們被保存時(shí)腳本就變成一個(gè)組件。從技術(shù)角度來說,腳本是作為組件的一種來編譯的,就像其它組件一樣。任何在腳本中申明的公有變量都將在游戲物體的檢視面板中顯示為可編輯或可連接。編寫腳本的時(shí)候,你能夠直接訪問任何游戲物體類的成員。你可以在這里看到一個(gè)游戲物體類的成員列表。如果任何一個(gè)類作為一個(gè)組件附加在一個(gè)游戲物體上,你就可以在腳本中使用成員名來直接訪問這個(gè)組件。例如鍵入 transform等同于 gameObject.transform。前面的gameObject是編譯器自動(dòng)加入的,除非你要指定一個(gè)不同的物體。使用 this可以訪問當(dāng)前的腳本組件。使用 this.gameObject可以訪問該腳本所依附的游戲物體,當(dāng)然你可以簡(jiǎn)單的使用 gameObject來訪問此游戲物體。邏輯上來說,鍵入 this.transform與 tansform是相同的,如果你想訪問一個(gè)組件而該組件并沒有作為一個(gè)游戲物體成員包含在其中,你需要使用 gameObject.GetComponent() 2. 使用組件(Using Components) 組件是游戲中一個(gè)物體的行為和核心。它們是游戲物體的功能性模塊。如果你還不理解游戲物體和組件之間的關(guān)系,請(qǐng)參考游戲物體部分。一個(gè)游戲物體包含許多不同的組件。缺省情況下。所有的游戲物體都包含一個(gè)變換(Transform)組件。這是因?yàn)樽儞Q表示物體的位置,旋轉(zhuǎn)和縮放。沒有變換組件,游戲物體將不會(huì)有位置。嘗試創(chuàng)建一個(gè)空的游戲物體。單擊 GameObject-Create Empty菜單項(xiàng)。選擇新游戲物體,并查看檢視面板。每一個(gè)空的游戲物體都有一個(gè)變換組件可以使用檢視面板來查看都有什么組件附加在游戲物體上。但一個(gè)組件被加入或刪除的時(shí)候,檢視面板將顯示當(dāng)前附加的組件。可以使用檢視面板來改變?nèi)魏谓M件的屬性 (包括腳本)。添加組件可以通過組件菜單為當(dāng)前的游戲物體添加一個(gè)組件。嘗試添加一個(gè)剛體(Rigidbody)到剛創(chuàng)建的物體上。選擇該物體并從菜單中選擇 Component-physics-Rigidbody。現(xiàn)在你將會(huì)發(fā)現(xiàn)剛體屬性顯示在檢視面板中,如果在該物體被選中的情況下按下播放鍵(Play)你將會(huì)有驚喜的發(fā)現(xiàn)。注意剛體是如何在一個(gè)空物體上添加功能的。附加了剛體組件的空物體可以附加任意數(shù)量的組件到一個(gè)游戲物體。一些組件可以與其他一些組件一起工作。例如,剛體可以和任何碰撞物一起工作。剛體通過 Ageia PhysX物理引擎控制變換,并且碰撞器允許剛體與其它的碰撞器碰撞和交互。一個(gè)不同的組件組合例子是一個(gè)粒子系統(tǒng) (Particle System)。它們使用一個(gè)粒子發(fā)射器 (Particle Emitter),粒子動(dòng)畫 (Particle Animator)和粒子渲染器(Particle Renderer)來創(chuàng)建一組移動(dòng)的粒子??梢酝ㄟ^點(diǎn)擊位于檢視面板頭部的問號(hào)訪問組件的參考頁(yè)。編輯組件一個(gè)組件昀重要的方面是其可擴(kuò)展性。當(dāng)你添加一個(gè)組件到一個(gè)物體上時(shí),它有不同的可以調(diào)整的值或者屬性(Properties),也可以在游戲中通過腳本來調(diào)整它。有兩種不同類型的屬性:值(Values)和引用(References)。下圖中是一個(gè)具有音頻源 (Audio Source)組件的空游戲物體。在檢視面板中所有音頻源的值都是缺省的。這個(gè)組件包含一個(gè)單一的引用屬性和七個(gè)值屬性。音頻剪輯 (Audio Clip)是一個(gè)引用屬性。當(dāng)這個(gè)音頻源開始播放時(shí),它將嘗試播放 Audio Clip屬性所引用的音頻文件。如果沒有添加引用屬性,將會(huì)出現(xiàn)一個(gè)錯(cuò)誤因?yàn)闆]有音品將被播放。你必須在檢視面板中引用音頻文件。你可以非常簡(jiǎn)單的從工程視圖中將音頻文件拖動(dòng)到引用屬性中?,F(xiàn)在一個(gè)音效文件在音頻剪輯屬性中被引用組件可包含任何其它類型組件的引用,文件或游戲物體。你只需拖動(dòng)適當(dāng)?shù)囊玫竭@個(gè)屬性上。引用類型是非常有用和強(qiáng)大的,尤其是在使用腳本時(shí)。參考腳本教程。音頻剪輯中剩下的七個(gè)都是值屬性。都可以通過單擊并按下 Enter鍵來調(diào)整它們。使用鍵盤輸入值,并按 Enter保存它。你也可以通過使用 option-或 right-click或拖動(dòng)數(shù)字屬性來快速滾動(dòng)這些值。音頻剪輯中的值屬性都是數(shù)字,但是一些屬性也可以是字符串。例如,文本網(wǎng)格(Text Mesh)組件包含一個(gè)文本(Text)屬性,這個(gè)屬性可以接受字母數(shù)字字符。一些值可以包含字符,例如文本網(wǎng)格中的 Text屬性測(cè)試屬性當(dāng)你的游戲處在播放模式 (Play Mode)中時(shí),你可以在游戲物體的檢視面板中修改它的屬性。例如,你或許想試驗(yàn)不同的跳躍高度。如果你在一個(gè)腳本中創(chuàng)建了一個(gè)跳躍高度 (Jump Height),你可以進(jìn)入播放模式,改變這個(gè)值,并按跳躍鍵查看結(jié)果。然后不需要退出播放模式就可以再次改變這個(gè)值。當(dāng)你退出播放模式時(shí)你的屬性值將恢復(fù)到播放前的值,因此,你不會(huì)丟失任何工作。這個(gè)工作方式,提供給你難以置信的方便來試驗(yàn),調(diào)整,精簡(jiǎn)你的游戲而不必要花費(fèi)大量的時(shí)間。移除組件如果你想移除一個(gè)組件,在檢視面板的頭部使用 option-或右擊然后選擇移除組件(Remove Component)?;蛘吣憧梢詥螕粑挥诮M件頭部問號(hào)旁邊的選項(xiàng)圖標(biāo)。所有的屬性值都將丟失并且是不可恢復(fù)的。因此在移除組件前請(qǐng)確認(rèn)你要這樣做。組件-腳本關(guān)系盡管腳本(Scripts)看起來都與組件不同,事實(shí)是腳本是組件的一種類型。它是一種你自己創(chuàng)建的組件。你可以定義能夠顯示在檢視面板中的成員,并且它將執(zhí)行你寫出的任何功能。腳本組件有很多組件可以通過任何腳本直接訪問。例如,如果你想訪問變換組件的變換(Translate)功能,你只需要使用 transform.Translate()或 gameObject.transform.Translate()。因?yàn)樗械哪_本都是附加在游戲物體上的,所以當(dāng)你寫 transform的時(shí)候就暗示要訪問當(dāng)前腳本所在的物體的變換組件。當(dāng)然這兩者完全等價(jià)的。使用 GetComponent() 有許多組件不能成為一個(gè)游戲物體類的成員。因此你不能隱式訪問它們,必須顯式訪問它們。通過調(diào)用 GetComponent(“component name”)并存儲(chǔ)一個(gè)引用到結(jié)果中。當(dāng)你需要引用附加到該游戲物體上的其它腳本時(shí)這個(gè)方法是昀常用的。假設(shè)你在寫腳本 B并且你想做一個(gè)腳本 A的引用,而這兩者是附加在相同的游戲物體上的。你可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論