From b893cf7e0292b5d4588b212d89a5a6fb8c122305 Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Fri, 21 Jun 2024 15:23:12 +0800 Subject: [PATCH] vault backup: 2024-06-21 15:23:12 --- 02-Note/DAWA/ASoul/流程笔记/动捕&面捕.md | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) 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