Animation Notify

1 Animation Notifications

動畫通知:為程序員提供了一種方式,以便在動畫序列的特定時間點上觸發(fā)事件.動畫通知常用于在行走或跑步動畫中添加腳步聲之類的效果,或在動畫中生成粒子系統(tǒng).
不同類型的動畫通知會導致不同事件被觸發(fā).例如相機效果、粒子效果、音效均可借助動畫通知動畫序列的任意時間點上觸發(fā).

1.1 添加Skeleton Notifies

  • 在通知軌跡上單擊右鍵,添加骨架通知.如下圖所示:
    SkeletonNotify
  • 在動畫藍圖的事件圖表中添加骨架通知對應的動畫通知事件.
    Event AnimNotify
  • 根據(jù)實際需求實現(xiàn)通知事件


    Events

1.2 繼承AnimNotify類

  • 創(chuàng)建繼承自AnimNotify的新的藍圖類


    NewBPClass
  • 重載GetNotifyName與ReceivedNotify函數(shù)


    OverrideFunctions

    3.png

    4.png
  • 在動畫序列中添加新建的子類
    6.png

    8.png

    注意:新添加的動畫通知通知軌跡上的顯示名稱就是我們在藍圖子類中重載的GetNotifyName函數(shù)的返回值.

1.3 其他預定義的AnimNotify類

  • 布料模擬通知:PauseClothingSimulation,ResumeClothingSimulation,ResetClothingSimulation.
  • PlayNiagaraParticleEffect(播放Niagara粒子特效)
  • PlayParticleEffect(播放級聯(lián)粒子特效)
  • PlaySound(播放聲音)
  • ResetDynamics(重設動力)


    9.png

1.4 動畫通知狀態(tài) AnimNotifyState

動畫通知狀態(tài)(通知狀態(tài))與上面的普通動畫通知類似.它擁有三個事件:NotifyBegin,NotifyTick,NotifyEnd.在通知狀態(tài)開始與結束時分別觸發(fā)NotifyBeginNotifyEnd;在每次動畫更新時都會觸發(fā)NotifyTick事件,直到NotifyEnd被觸發(fā)為止.

使用通知狀態(tài)時需要注意的其他事項:

  • 必定以NotifyBegin事件作為開始.
  • 必定以NotifyEnd事件作為結束.
  • Tick事件必定發(fā)生在NotifyBeginNotifyEnd之間.
  • 不同動畫通知(AnimNotifyAnimNotifyState)之間的排序并非固定.如將兩個AnimNotifyState放置在一起,第一個結束之后第二個并不一定會開始.因此他們應該相互獨立,不應該有相互依賴.
  • 支持動畫倒放,但仍會首先調用NotifyBegin,最后調用NotifyEnd.

1.4.1 創(chuàng)建自己的AnimNotifyState子類.

  • 繼承AnimNotifyState類,并重載NotifyBegin,NotifyTick,NotifyEnd等函數(shù):


    1.png

    2.png
  • 動畫序列通知軌跡上添加新建的AnimNotifyState子類:
    3.png
  • 調整AnimNotifyState的起始于結束位置:


    4.png

蒙太奇

骨骼控制

瞄準偏移

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容