Timeline是Unity2017版本中新加入的功能,可以非常方便的進行場景動畫的創建和修改,包括物體、聲音、粒子、動畫、特效、自定義Playable以及子Timeline等多種資源進行整合,從而能夠較方便的生成效果很棒的場景動畫,同時可以通過Unity的Recorder資源包錄制較為完整的視頻並導出。

在Unity2017中,點擊Window->Timeline即可調出Timeline面板。如下圖所示:

在該面板中,可以創建多種類型的片段,如果你導入AssetStore中的Default Playables資源包(其中預置了多個官方提供的簡單Playable實例),其面板如下所示:

其中常用的主要有
Activation Track(控制物體的顯示和隱藏)
Animation Track(為物體加入動畫,可以在場景中方便地錄制動畫,也可以是已經制作好的Animation Clip)
Audio Track(為動畫添加音效,並可對音效進行簡單的裁剪和操作)
Control Track(在該軌道上可以添加粒子效果,同時也可以添加子Timeline進行嵌套)
Playable Track(在該軌道中用戶可以添加自定義的播放功能)
Track Group(將不同的軌道進行分類,相當於文件夾功能)
當我們創建了TimeLine后,會在指定位置生成TimeLine的文件*.playable,當選中該文件后,會在Inspector面板中看到其相應的屬性,如下圖所示:

其中Frame Rate可以設置該Timeline每秒鍾播放多少幀動畫。Duration Mode分為Based On Clips和Fixed Length兩種模式,Based On Clips模式為按照幀數來播放,當播放到最后一幀時結束播放,Fixed Length模式可以設置總共播放多長時間,當播放到指定時間是停止。Duration設置當前播放的秒數和幀數。

該軌道首先需要為其賦值一個GameObject,表示該軌道控制該物體的顯示與隱藏,當在Timeline播放過程中,如果處於片段內部,則該物體顯示,否則該物體隱藏。
當我們點擊該軌道時,會在Inspector面板中看到可以設置的屬性,如下所示:

Active(當Timeline播放結束時,將該物體激活,設置為顯示狀態)
Inactive(當Timeline播放結束時,該物體取消激活,設置為隱藏狀態)
Revert(當Timeline播放結束時,該物體還原Timeline在第1幀時的激活狀態)
Leave As Is(當Timeline播放結束時,該物體保持在Timeline最后一幀的激活狀態)
Animation Track主要控制動畫的播放,包括動畫片段、幀動畫等。當我們點擊Animation Track時,可以設置其屬性,如下圖所示:

Apply Avatar Mask(啟用“阿凡達遮罩”,當啟用后將根據選擇的遮罩應用在整個軌道中)

Avatar Mask(選擇需要的遮罩,並將其應用在當前Animation軌道中)
最終效果如下:

Apply Track Offsets(啟用軌道偏移效果,將所有動畫的起始位置都設置為指定的偏移角度和位置上,與動畫片段中的Clip Root Motion Offsets功能類似)

Clip Offset Match Fields(該選項可以設置不同動畫之間偏移可匹配的變換)
1.添加Animation Clip
右擊Animation Clip的空白處,選擇Add From Animation Clip即可從已有的動畫片段中選擇。

可以拖拽動畫片段調整播放的時間,同時也可以將多個動畫片段進行疊加來完成動畫過渡效果。

2.錄制動畫
可以在Animation Clip中點擊紅色按鈕進行錄制,通過設置不同的屬性來為物體設置關鍵幀,從而完成不同類型的動畫制作。

3.設置曲線
錄制的動畫可以在動畫窗口中打開,在動畫窗口中可以通過關鍵幀點的方式進行控制,也可以通過曲線的方式進行控制。

Audio Track主要控制動畫中的音效,可以設置聲音的起始時間、結束時間、淡入時間、淡出時間、播放速度、不同音效間的混合效果、是否循環播放等。其屬性如下所示:

Control Track主要控制與時間有關的元素,如粒子效果、Timeline等。
該軌道可以在指定的父物體下實例化一個Prefab,並對該Prefab中與時間有關的元素進行播放操作。

Playable Track允許用戶自定義相關動畫效果,在Default Playables資源包中包含了一部分自定義的功能軌道,包括文字、時間、燈光、位置、尋路、淡入淡出等效果,用戶也可以根據自己的需要進行定制化開發,以實現更加復雜的效果。






以下為運行后的調用順序

以下為該Timeline設置的狀態,主要部分為PlayableTrack。

最終運行效果如下:

該方法也可通過繼承BasicPlayableBehaviour類完成,但是在未來的版本中該類可能會被PlayableBehaviour和PlayableAsset類取代。
在使用TimeLine功能的過程中,如果對物體使用了錄制功能進行位置的調整,很多情況下物體的默認位置會發生偏移,最好在使用TimeLine的Animation Track錄制功能前先備份場景,以免在設置動畫過程中對場景造成破壞。
本人對TimeLine很多功能還不夠熟悉,這些只是在使用過程中用到的功能,將Timeline和CineMachine以及Post Processing等功能進行結合可以做出相當炫酷的效果,可參考Unity官方的Adam&Neon動畫短片。
作者:壹米玖坤
鏈接:https://www.jianshu.com/p/99202037e902
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。