前言
作為一名Unity3D游戲開發者,無論是初學者,還是已經就業的工作者,在平時的學習工作里,掌握一些Unity開發的高級技巧,能夠很好的節省開發時間,提高開發效率,畢竟世界如此美麗精彩,我們應當把時間花費在更有價值的事情上。
【Unity開發技巧視頻預覽】后期持續更新上傳。
Unity開發技巧:
1、借助編輯器自帶的標記功能為腳本分類,在檢視面板中點擊腳本圖標下方的小三角,即可為腳本設置顏色或選擇圖標,可以選擇自定義的圖標。
2、在使用Debug.Log函數時傳遞游戲對象給第二個參數gameObject,既可在點擊控制面板的輸出信息時自動定位到對應的游戲對象,方便查找游戲物體。
3、希望游戲運行第一幀暫停,可以先點擊暫停按鈕,然后點擊播放按鈕,這樣程序就會在Update函數執行一次后暫停。
4、如果想在檢視面板查看腳本的private私有變量,只需點擊Inspectore,在彈出菜單中選擇Debug即可。
5、在層次視圖的搜索框中輸入完整的腳本或組件名稱,即可找到所有綁定了該腳本或組件的對象。或者在搜索框中輸入t:加上某個類別如light,即可找到使用同類組件的對象。
6、右鍵點擊檢視面板下方的預覽窗口即可讓預覽窗口跳出來,然后自己選擇合適的地方???,這樣切換模型查看就不會影響到其它面板。想讓預覽窗口回到原位,只需右鍵點擊窗口,在彈出菜單中選擇Close Tab即可。
7、分別按鍵盤鍵Q、W、E、R、T可以依次切換界面上的小工具。除此之外,按數字鍵2或3還可以切換場景為2D模式或3D模式。
8、好不容易才調好的坐標,結果發現是在運行模式下,如果退出運行模式就還原了怎么辦?可以在檢視面板右鍵點擊組件名,在彈出界面中選擇Copy Component,然后退出運行模式后同樣右鍵點擊組件名,在彈出界面中選擇Paste Component Values即可。
9、所有數值類型的字段,都支持在檢視面板中直接輸入簡單的數值表達式。
10、如果編輯器意外崩潰了,但場景未保存,這時可以打開工程目錄,找到/Temp/_Backupscenes/文件夾,可以看到有后綴名為.backup的文件,將該文件的后綴名改為.unity拖拽到項目視圖,即可還原編輯器崩潰前的場景。
11、在層次視圖中選中某個游戲對象,按快捷鍵Cmd/Ctrl+D即可復制該對象,對于檢視面板中的數組字段也可已同樣的方式來復制元素。
12、檢視面板中所有的顏色字段都是支持復制和粘貼的,只需右鍵點擊顏色字段既可選擇操作。
13、如果覺得在場景視圖中調整對象視角太不方便,可以按住右鍵結合鍵盤上的A、S、W、D、Q、E鍵像走路一樣調整到合適的視角,然后點擊GameObject菜單下的Align With View即可將游戲視圖的視角與場景視圖同步。
14、在場景中選中某個對象,按F鍵會將該對象聚焦到屏幕中心,但在移動該對象時鏡頭并不會跟隨。如果按兩次F鍵,或者按Shift+F鍵,即讓鏡頭跟著該對象后面移動。
15、不借助Unity 5.3最新的多場景編輯工具,也可以在兩個不同場景間復制對象。只需在層次視圖中選中目標對象,右鍵單擊在彈出菜單中選擇Copy,打開目標場景后粘貼到層次視圖即可。
16、如果同一文件夾下的所有圖片是一個序列幀動畫,可以將整個文件夾拖拽到工程目錄,選中所有圖片后將紋理格式改為Sprite并點擊Apply,然后將所有圖片一起拖拽到層次視圖或場景,Unity會自動詢問是否創建動畫并彈出對話框詢問動畫文件保存位置。并且點擊保存后會自動在層次視圖中生成包含該動畫文件的游戲對象,點擊運行即可看到序列幀動畫。
17、在工程視圖或層次視圖中,按住Alt鍵同時點擊對象,就可以展開或收起該對象所有的子節點,包括嵌套子節點。
18、如果你的屏幕夠大,可以在開發過程中打開多個場景或其它視圖,這樣在調整時就可以看到場景的不同區域或角度。
19、如果你是極具冒險精神的程序員,那這個技巧一定要去試試。Unity里面的文件名、類名、函數名、變量名、序列化定義甚至是Tag名稱都可以支持中文,不過不建議大家這么做!
20、如果不確定正在使用的插件是否有更新,可以在編輯器中點擊Window菜單下的Asset Store,然后點擊Asset Store界面上的下載按鈕,會出現所有下載過的插件列表,該列表會顯示插件是否需要更新或重新下載。
21、當需要拖拽對象至檢視面板時,常常會因為操作原因導致檢視面板的內容已經改變了。這時可以點擊檢視面板右上方的鎖圖標,鎖定檢視面板,這樣不論其它視圖如何切換,檢視面板都會顯示固定內容。
22、如果你的鼠標的中鍵是可以按下的,可以按住鼠標中鍵來平移整個場景。或者將鼠標移至物體上后點擊中鍵按鈕,編輯器會以平移的方式將物體中心移動鼠標位置。
23、如果腳本出現錯誤,Unity編輯器會因為檢查到出錯而無法進入運行模式,這時可以在項目視圖中新建文件夾WebplayerTemplates,然后將出錯的腳本拖入此文件夾下,所有位于該文件夾下的文件都會被識別為一般文件從而不會當作腳本被編譯,這樣就可以運行游戲了。
24、在場景中按住右鍵可以以視點為中心查看整個場景。如果希望物體始終保持在焦點處,可以在層次面板雙擊該物體,然后按住Alt鍵后用鼠標查看周圍場景,并且物體一直位于焦點。
25、如果需要拼合兩個物體,可以自己分別在兩個物體上創建立方體當作錨點,按住V鍵進入頂點選擇模式,然后選擇錨定立方體上需要拼合的兩個頂點,即可將物體無縫拼接在一起。
如果需要旋轉物體,可以按下Cmd/Ctrl鍵后用鼠標操作旋轉,這樣可以讓物體每次固定旋轉15度,最終轉到正確位置。
26、如果希望物體可以緊貼地面,但傾斜角度不好調整,這時可以在物體上添加Mesh Collider和Rigidbody組件,然后點擊運行,借助Unity的物體引擎來計算位置。待物體墜落到地面后復制所有物體,停止運行后刪除原先的物體再粘貼運行時復制的內容,并刪除所有物體上的Mesh Collider和Rigidbody組件即可。
27、如果發現Unity打包安卓平臺生成的apk體積過大,可以找到PlayerSettings中的安卓平臺,默認情況下Device Filter設定為FAT(ARMv7+x86),即同時打包32位和64位。如果只需發布到32位或64位平臺則單獨選擇對應的一種即可。這樣可以有效減小包體積。
28、從項目視圖點擊右鍵創建的腳本會自動填充一些代碼。其實這些自動填充的代碼模板也是可以自定義的。
- 如果使用Windows,則在ProgramFiles(x86)或ProgramFiles目錄下的Unity/Data/Resources/ScriptTemplates文件夾下進行同樣的操作即可。
-
如果使用Mac,找到應用程序中的Unity.app,右鍵單擊顯示包內容,找到Resources>ScriptTemplates文件夾,然后選擇你要創建模板的腳本類型,復制一份自己命名并編輯后保存,然后退出編輯器之后重新打開,再在項目視圖中右鍵單擊創建,就會出現剛剛添加的腳本類型。打開新建的腳本就可以看到自定義的模板代碼。
29、在項目視圖的搜索框中輸入資源名稱,可以找到項目中所有具有該關鍵字的資源。將搜索類型換成Asset Store,則可以找到Asset Store上所有擁有該關鍵字的資源,并按免費和付費分類。
29.png
30、如果編輯2D游戲的圖片時總是不小心點選到背景,可以在Layer里邊設置哪些層是鎖定或不可見的,將背景層鎖定后就不能點選到它了,這樣在編輯時就不會出現誤操作。但鎖定圖層后還是可以從層次面板上選中背景來進行調整,這樣就不用每次反復鎖定和解鎖圖層。
31、使用矩形工具也可以用來操作3D物體形狀
32、在設置所有顏色類型的屬性時,可以將當前顏色值加入預設,該預設會保存在本地且可以在不同的工程間共用。
33、使用UI中的Mask組件時,需要指定一張圖片作為遮罩對其子對象進行裁剪,取消勾選組件上的Show Mask Graphic則可以在保持裁剪效果的同時隱藏Mask本身的圖片。
34、如果腳本中有變量名打錯,需要批量修改,在Mac上可以按住Cmd+R鍵,Windows上按住F2鍵,然后選中需要修改的變量名進行批量修改。
35、如果場景中某個物體與另一物體相對的位置、旋轉及縮放均保持不變,那么在調整目標物體的方向時,可以先選中編輯器界面的小工具,按住Ctrl/Cmd+Shift鍵,這樣在操作其中一個物體時,另一個也會隨之變化。
36、將鼠標聚焦于編輯器內的某個窗口,按住Shift+空格鍵,可以將該窗口最大化至編輯器范圍或者還原為原先大小。
37、如果常常不小心進入播放模式后編輯場景內容,其實可以依次點擊菜單項Edit > Preferences > Colors > Playmode設置編輯器在進入播放模式后的顏色,與正常模式下明顯區分開來。
38、Unity 5開始,新建場景默認會帶有天空盒,可以利用Unity自帶的天空盒材質來自定義天空盒顏色。
39、對一組字段使用屬性聲明[Heaader(“XX”)],可以在檢視面板中將字段進行分組,還可以使用[Space(10)],將組之間的距離增加。
40、在float型的字段前添加范圍屬性聲明如[Range(0, 10)],即可在檢視面板中使用滑動條來設置該字段的值。
41、使用[Tooltip( "提示信息" )]可以在鼠標停留時顯示提示信息。
42、在層級視圖中選中游戲對象,按快捷鍵Shift + Alt + A可以快速設置對象激活狀態。
43、在層級視圖中選中游戲對象后,依次點擊菜單項GameObject > Align With View Selected,可以快速將場景視圖聚焦到當前選中的對象。
44、在層級視圖中選中游戲對象后,依次點擊菜單項GameObject > Move To View,或是使用快捷鍵Shift + Cmd/Ctrl + F,可以快速將選中的對象移動至場景視圖中心位置。
45、在編輯過Prefab之后,如果希望將Prefab的某個屬性值恢復為初始值,只需右鍵點擊該屬性,在彈出菜單中選擇Revert Value To Prefab即可。注意:只能回復到Prefab上次保存時的狀態。
46、在游戲對象的檢視面板中,點擊BoxCollider組件上的Edit Collider按鈕,然后切換到場景視圖拖拽小綠點,就能快速改變Box Collider的尺寸。
47、Unity默認會在檢測到項目腳本或資源有更改后自動進行刷新,如果不希望Unity編輯器突然刷新,可以依次點擊菜單項Unity(Windows下是Editor) > Preference,取消勾選General下的Auto Refresh。在需要刷新時依次點擊菜單項Assets > Refresh手動進行刷新。
48、在新的UI系統(Unity 4.6及以上版本)中,Canvas的Camera有三種渲染模式,分別是Screen Space - Overlay、Screen Space - Camera、World Space。其中Screen Space - Overlay是2D無透視HUD,渲染在所有物體最上方。Screen Space - Camera是2D透視HUD,根據場景深度決定渲染層次。World Space是3D透視,同樣根據場景深度決定渲染層次。
49、Unity編輯器中還可以顯示自定義的提示界面,只需編寫繼承自EditorWindow的編輯器類,簡單的調用以下函數即可:ShowNotification(new GUIContent(EditorGUILayout.TextField(“XX")));其中XX是界面需要顯示的提示信息。例如,使用如下代碼:
依次點擊菜單項Edit > Test,再點擊[Show Notification]按鈕就會出現如下界面:
50、安裝多個Unity版本:Mac系統下直接在應用程序中更改Unity文件夾名稱后再安裝另外的版本即可。Windows下將不同的Unity版本安裝到不同目錄即可。
后記
Unity開發的相關技巧有很多,平時在學習與開發過程中,也可以自己整理相關的開發技巧,不斷的積累,你會收獲到很多寶貴的開發經驗,這是你提高自己的薪酬與待遇最有優勢的資本。
如果你是一個初學Unity的開發者,歡迎閱讀文章《2018年Unity學習資源指南(精心整理)》
歡迎加入Unity學習資源交流群,群聊號碼:954131591( 狗屋是一生一屋狗藥 ),互相交流學習!
推薦閱讀Unity官方平臺微信文章: