UE4中經常需要一些和時間相聯系的功能,例如在一段時間內完成一個動作,播放一段動畫,或者只是單純的延遲函數的執行時間,即調整事件的執行順序。在UE4的藍圖自帶函數中有一個很好用的函數可以完美地解決這些需求,它就是Timeline。
首先從事件節點開始介紹
Play |
Play是從Timeline的初始時間點開始執行,到終止時間點結束,之后Timeline函數失去效用,即第二次觸發Play節點時,不會有時間的運行。如果在函數運行過程中再次觸發Timeline,則會從觸發時間點繼續運行,直到時間結束,重復觸發只形成短暫的打斷作用。 |
Play from Start |
觸發Play from Start時是從Timeline的初始時間點開始運行,但再次觸發該節點時時間會被重置,即從初始時間點運行該函數,這表明可以重復使用Timeline函數。 |
Stop |
觸發Stop很好理解,Timeline會被暫停,但使用Update節點的后續函數仍可以運行,當然如果后續的函數使用的是Finished節點,則也會被暫停 |
Reverse |
Reverse和Play的作用相同,但卻是從終止時間點開始執行,到初始時間點結束 |
Reverse from End |
類似於Play和Reverse的相互關系,Reverse from End和Play from Start的作用相同,時間順序相反 |
Set New Time |
該節點用於重新設置Timeline的時間長度,一般不需要該節點從外部設置,除非該Timeline用於多種環境,比如只需要截取Timeline的一段時間來執行特定的函數 |
Update |
Update節點的作用是使連接Timeline函數的后續函數在Timeline時間段內連續執行 |
Finished |
連接Finished的函數在Timeline時間轉完之后再執行 |
雙擊打開Timeline函數可以進行函數的內部設計
左上角的4個按鈕分別對應4種時間軌跡,第一個是浮點型軌跡,作用比較單一,用於調整數值的大小,比較常見的功能比如制作一個隨時間變化的浮點數值曲線,例如一名角色在受傷狀態下的生命值不是均勻減少的,而是隨時間減少地越來越快,就可以用浮點曲線做到。
圖示的是一條添加了圓滑作用的浮點曲線(按住shift后點擊鼠標左鍵添加時間節點),添加完后可以在輸出節點中看到,將其連接到需要作數值更改的變量上就可以實現功能。
第二個按鈕則是創建矢量曲線,矢量曲線有三個值需要分別設置,即坐標的x,y,z值,為了避免混淆可以在設置某個值時關閉其余兩個值的顯示
在矢量曲線設置完之后出現的節點作用就是在Timeline時間段內的矢量變化,可以用作物體移動。
第三個按鈕創建的是事件節點,作用是在指定時間觸發后續函數,相當於一個Delay延遲
第四個按鈕用於創建顏色曲線,得到的是一個線性的顏色結構體,可以存儲多個顏色值,在Timeline時間內依次變化