2012年4月7日 星期六

自訂動畫元資料

UE提供讓開發者在動畫上附加額外自訂資料的功能,方法大致如下:
  • 擴充AnimMetaData類別撰寫自訂功能。
  • 開啟AnimSetViewer,找到要加資料的AnimSequence,然後在它的MetaData陣列新增自訂的元資料。

範例


以下程式碼示範如何自訂一個可以提早結束動畫的元資料:
class MyAnimMetaData extends AnimMetaData
    native(Anim);
    
var() float EndTime;

cpptext
{
    virtual void AnimSet( UAnimNodeSequence* SeqNode )
    {
        SeqNode->EndTime = EndTime;
        
        Super::AnimSet( SeqNode );
    }
}
AnimNodeSequence在設定要播放的動畫時,會呼叫AnimMetaData類別的AnimSet()函式。覆載此函式設定它的EndTime屬性就可以簡單的完成任務。不過如果在同一個AnimSequence內新增多個MyAnimMetaData的話,EndTime會被多次覆寫,因此只有最後一個才會生效。

沒有留言:

張貼留言