Unity3D Timeline預(yù)覽

一、前言

Unity 3D引擎在2017.1版本中正式發(fā)布了Timeline,它可以用來創(chuàng)建游戲過場(chǎng)動(dòng)畫、影片、以及復(fù)雜的特效。每一個(gè)通過Timeline創(chuàng)建的游戲過場(chǎng)動(dòng)畫、影片等都都會(huì)包含Timeline資源和Timeline實(shí)例這兩個(gè)部分。

本系列文章是我在閱讀完Timeline的文檔后,根據(jù)我對(duì)Timeline的認(rèn)識(shí)和對(duì)官方手冊(cè)的理解而編寫出來的。希望對(duì)想快速上手Timeline的朋友有所幫助。

本文的截圖,來自引擎的官方手冊(cè).

二、Timeline預(yù)覽

在Timeline Editor window中,通過可視化地排布tracks和clips,在場(chǎng)景中創(chuàng)建和GameObject連接的游戲過場(chǎng)動(dòng)畫、影片等。


上圖是一個(gè)在Timeline編輯器窗口中的游戲過場(chǎng)動(dòng)畫。

對(duì)每一個(gè)過場(chǎng)動(dòng)畫和影片來說,Timeline 編輯器窗口保存了下列對(duì)象:

  • Timeline資源:保存tracks,clips以及沒有連接到特定GameObject的對(duì)象的動(dòng)畫。Timeline資源保存在工程中。

  • Timeline 實(shí)例:保存通過Timeline驅(qū)動(dòng)表現(xiàn)行為的特定GameObject的鏈接關(guān)系。這些鏈接保存在場(chǎng)景中,我們把它們稱為bindings。

三、Timeline 資源

Timeline編輯器把track和clips保存成Timeline Asset. 如果在創(chuàng)建cinematic, cut-scene, 后者游戲過場(chǎng)動(dòng)畫時(shí)記錄關(guān)鍵幀動(dòng)畫,Timeline編輯器會(huì)把關(guān)鍵幀動(dòng)畫保存成一個(gè)Timeline Assets的嵌套子文件。

Timeline資源

四、Timeline 實(shí)例

盡管Timeline資源定義了用于cut-scene, cinematic,或者游戲過場(chǎng)動(dòng)畫的tracks和clips,但是我們不能把Timeline資源直接添加進(jìn)場(chǎng)景的。為了讓Timeline Assset在場(chǎng)景里驅(qū)動(dòng)GameObjects,使其表現(xiàn)得有富有生命,你需要?jiǎng)?chuàng)建一個(gè)Timeline 實(shí)例。

Timeline編輯器提供了在創(chuàng)建Timeline Assets的時(shí)候,自動(dòng)創(chuàng)建Timeline 實(shí)例的功能。如果在場(chǎng)景中選擇了一個(gè)擁有Playable Director組件,且這個(gè)組件有關(guān)聯(lián)Timeline資源的GameObject,那么Bings將會(huì)同時(shí)出現(xiàn)在Timeline編輯器和Inspector窗口中。

在編輯器中,Playable Director組件中顯示了Timeline資源(藍(lán)色部分)和它綁定的GameObject(紅色)。Timeline編輯器窗口中的Track列表中也顯示了同樣的綁定關(guān)系(紅色部分)

五、復(fù)用Timeline資源

因?yàn)門imeline資源和Timeline實(shí)例是分離的,因此多個(gè)Timeline實(shí)例可以復(fù)用相同的Timeline資源。舉個(gè)栗子,你可以創(chuàng)建一個(gè)命名為VictoryTimeline的Timeline資源,它包含了動(dòng)畫,音樂,以及例子特效,它在主角勝利的時(shí)候播放。為了在同一個(gè)場(chǎng)景中讓其他游戲角色(敵人或者boss)復(fù)用這個(gè)Timelien資源,你可以為其他角色創(chuàng)建Timeline實(shí)例來實(shí)現(xiàn)。

Player的GameObject(紅色)被附加了VictoryTimeline的資源
Enemy的GameObject(藍(lán)色)也被附加了VictoryTimeline的資源

由于Timeline可以被復(fù)用,所以在Timeline編輯器中的任何改動(dòng),都會(huì)影響到所有的Timeline實(shí)例。例如,在前面的例子中,如果在修改Player的Timeline實(shí)例的時(shí)候刪除了Fireworks track,這個(gè)track會(huì)從VictoryTimeline資源中被刪除。同時(shí)也會(huì)從其他的VictoryTimeline資源實(shí)例中刪除,例如Enemy的Timeline實(shí)例。

六、Timeline窗口和Animation窗口的差別

  • Timeline窗口
    在Timeline窗口中,可以使用多個(gè)不同類型的track,同時(shí)每一個(gè)track都可以包含多個(gè)動(dòng)畫Clips, 它們可以被移動(dòng)、修整、融合的。這對(duì)于要制作將多個(gè)不同的GameObjects協(xié)同一起來制作復(fù)雜的過場(chǎng)動(dòng)畫的需求來說,是非常實(shí)用的。

    Timeline窗口比Animation窗口更新,它是在Unity2017.1這個(gè)版本中被引入的,取代了一些Animation窗口中的功能。訪問用戶手冊(cè)中的Timeline section來進(jìn)一步學(xué)習(xí)Timeline。

Timeline窗口,顯示多個(gè)不同類型的動(dòng)畫Clips,它們排列中相同的sequence中。
  • Animation窗口

    Animation窗口可以讓你創(chuàng)建獨(dú)特地animation clips,就像是導(dǎo)入的animation clips一樣。Animation Clips存儲(chǔ)單個(gè)GameObject或者單層級(jí)結(jié)構(gòu)的GameObjects。Animation窗口用來驅(qū)動(dòng)非連續(xù)性道具的動(dòng)畫非常有用,例如搖擺中的鐘擺,滑動(dòng)的門,或者旋轉(zhuǎn)的硬幣。Animation同時(shí)只能顯示一個(gè)animation clip。

    Animation窗口是在Unity4.0的時(shí)候引入的,Animation窗口是比Timeline更舊的特性。它提供了用于創(chuàng)建動(dòng)畫和驅(qū)動(dòng)不同的GameObjects的簡(jiǎn)單方法。在Animation窗口中創(chuàng)建的動(dòng)畫Clip可以在Animator Controller中進(jìn)行組合和融合。然后,要?jiǎng)?chuàng)建包含不同的GameObjects的復(fù)雜過場(chǎng)動(dòng)畫,需要使用Timeline來做。

Animation窗口顯示為關(guān)鍵幀編輯模式,顯示單個(gè)動(dòng)畫Clip的Object層次結(jié)構(gòu)(在這個(gè)例子中,機(jī)器人手臂有多個(gè)移動(dòng)部件)。

七 總結(jié)

在整理的時(shí)候,發(fā)現(xiàn)整篇文章受官方手冊(cè)的影響頗大,以至于讀取來并不是很順暢,但我認(rèn)為完成比完美更重要,后面想象怎么用自己的話描寫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容