Unity 教學課程 | 10 分鐘學會 3D 旋轉立方體

編輯指令碼

讓我們現在讓立方體旋轉。

  • 按兩下 [專案] 視窗中的 [SpinCube] 指令碼。這會自動啟動 Visual Studio。第一次執行此動作可能需要一些時間。

    Unity 中具有醒目提示之腳本的專案視窗

  • 按兩下 [專案] 視窗中的 [SpinCube] 指令碼。這會自動啟動 Visual Studio Code。第一次執行此動作可能需要一些時間。

    Unity 中具有醒目提示之腳本的專案視窗

  • Visual Studio 完全載入後,看起來應該會像這樣:

    Visual Studio 編輯器視窗,顯示一些自動產生的程式碼

    您應該在產生的 C# 程式碼上看到兩種方法:

    • Start():在3D 場景中建立 Cube 時一次執行的方法。
    • Update(): 針對 3D 引擎繪製到螢幕之物件的每個框架執行一次的方法。這表示每當引擎想要判斷 Cube 應在場景中的位置時,就會執行。
  • Visual Studio Code 完全載入後,看起來應該會像這樣:

    Visual Studio Code 編輯器視窗,顯示一些自動產生的程式碼

    您應該在產生的 C# 程式碼上看到兩種方法:

    • Start():在3D 場景中建立 Cube 時一次執行的方法。
    • Update(): 針對 3D 引擎繪製到螢幕之物件的每個框架執行一次的方法。這表示每當引擎想要判斷 Cube 應在場景中的位置時,就會執行。

開始編寫指令碼,以透過建立控制旋轉的變數來旋轉 Cube。

  • Start 方法上方,插入醒目提示的程式碼。這個程式碼會建立公用向量 3,其 x、y、z 座標會控制 3D 空間中的旋轉。

    C#
    public Vector3 RotateAmount;
    // Start is called before the first frame update
    void Start()
    {
  • 然後在 Update 方法內新增突出顯示的程式碼。Unity 中的每個遊戲物件都有 轉換 指令碼,該指令碼會指示它存在於 3D 空間中的位置,以及其在 3D 空間中的旋轉。您將使用在這個 Rotate 方法,並指定要在該遊戲物件上進行的旋轉量。

    C#
    // Update is called once per frame
    void Update()
    {
    	transform.Rotate(RotateAmount);
    }
  • [CTRL + S] 以在 Visual Studio 中儲存您的變更。
  • [CTRL + S] 以在 Visual Studio Code 中儲存您的變更。
  • 現在,回到 Unity 編輯器,並再次選擇 Cube 視窗中的 [階層圖] 物件。

  • [偵測器] 視窗上,您應該會發現您已建立的公開變數,目前已顯示在您新增至 Cube 的新腳本下。

    在 Unity 偵測器視窗中顯示 x、y、z 可編輯值的旋轉 Cube 元件

  • 將 Y 值變更為 1,然後按 Unity 編輯器頂端和中央的 [播放] 按鈕。

    Unity 編輯器中的 [播放] 按鈕

    因為 Update 方法會執行每個框架,您會看到 Cube 會針對每個框架旋轉一個。您可以隨時變更這些值並從中獲得一些樂趣。您現在已準備好可為不同的平台建置遊戲。