Unity3D 入門核心知識體系:編輯器界面、坐標系、腳本語言選擇、組件掛載模式、常用生命周期、簡單實戰、多平台發布。
| 窗口 | 功能 |
|---|---|
| Scene (場景) | 構建遊戲世界:放置模型、燈光、攝像機、地形 |
| Hierarchy (層級) | 場景中所有 GameObject 樹狀列表,管理父子關係 |
| Inspector (檢視器) | 選中對象的屬性、組件參數編輯,公開變量在此顯示 |
| Game (遊戲) | 運行時畫面預覽,僅 Play 模式下顯示 |
| Project (項目) | 資源庫:腳本、模型、材質、預製體、音頻等 |
File, Edit, Assets, GameObject, Component, Terrain, Window, Help。熟悉各命令位置,如 Assets > Create > C# Script、GameObject > 3D Object > Cube。
左手坐標系:X 右、Y 上、Z 前 (面向攝像機為負)。順序 (x, y, z)。Transform 組件包含 Position, Rotation, Scale。
現代 Unity (2017+) 僅支持 C#。歷史:
MonoBehaviour 子類,**必須掛載在 GameObject 上才能執行** (拖拽到 Inspector 或 AddComponent)。GetComponent<T>() 獲取同物體組件,GameObject.Find 查找其他物體,靜態成員直接訪問。Awake():腳本實例化時調用,初始化引用,跨腳本最早。OnEnable():啟用時調用。Start():首幀 Update 前調用,依賴其他 Awake 完成的初始化。Update():每幀調用,邏輯、輸入檢測。LateUpdate():Update 後調用,攝像機跟隨、動畫後處理。FixedUpdate():固定時間步長 (默認 0.02s),物理計算、剛體操作。OnGUI():IMGUI 繪製 UI,每幀多次調用。OnDisable() / OnDestroy():清理。MoveSpeed, Start())。_moveSpeed, deltaTime)。GameObject, Transform),實例/屬性首字母小寫 (gameObject, transform)。Camera.main 靜態屬性獲取主攝像機。RotateOnClick 掛載 Cube。
using UnityEngine;
public class RotateOnClick : MonoBehaviour {
public Light targetLight;
private bool rotating = false;
void OnMouseDown() { rotating = true; targetLight.enabled = true; }
void OnMouseUp() { rotating = false; targetLight.enabled = false; }
void Update() { if (rotating) transform.Rotate(0, 90 * Time.deltaTime, 0); }
void OnGUI() { if (rotating) GUI.Label(new Rect(10,10,100,20), "Rotating!"); }
}
targetLight 欄位。
File > Build Settings
- Target Platform: Windows / Mac / Android / iOS / WebGL ...
- Scenes In Build: 拖入構建場景
- Player Settings: 圖標、包名、最低版本、圖形 API...
- Build / Build And Run
Unity 入門核心:**界面認知 → 坐標系 → C# 腳本 → 組件掛載模式 → 生命周期 → 實戰 → 發布**。掌握 MonoBehaviour、GetComponent、Transform、Time.deltaTime、Instantiate/Destroy 基礎 API,即可開始構建遊戲原型。