一、介紹
目的:通過嘗試制作一款使用玩家角色把小球彈飛的簡單小游戲,熟悉使用Unity進行游戲開發的基本流程。
軟件環境:Unity 2017.3.0f3,Visual Studio 2013
二、創建新項目
1,啟動Unity后將出現一個並列顯示Projects和Getting started的窗口。點擊窗口中央的New Project按鈕或者右上方的NEW文本標簽,窗口下半部分內容將發生改變,出現Project Name文本框等內容。
2,如果Unity曾經被啟動過(比如我),窗口中央將不再顯示New Project按鈕,取而代之的是曾經載入過的項目文件列表。這時右上方的NEW文本標簽依然會顯示,可以通過它來創建項目。
接下愛在指定的位置上依次輸入項目名稱、存儲路徑、項目創建者,點擊右下角的創建項目,這樣一個Unity項目就創建好了。
提醒:雖然文件夾名稱和項目可以取任意名字,但是最好不要使用文字。因為如果路徑中包含了文字,有可能導致Unity編輯器在保存和讀取文件時出錯。
三、創建地面(創建游戲對象)
1,在窗口頂部菜單中依次點擊GameObject→3D Object→Plane。
2,場景視圖中央將出現一個平板狀的游戲對象,同時層級視圖中也增加了一項Plane(平面)。
四、創建場景,保存項目
1,觀察Unity的標題欄,能發現在最頂端文本右側有一個“*”符號。
這個符號表示當前項目文件需要保存。保存后該符號就會消失,之后如果又做了什么操作需要重新保存,該符號會再次出現。
2,在窗口頂部菜單中依次點擊File→Save Scene。
3,保存完畢后,項目視圖中也添加了GameScene項(如果無法看見,可以嘗試點擊左側的Assets標簽)。
五、調整場景視圖的攝像機
稍微調整一下攝像機的角度,使之能夠從正面視角俯看我們剛才創建的地面對象。
調整攝像機角度的方式如下
- 按住Alt鍵的同時拖動鼠標左鍵,攝像機將以地面為中心旋轉。
- 按住Alt和Ctrl鍵的同時拖動鼠標左鍵,攝像機則將平行移動。
- 滾動鼠標滾輪,畫面將向着場景深處前后移動。
六、創建方塊和小球
1,創建完地面后,接下來我們將創建代表玩家角色的小方塊和球體游戲對象。
2,在窗口頂部菜單中依次點擊GameObject→3D Object→Cube和GameObject→3D Object→Sphere。
3,將方塊移動到左側,小球移動到右側(拖動對象上的XYZ軸進行移動)。
4,精確移動:
- 在層級視圖中選中小方塊(小球也是如此)。
- 把檢視面板中Transform標簽下的Position的X值由0改為-2。
七、運行游戲
再次保存我們的項目文件(返回步驟四)。保存完成后,讓我們把游戲運行起來。
1,確認游戲視圖標簽頁右上方的Maximize on Play圖標處於按下狀態,然后點擊畫面上方的播放按鈕(位於工具欄中間的播放控件中最左邊的三角形按鈕)。
2,啟動游戲后,將自動切換到游戲視圖。場景視圖中配置好的3個游戲對象將顯示出來。若希望終止游戲運行,再次點擊播放按鈕即可。
提醒:游戲啟動后,再次進行編輯前請務必先終止游戲運行。
八、攝像機的便捷功能
在層級視圖選中Cube后,將鼠標移動到場景視圖中,然后按下F鍵,可以看到攝像機將向Cube移動。
切記:選中某游戲對象后再按下F鍵,場景視圖中的攝像機將移動到該對象的正面。當需要查看某游戲對象時這個方法會很方便。
九、修改游戲對象的名字
- 由於Cube是玩家操作的角色,我們叫它Player;
- Sphere是玩家要彈飛的球體,我們叫它Ball;
- 作為地面的Plane,我們叫它Floor。
點擊層級視圖中的Cube,當背景變為藍色后再次點擊,名稱文本將變為可編輯狀態,把Cube改為Player后按下回車。
十、模擬物理運動(添加Rigidbody組件)
為了實現讓玩家角色跳起來的效果,需要為游戲對象添加物理運動組件。
在層級視圖選中Player,並在窗口頂部菜單中依次點擊Component→Physics→Rigidbody。
這樣Rigidbody組件就被添加到了玩家角色中,可以在檢視面板中看到Rigidbody。
再次運行游戲(步驟七),這一次玩家角色將快速落下並在撞到地面時停止。
十一、讓玩家角色跳起來(添加游戲腳本)
1,由於該腳本用於操作玩家角色,所以命名為Player。
從項目視圖的Create菜單中選擇C# Script,項目視圖右側的Assets欄中將生成一個名為NewBehaviourScript的腳本文件,剛創建完成時,將其名字改為Player。
現在創建的腳本是一個空的腳本,即使運行也不會發生什么。為了能夠將它用在游戲中,必須做相應的編輯。
2,選中Player腳本,點擊檢視面板上的Open按鈕。這時Visual Studio 2013將會啟動,Player.cs腳本被打開(我將Mono Develop編輯器換成了VS2013)
注:在項目視圖中雙擊腳本項也能夠啟動編輯器(在這里是VS2013)。
可以看到,創建好的腳本文件已經包含了若干行代碼。這些代碼是每個腳本都必需的,為了省去每次輸入的麻煩,所以預先設置在文件中了。
3,腳本編輯
(1)腳本的開頭有一行代碼,確認public class 后緊跟着的類名為Player(Unity規定C#腳本中類名必需和文件夾名相同)
(2)代碼編輯腳本
- 新增一個jump_speed數據成員
- 重寫Update方法
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { protected float jump_speed = 5.0f; //設置起跳時的速度 // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) //點擊鼠標左鍵觸發 { this.GetComponent<Rigidbody>().velocity = Vector3.up * this.jump_speed; //設定向上速度 } } }
(3)保存代碼
在VS2013中編輯完代碼后,必需對其加以保存才能使其改動生效。
點擊VS2013標題欄上的的文件→保存。
保存完后退出VS2013。
4,回到Unity編輯器中,也進行保存(步驟四)。
5,把新建的類組件添加到Player游戲對象上。
從項目視圖中將Player腳本拖拽到層級視圖中的Player對象上。這樣就可以把Player腳本組件添加到玩家角色,此時在檢視面板中也應該能看見Player標簽。
6,再次啟動游戲。點擊鼠標左鍵后,玩家角色將“嘭”地彈起來(運行前記得再保存一次項目文件)。
十二、修改游戲對象的顏色(創建材質)
1,創建材質
(1)在項目視圖中依次點擊Create→Material,就可以創建一個叫New Material的項。和腳本一樣,把它的名字改為Player Material。
(2)改變顏色
在檢視面板中點擊白色矩形,將打開標題為Color的色彩選擇窗口。
色彩選擇窗口內的右側有調色板,點擊其中的紅色區域,剛才的白色矩形將立即顯示為選中的顏色。選擇完顏色后關閉選擇窗口。
2,在項目視圖中將Player Material拖拽到層級視圖中的Player上。這相當於把Player Material分配給Player,場景視圖中的游戲對象Player就變成紅色了。
3,采用同樣的方式創建綠色的Ball Material和藍色的Floor Material,並分別將他們分配給Ball和Floor對象。
十三、調整游戲畫面的尺寸(調整播放器設置)
1,在Game標簽左下方有Free Aspect文字,點擊該處將出現下拉菜單,選中位於最下方的“+”菜單項,將打開一個標題為Add的小窗口。
2,在Width&Height文字右側的兩個文本輸入框中分別填入640和480,確認無誤后按下OK按鈕。
3,關閉Add窗口后可以在下拉菜單中看見新增了640*480項,同時該項左側顯示有被選中的標記。目前為止,我們已成功將游戲畫面尺寸設置為640*480像素了。
4,運行游戲(運行前記得先保存)
十四、小結
本次學習主要使我了解了使用Unity進行游戲開發的基本流程:創建好可見的物體(對象)→編寫腳本控制它們的動作→創建材質→調整尺寸→完成。
另外記得每次完成一個過程記得要保存好項目文件。
后半部分內容要學習如何使用腳本編程來實現一個游戲特有的玩法,敬請期待。
在步驟十一添加游戲腳本中,大多數人會問 為什么and如何將Unity編輯器換成Visual Studio?請點擊鏈接查看問題的根源和詳細的解決步驟!
(這次寫的比較長,能堅持看到這的,令我感動!^_^)