Unity入門教程(上)


一、介紹

目的:通過嘗試制作一款使用玩家角色把小球彈飛的簡單小游戲,熟悉使用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,精確移動:

  1. 在層級視圖中選中小方塊(小球也是如此)。
  2. 把檢視面板中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?請點擊鏈接查看問題的根源和詳細的解決步驟!

(這次寫的比較長,能堅持看到這的,令我感動!^_^)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM