vault backup: 2024-11-26 18:16:19
This commit is contained in:
45
02-Note/ASoul/动画相关/动捕&面捕.md
Normal file
45
02-Note/ASoul/动画相关/动捕&面捕.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 测试流程
|
||||
1. 需要手机与电脑处于同一个网段。
|
||||
2. 设置MotionServer Ip设置、ARKitNetConfig.ini、MotionNetConfig.ini、MotionNetConfig2.ini
|
||||
3. 打开FaceMask,设置角色名称、电脑IP并且点连接。
|
||||
4. 打开MotionProcess,设置角色名称并且点连接。
|
||||
|
||||
**可以直接打开Map_MotionProcess进行开发与测试。**
|
||||
## Editor测试方式
|
||||
GM_TsLiveDirectorGameMode => PC_TsDirectorController=> BP_MotionSender0 BP_MotionReceiver0
|
||||
|
||||
# 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**。
|
Reference in New Issue
Block a user