## IdolAnimInstance UpdateAnimation每帧执行PrepareMocapParameters(),会获取TsMotionRetargetComponent的引用(正常情况会获取IdolActor的Controller中的TsMotionRetargetComponent。 TsMotionRetargetComponent,包含TsChingmuMocapReceiverActor => ChingmuMocapReceiverActor # 相关动画节点 ## AnimNode_FullBody 青瞳的动捕数据通过**AnimNode_FullBody**节点进行接收。具体是通过AMotionReceiverActor接收逻辑。 ## AnimNode_FacialExpression FaceMask面捕节点。 但具体的数据接收是在TsMediaPipeMocapReceiverActor与TsMotionRetargetComponent。 ### FacialExpressionConfigAsset 用于设置表情各种数据。所有角色的表情资产位于`Content/LiveDirector/FaceExpressionConfig`。 比较关键的曲线映射,也就是将Arkit面捕数据从一个BlendShape0~1映射成5个对应的blendShape,这样做到更加细腻的表情效果。比如tongueOut => tongueOut_1 tongueOut_2 tongueOut_3 tongueOut_4 tongueOut_5 BlendShape Maya源文件位于 ## 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**。