Unreal FAnimNode_Base & FAnimati

2019-10-15  本文已影响0人  Mr_约科

FAnimNode

所有运行时动画节点的基础。保证可与最终输出姿势连接。

1. Function

Initialize_AnyThread(const FAnimationInitializeContext& Context)
功能:在节点首次运行时调用
补充:任何时候当您需要进行初始化或重新初始化时调用该函数(当修改实例的网格物体时)
参数:提供访问相关数据的上下问结构

Update_AnyThread(const FAnimationUpdateContext& Context)
功能:调用以更新图形相对于此节点的状态
补充:调用该函数来更新当前状态(比如更新播放时间或混合权重)。该函数取入一个FAnimationUpdateContext,它知道更新的DeltaTime和当前的节点混合权重。
参数:提供访问相关数据的上下问结构

EValuate_AnyThread(FPoseContext& Output)
功能:根据Update()中设置的权重调用以评估局部空间骨骼变换
补充:调用该函数来生成一个 “ 姿势 ”(一系列的骨骼变换)
参数:输出姿态以写入姿态或曲线数据,还提供对相关数据作为上下文的访问

CacheBones_AnyThread(const FAnimationCacheBonesContext& Context)
功能:调用以缓存此节点需要跟踪的所有骨骼。当发生LOD切换时,通常在启动时调用它,可以在任何线程上调用。
参数:提供访问相关数据的上下文结构

EvaluateComponentSpace_AnyThread(FComponentSpacePoseContext& Output)
功能:根据Update()中设置的权重调用以评估局部空间骨骼变换
参数:输出姿态以写入姿态或曲线数据,还提供对相关数据作为上下文的访问

2. 特殊标识符

不赞成,不推荐使用的功能。Please use xxx instead
声明部分UE_DEPRECATED
定义部分PRAGMA_DISABLE_DEPRECATION_WARNINGS

FAnimationPoseContext

构造函数:
结构FAnimInstanceProxy代替对象的动画树更新期间代替的传来传去的UAnimInstance
FAnimationBaseContext(FAnimInstanceProxy* InAnimInstanceProxy)
FAnimationPoseContext(UAnimInstance* InAnimInstance)
FAnimationBaseContext(const FAnimationBaseContext& InContext)
功能:
UAnimBlueprint* GetAnimBlueprint()
功能:获取与此上下文关联的AnimBlueprint
IAnimClassInterface* GetAnimClass()
功能:获取与此上下文关联的Blueprint | AnimClassInterface
void LogMessageInternal(FName InLogType, EMessageSeverity::Type InSeverity, FText InMessage)
功能:节点上下文的接口,用于向代理注册日志消息

1. FAnimationInitializeContext

FAnimationInitializeContext(FAnimInstanceProxy* InAnimInstanceProxy)

2. FAnimationCacheBonesContext

FAnimationCacheBonesContext(FAnimInstanceProxy* InAnimInstanceProxy)

3. FPoseContext

4. FComponeSpacePoseContext

5. FAnimationUpdateContext

上一篇 下一篇

猜你喜欢

热点阅读