unity入門—五分鐘製作一個理論上的遊戲

炭燒魷魚絲發表於2020-12-09

unity入門

 

前言:這可不是標題黨,雖然都是基礎的操作,不過含括了基本的流程,比起腦海中的五花八門的畫面,入門還是這個現實一點。

           這裡插兩句,unity國外官網下載會推薦你看一個簡短的視訊,國內官網下載沒有不過可以另外找到,推薦看一下,相當的好,當初的我剛看完就激動的不行,準備做個驚世之作時,被自己的基礎不足問題潑冷水。

 

任務:使用unity完成一個Hello  World程式,建立一個標準的Windows可執行程式。

 

 

1.外部工具設定

下載VS(我用的vs2017,用自帶的也行,為了方便之後學習建議VS,挺好用的),下載VS(Visual Studio)中的unity元件,安裝完成後,在unity編輯器的選單欄中選擇【Edit】-【首選項】開啟設定視窗-【外部工具】

將外部指令碼編輯器設定為VS(軟體安裝下載就不截圖了,如果有什麼問題的可以留言或者聯絡我,定盡力幫忙)

 

2.編寫指令碼

啟動unity,建立一個新工程,在Project視窗選擇Assets,右擊並選擇【建立】-【C#指令碼】建立一個新的C#指令碼,將指令碼命名為HelloWorld.cs

 

雙擊開啟HelloWorld,新增程式碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HelloWorld : MonoBehaviour
{
    // Start is called before the first frame update
    //在這裡初始化
    void Start()
    {
        
    }

    // Update is called once per frame
    //在這裡更新邏輯(每幀)
    void Update()
    {
        
    }

    private void OnGUI()
    {
        //改變字元大小
        GUI.skin.label.fontSize = 100;
        //輸出文字、如果文字是中文,指令碼文字編碼必須儲存為UTF-8
        GUI.Label(new Rect(10, 10, Screen.width, Screen.height),"Hello World");
    }



}

這裡一定要注意指令碼的類名與檔名一致,就是public class後面那一串,我第一次建立名稱為Hello World,就是兩單詞間有個空格,但是進入之後預設程式碼是沒有空格的就導致了錯誤,一定要注意類名與指令碼名。

HelloWorld.cs是一個unity的指令碼檔案,HelloWorld是類的名稱,它繼承自Unity的基類MonoBehaviour。注意,Unity沒有Main函式程式入口,Unity指令碼必須作為元件依附於Game Object(遊戲體)執行,因此不能使用new建立Unity指令碼例項,建構函式的功能也受到限制。

 

3.Main Camera

回到編輯器,在層級視窗中選擇【Main Camera】,選中攝像機,在選單欄中選擇【Component】-【Scripts】-【HelloWorld】,將指令碼指定給攝像機,也可以直接拖動指令碼到main camera上

 

 

4.執行遊戲

 

 

 

程式是搞定了,不過東西還沒個譜呢,接著往下。

 

5.編譯輸出

 

【檔案】-【save】-【檔案】-【另存為】,儲存前記得先退出播放模式,就是把那個播放鍵再點一下就行,將當前關卡儲存在Assets目錄,這是一個字尾名為.unity的場景檔案。下面也是顯示兩個檔案,一個指令碼檔案,一個關卡檔案。

 

 

在確保關卡開啟狀態下,【檔案】-【Build Settings】,開啟視窗,點選【新增已開啟場景】,也可將關卡檔案直接拖入,在【玩家設定】中把產品名稱改為Hello World。

 

 

 

 然後就是大家熟悉的build and run ,建議單獨開個資料夾存放,至此,一個理論上的遊戲就完成了,開啟畫面就不截圖留給各位剛入門的同學自己去欣賞了。雖然簡陋不過基本流程齊全,最開始的我開啟自己寫的Hello World程式,就被開頭那個固定的Made With Unity畫面驚豔到了,雖然內容貧乏還沒有退出功能,不過第一個程式的誕生也點燃了遊戲製作的心,希望之後有一天也能製作出許多人認可的好遊戲。

 

下一篇文章就會講解unity編輯器中的一些基礎知識,類似於指令碼基礎,內建函式含義,程式除錯等。

 

2020-12-09

 

相關文章