2017年12月18日 星期一

Simple Animation組件介紹

作者:David Geoffroy 原文
潤稿:Kelvin Lo


或者說,我應該怎麼處理動畫播放?


Playables這個東西自從Unity 5.2中導入以來,一直就非常神秘。許多開發者問我們:"到底可以用在哪?",
我們的回答是:“任何東西!” 。雖然當時我們沒有提供任何範例……

經過多次API和Unity的版本更新,Playables已結束測試並正式與Timeline一起加入了Unity 2017.1。從這時起,我們的回答變成了“你想要的任何東西,包括自訂Timeline軌道,或自訂Timeline一樣複雜的東西”。

製作自己的Timeline是一件很少有人會去嘗試的事情,只是我們缺少一些如何製作 “你想要的任何東西”的範例。

為什麼不用Animation元件?


在Animation團隊,我們常收到的一個回饋是:對於那些只需要在一個物件上使用單一或少量動畫的情況,Animator元件和AnimatorController過於複雜。

另一個經常被問的是:提供更複雜的Playables範例。雖然我們有一些基礎範例,用來演示簡單的API使用方式,但它們對於展現Playables的能力並沒有太大用處。

因此,我們決定同時解決這二個問題,使用C#製作一個簡單的Animation元件,並將它開源,作為一個活生生可用的Playables範例。如果你想直接跳到程式部分嘗試。可以直接下載範例程式。

新舊參雜



Animation元件已有很好的文件說明,也很多人用,除了一些更進階的功能之外,還有一個簡單直接的介面。就舉例本身來說,重新實現我們的開發者已經知道並且能夠直覺理解的內容似乎是一個顯而易見的選擇。

就如上面的檢視視窗所示,SimpleAnimation檢視視窗與Animation檢視視窗非常相似,除了一點:SimpleAnimation元件需要Animator才能運行。

在Playables中,使用Animator作為動畫輸出,因此Playable Graph必須要有Animator。但那只是它使用的局限。增加一個SimpleAnimation元件到一個物件時,會自動增加Animator。你可以將它折疊起來不必管它。

在腳本方面,其介面與Animation元件的介面幾乎一樣。你可以在Github專案的wiki上找到一份有關兩者區別的深入解釋。

復古的外觀與嶄新的引擎


SimpleAnimation Playable Graph的Graph Visualizer視圖

儘管SimpleAnimation元件外表看起來很像舊的Animation元件,但在背後所有的Animation邏輯都是經由Playables實現的。這樣元件就可與Timeline以及其它Playable圖表相容,而Animation邏輯也可以在其他的Playable圖表中使用。

不止是Playable範例


Unity Test Runner中的Simple Animation測試

為了能從Animation元件平滑轉移,我們必須確保SimpleAnimation元件的行為盡可能接近Animation元件。因為我們在Unity內部使用的某些測試工具已經公開,所以我們可以很輕鬆的創建測試並將其包含到專案中。

專案包含一套100多個比較測試,驗證Animation和SimpleAnimation元件行為一致。當你從GitHub下載SimpleAnimation工具時,可以在Assets/SimpleAnimationComponent/Tests下找到那些測試。如果你想自訂或擴展元件,你可以使用這些測試來驗證你的成果。

沒有留言:

張貼留言

著作人