遊戲物件

  • Scene - 場景
  • Sprite - 2D圖片 (可以是單張,也可以是多張連續動畫)
  • Script - 腳本 (Unity支援UnityScript, C#兩種語言)
  • Prefab - 預製物件
  • Animator Controller, Animation Clip - 動畫控制器, 動畫片段
  • OTF, TTF - 字形檔
  • MP3, WAV - 音樂、音效檔

Sprite 2D圖片

2D圖片格式。

  • Texture Mode - Sprite (2D and UI)
  • Sprite Mode - Single, Multiple (可以是一張圖也可以是spritesheet動態圖)

Prefab 預製物件

從Prefab拖曳至Hierarchy的皆為其子物件,子物件的變更不會影響到父物件也就是Prefab本身,但是如果變更Prefab的屬性或設定皆會影響到其子物件們。

Animator Controller 動畫控制器

以狀態機(State Machine)的方式控制每個動畫片段,並根據參數(Parameters)的改變進行動畫的切換,同時亦可播放兩層(Layers)以上不等的動畫片段。

Animation Clip 動畫片段

包含每個影格中的元件所呈現的屬性變化等等數值,也同時可以在影格當中插入動畫事件(Animation Event)呼叫腳本中的方法。

  • Loop Time - 循環播放

為什麼在新增動畫之後角色就突然無法操控了呢?未加入動畫之前是可以的。

因為遊戲物件第一次新增動畫時會直接將該片段設為預設值,因此一開始就會播放,再加上在製作的過程當中如果有動到position,就會導致這樣的情況發生,解決方式是將片段中的position property移除即可。

為什麼3D模型的動畫片段無法編輯?如果需要呼叫腳本方法該怎麼辦?

將該模型動畫控制器中每個狀態(State)的動畫片段(Anim)檔全部複製一份,然後重新綁回各自的狀態上,取代原本的動畫片段,如此一來便可以進行編輯了。

Ref: how-to-add-keyframes-on-imported-read-only-animation

Animation Event 動畫事件

  1. 在影格上點右鍵
  2. Add Animation Event
  3. 選擇要執行的function (註:該腳本必須綁定在與Animator同一層)

Parameters 動畫參數

有Float, Int, Bool, Trigger四種型態,其中Bool較常用在持續性的動作,像開關燈一樣,開了之後你沒有關就會一直亮,而Trigger則常用在一次性的動作,像是炸彈按鈕一樣,一按下就爆炸。

// 須先取得元件本身才能變更動畫參數
var anim : Animator = GetComponent(Animator);
// 事件發生時直接啟動
anim.SetTrigger("Explode");

MP3, WAV 音樂、音效檔 (=AudioClip)

可用拖曳的方式直接將檔案匯入。

results matching ""

    No results matching ""