24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
## IdolAnimInstance
|
||
UpdateAnimation每帧执行PrepareMocapParameters(),会获取TsMotionRetargetComponent的引用(正常情况会获取IdolActor的Controller中的TsMotionRetargetComponent。
|
||
|
||
TsMotionRetargetComponent,包含TsChingmuMocapReceiverActor => ChingmuMocapReceiverActor
|
||
|
||
# 相关动画节点
|
||
## AnimNode_FullBody
|
||
青瞳的动捕数据通过**AnimNode_FullBody**节点进行接收。具体是通过AMotionReceiverActor接收逻辑。
|
||
|
||
## AnimNode_FacialExpression
|
||
FaceMask面捕节点。
|
||
|
||
但具体的数据接收是在TsMediaPipeMocapReceiverActor与TsMotionRetargetComponent。
|
||
|
||
## HandPoseAnimNode(调整手部Pose?)
|
||
FName HandPoseDataTablePath = TEXT("DataTable'/Game/ResArt/HandPose/DT_HandPoseConfig.DT_HandPoseConfig'");
|
||
|
||
# 相关Actor
|
||
- AMotionReceiverActor:动捕数据接收。
|
||
- AMediaPipeMocapReceiverActor:面捕数据接收。
|
||
|
||
## AMediaPipeMocapReceiverActor
|
||
1. (AMediaPipeMocapReceiverActor)Tick => OnGetMediaPipeData() => **(TsMediaPipeSkeleton)Skeleton.OnGetMediaPipeData(Data)** ,这个函数逻辑在TsMediaPipeMocapReceiverActor。
|
||
2. (TsMediaPipeMocapReceiverActor)ReceiveTick() => UpdateAnimation() 对数据进行过滤调整之后,将**面捕数据塞入AnimNode_FacialExpression**。 |