Unity Animator狀態切換打斷探索

2021-10-09 07:24:15 字數 853 閱讀 2613

最近在研究animator的時候interruption source用法的耗費了我很長時間,因為在了解的過程中在網上大多都是官方文件的譯文,首先感謝我參考的譯文,但是按照譯文操作測試結果和官方結果並一樣,於是作為乙個撓頭的程式設計師又在不斷搜尋,最終發現救命稻草,其中

這句話點醒了我,小菜鳥恍然大悟。

首先解釋下我測試結果測試的原因,對於animator初步了解把下圖紅色框的過程當做了切換過程。所以我在剛觸發a-b時就立即觸發a-c,即interruption沒有效果, 後來恍然大悟後才理解原來只有黃色框的部分是狀態切換的過程,即只有在黃色框的時間內改變狀態,interruption才有效。

理解了過渡時間後也想通了interruption狀態切換打斷屬性存在的意義:animator的每乙個狀態切換時間段都分了三部分:1、切換前 2、切換中 3、切換後 分別對應下圖的紅黃藍區域

1、切換前:舉個栗子言之 觸發a-b狀態後,不管觸發a-c還是a-d,都會切換狀態,但是觸發b-d或者c-d都不行,因為此時狀態機執行的動畫是a,所以無法切換

2、切換後:觸發a-b,在狀態切換完成後,即時間處於藍色區域,這時候狀態機執行b動畫,以後就可以由b切換到其他狀態

3、切換中:切換前和切換後期間都可以切換狀態,那麼問題來了,切換中可以嗎,切換規則是什麼呢,這就是interruption的意義

Unity Animator動畫狀態機

建立 檢視和修改animator controller檔案。右邊部分 網格化布局區域 entry 狀態機入口 exit 狀態機出口 anystate 任意狀態 state 橙色 預設狀態,進入狀態機時預設連線該動畫 灰色 一般狀態,可以由任意狀態進入該狀態 左邊部分 狀態機的動畫層和引數 點選右側設...

Unity Animator常用API解析

animator它的api部分寫的比較雜,導致我們要找想要的功能的時候,經常需要呼叫四五層介面,我寫了乙個擴充套件類,可能幫助我們快速找到想要的功能 public static animatorstatemachine getanimatorstatemachine this animator an...

表單控制項狀態 禁用狀態

bootstrap框架的表單控制項的禁用狀態和普通的表單禁用狀態實現方法是一樣的,在相應的表單控制項上新增屬性 disabled 和其他表單的禁用狀態不同的是,bootstrap框架做了一些樣式風格的處理 原始碼請檢視bootstrap.css檔案第1723行 第1729行 form control...