diff --git a/02-Note/DAWA/ASoul/流程笔记/动捕&面捕.md b/02-Note/DAWA/ASoul/流程笔记/动捕&面捕.md index 71acf83..604f29f 100644 --- a/02-Note/DAWA/ASoul/流程笔记/动捕&面捕.md +++ b/02-Note/DAWA/ASoul/流程笔记/动捕&面捕.md @@ -1,6 +1,24 @@ - - ## IdolAnimInstance UpdateAnimation每帧执行PrepareMocapParameters(),会获取TsMotionRetargetComponent的引用(正常情况会获取IdolActor的Controller中的TsMotionRetargetComponent。 -TsMotionRetargetComponent,包含TsChingmuMocapReceiverActor => ChingmuMocapReceiverActor \ No newline at end of file +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**。 \ No newline at end of file