網頁

顯示具有 Unity-動作控制器 標籤的文章。 顯示所有文章
顯示具有 Unity-動作控制器 標籤的文章。 顯示所有文章

2018年6月13日 星期三

Animator controller 模組的參數

Animator controller 是用來指定 animator 要播放哪個 animation 的一套介面控制系統。
介面上可供設定兩兩animation轉換時的條件。當然script裡頭也可以指定要播放哪個animation。相關的做法可以參考我寫的兩篇文章,分別是 總覽 與 C#語法 。

關於animator controller模組,以下介紹兩個常用的參數。
如果animation要周而復始不斷的重複播放,那麼可以這樣設定,請見下圖:

一、動畫周而復始地播放動作



1. 在animator controller裡頭,選定要周而復始重複播放的animation,上圖範例是「樹式左_2」,先把它選取起來。

2. 在Inspector裡頭,把Loop Time 勾選起來,並且點擊Apply。

3. 如此設定好之後,該動作就會周而復始地播放囉!



二、Has Exit time 的功能介紹


1. 先選取一個transition。如上圖選取後,箭頭會變成藍色。 所謂transition意指從某個animation轉為另個animation之間的轉換,稱為一個transition。

2. 至Inspector找 Has Exit Time

3. 兩兩animation的轉換,有以下三種情況,可供選擇與設定:

    (1) 當前動畫接收到條件後,需等待播放完畢後,才能轉換到下個動畫。
           Has Exit Time R

    (2) 動畫之間的轉換,需要立即轉換動畫,亦即不須等待當前動畫是否播放完畢
           Has Exit Time 

    (3) 當前動畫不需等待條件,播放完畢後就自動轉換到箭頭指的下個狀態
           Has Exit Time R

   假如沒有勾選,如果不是循環動畫,則當前動畫播放完畢後會卡在最後一個影格。
                               如果是循環動畫,則當前動畫播放完畢後,會跳回第一個影格而重複播放。


參考資料 [前往]

判斷animator正在播放的animation是否為指定的某個animation?

Animation是Unity的一個強項。
製作3D動畫為什麼需要搭配使用Unity,就是因為Unity對於3D動畫的掌握,有其輕鬆取得之優勢。
否則,直接使用Visual Studio就好,不是嘛?

在物件導向編程(OOP)的世界裡,取得物件狀態,將有利於判斷式的撰寫。
以下範例寫的就是用IsName,來判斷正在播放的動畫是否為"AnimationName",若是則執行後續指令。

  1. if( anim_Animator.GetCurrentAnimatorStateInfo(0).IsName("AnimationName"))
  2.      {
  3.       // Do stuf !!
  4.      }

敬請參考囉。

友善連結 [前往]

2018年5月4日 星期五

[Unity] 如何trigger事件,使人物動畫切換動作、暫停、繼續?【C#語法】





-------------------------------------------------------------------------------------------------------------
touch 以及 triangle 必須先在Animator Controller裡頭事先設定好

1. 在Animator controller裡新增參數
    這裡新增的參數型態是trigger,分別是triangle以及touch




2. 為transition設定條件
    從idle_female → 三角伸展式_右 的這個transition
    設定其condition,為triangle。



[Unity] 如何trigger事件,使人物動畫切換動作、暫停、繼續?【總覽】


想做的事
    我想讓事先做好的人物,在按下鍵盤或滑鼠等不同驅動事件(trigger)後,切換動作,暫停動作或者是繼續動作。

預備與規畫
    1. 把人物以及事先錄製好的動作準備好,並且匯入到Unity裡面。

    2. 在Asset裡,create Animator Controller 
          2.1  把事先準備好的animation拖曳入Animator Controller裡
          2.2  在animation之間建立transition
          2.3  新增參數(parameter)與條件(condition)建立

    3. 把人物放到舞台上,幫人物 add component → Animator  
          3.1 在人物的Animator裡,指定 controller [將2.1-2.4做的Animator controller指定進去]
          3.2 在人物的Animator裡,指定 Avatar

    4. 幫人物撰寫腳本
         4.1  add script  [語法]
         4.2  編寫語法 (C# language)

    5. 測試


參考連結
Unity tutorial 官方網站  Controlling Animation 01-06 [前往連結]
Education & Technology Blog [前往連結]
勇者拉德小酒館 【Unity】Mecanim動畫系統Part1-Part5  [前往連結]


[* 觀賞Youtube影片內容時,請點擊字幕圖示]