美文网首页UE4
Animation Notify

Animation Notify

作者: 托尼章 | 来源:发表于2020-03-22 23:09 被阅读0次

    1 Animation Notifications

    动画通知:为程序员提供了一种方式,以便在动画序列的特定时间点上触发事件.动画通知常用于在行走或跑步动画中添加脚步声之类的效果,或在动画中生成粒子系统.
    不同类型的动画通知会导致不同事件被触发.例如相机效果、粒子效果、音效均可借助动画通知动画序列的任意时间点上触发.

    1.1 添加Skeleton Notifies

    • 在通知轨迹上单击右键,添加骨架通知.如下图所示:
      SkeletonNotify
    • 在动画蓝图的事件图表中添加骨架通知对应的动画通知事件.
      Event AnimNotify
    • 根据实际需求实现通知事件


      Events

    1.2 继承AnimNotify类

    • 创建继承自AnimNotify的新的蓝图类


      NewBPClass
    • 重载GetNotifyName与ReceivedNotify函数


      OverrideFunctions
      3.png
      4.png
    • 在动画序列中添加新建的子类
      6.png
      8.png
      注意:新添加的动画通知通知轨迹上的显示名称就是我们在蓝图子类中重载的GetNotifyName函数的返回值.

    1.3 其他预定义的AnimNotify类

    • 布料模拟通知:PauseClothingSimulation,ResumeClothingSimulation,ResetClothingSimulation.
    • PlayNiagaraParticleEffect(播放Niagara粒子特效)
    • PlayParticleEffect(播放级联粒子特效)
    • PlaySound(播放声音)
    • ResetDynamics(重设动力)


      9.png

    1.4 动画通知状态 AnimNotifyState

    动画通知状态(通知状态)与上面的普通动画通知类似.它拥有三个事件:NotifyBegin,NotifyTick,NotifyEnd.在通知状态开始与结束时分别触发NotifyBeginNotifyEnd;在每次动画更新时都会触发NotifyTick事件,直到NotifyEnd被触发为止.

    使用通知状态时需要注意的其他事项:

    • 必定以NotifyBegin事件作为开始.
    • 必定以NotifyEnd事件作为结束.
    • Tick事件必定发生在NotifyBeginNotifyEnd之间.
    • 不同动画通知(AnimNotifyAnimNotifyState)之间的排序并非固定.如将两个AnimNotifyState放置在一起,第一个结束之后第二个并不一定会开始.因此他们应该相互独立,不应该有相互依赖.
    • 支持动画倒放,但仍会首先调用NotifyBegin,最后调用NotifyEnd.

    1.4.1 创建自己的AnimNotifyState子类.

    • 继承AnimNotifyState类,并重载NotifyBegin,NotifyTick,NotifyEnd等函数:


      1.png
      2.png
    • 动画序列通知轨迹上添加新建的AnimNotifyState子类:
      3.png
    • 调整AnimNotifyState的起始于结束位置:


      4.png

    蒙太奇

    骨骼控制

    瞄准偏移

    相关文章

      网友评论

        本文标题:Animation Notify

        本文链接:https://www.haomeiwen.com/subject/rktbyhtx.html