Files
UnrealEngine/Engine/Plugins/MetaHuman/MetaHumanAnimator/Source/MetaHumanSpeech2Face/Private/DataDefs.h
2025-05-18 13:04:45 +08:00

268 lines
9.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "Containers/Map.h"
#include "Containers/Set.h"
struct RigControlLimits
{
float Min;
float Max;
};
struct RigControlInfo
{
FString Name;
RigControlLimits ModelLimits;
RigControlLimits RigLimits;
};
static inline const TArray<FString> BlinkRigControlNames = {
"CTRL_L_eye_blink.ty",
"CTRL_R_eye_blink.ty"
};
static inline const TArray<FString> RigControlNames = {
"CTRL_L_brow_down.ty",
"CTRL_R_brow_down.ty",
"CTRL_L_brow_lateral.ty",
"CTRL_R_brow_lateral.ty",
"CTRL_L_brow_raiseIn.ty",
"CTRL_R_brow_raiseIn.ty",
"CTRL_L_brow_raiseOut.ty",
"CTRL_R_brow_raiseOut.ty",
"CTRL_L_eye_blink.ty",
"CTRL_R_eye_blink.ty",
"CTRL_L_eye_squintInner.ty",
"CTRL_R_eye_squintInner.ty",
"CTRL_L_eye_cheekRaise.ty",
"CTRL_R_eye_cheekRaise.ty",
"CTRL_L_nose.ty",
"CTRL_R_nose.ty",
"CTRL_L_nose.tx",
"CTRL_R_nose.tx",
"CTRL_L_nose_nasolabialDeepen.ty",
"CTRL_R_nose_nasolabialDeepen.ty",
"CTRL_C_mouth.tx",
"CTRL_L_mouth_upperLipRaise.ty",
"CTRL_R_mouth_upperLipRaise.ty",
"CTRL_L_mouth_lowerLipDepress.ty",
"CTRL_R_mouth_lowerLipDepress.ty",
"CTRL_L_mouth_cornerPull.ty",
"CTRL_R_mouth_cornerPull.ty",
"CTRL_L_mouth_stretch.ty",
"CTRL_R_mouth_stretch.ty",
"CTRL_L_mouth_dimple.ty",
"CTRL_R_mouth_dimple.ty",
"CTRL_L_mouth_cornerDepress.ty",
"CTRL_R_mouth_cornerDepress.ty",
"CTRL_L_mouth_purseU.ty",
"CTRL_R_mouth_purseU.ty",
"CTRL_L_mouth_purseD.ty",
"CTRL_R_mouth_purseD.ty",
"CTRL_L_mouth_towardsU.ty",
"CTRL_R_mouth_towardsU.ty",
"CTRL_L_mouth_towardsD.ty",
"CTRL_R_mouth_towardsD.ty",
"CTRL_L_mouth_funnelU.ty",
"CTRL_R_mouth_funnelU.ty",
"CTRL_L_mouth_funnelD.ty",
"CTRL_R_mouth_funnelD.ty",
"CTRL_L_mouth_lipsTogetherU.ty",
"CTRL_R_mouth_lipsTogetherU.ty",
"CTRL_L_mouth_lipsTogetherD.ty",
"CTRL_R_mouth_lipsTogetherD.ty",
"CTRL_L_mouth_lipBiteU.ty",
"CTRL_R_mouth_lipBiteU.ty",
"CTRL_L_mouth_lipBiteD.ty",
"CTRL_R_mouth_lipBiteD.ty",
"CTRL_L_mouth_sharpCornerPull.ty",
"CTRL_R_mouth_sharpCornerPull.ty",
"CTRL_L_mouth_pushPullU.ty",
"CTRL_R_mouth_pushPullU.ty",
"CTRL_L_mouth_pushPullD.ty",
"CTRL_R_mouth_pushPullD.ty",
"CTRL_L_mouth_cornerSharpnessU.ty",
"CTRL_R_mouth_cornerSharpnessU.ty",
"CTRL_L_mouth_cornerSharpnessD.ty",
"CTRL_R_mouth_cornerSharpnessD.ty",
"CTRL_L_mouth_lipsRollU.ty",
"CTRL_R_mouth_lipsRollU.ty",
"CTRL_L_mouth_lipsRollD.ty",
"CTRL_R_mouth_lipsRollD.ty",
"CTRL_C_jaw.ty",
"CTRL_C_jaw.tx",
"CTRL_C_jaw_fwdBack.ty",
"CTRL_L_jaw_ChinRaiseD.ty",
"CTRL_R_jaw_ChinRaiseD.ty",
"CTRL_C_tongue_move.ty",
"CTRL_C_tongue_move.tx",
"CTRL_C_tongue_inOut.ty",
"CTRL_C_tongue_tipMove.ty",
"CTRL_C_tongue_tipMove.tx",
"CTRL_C_tongue_wideNarrow.ty",
"CTRL_C_tongue_press.ty",
"CTRL_C_tongue_roll.ty",
"CTRL_C_tongue_thickThin.ty"
};
namespace UE::MetaHuman
{
static const TMap<FString, FString> HeadControlsGuiToRawLookupTable = []()
{
TMap<FString, FString> Table;
Table.Add(TEXT("HeadTranslationX"), TEXT("mha_head_ik_ctrl.tx"));
Table.Add(TEXT("HeadTranslationY"), TEXT("mha_head_ik_ctrl.ty"));
Table.Add(TEXT("HeadTranslationZ"), TEXT("mha_head_ik_ctrl.tz"));
Table.Add(TEXT("HeadRoll"), TEXT("mha_head_ik_ctrl.rx"));
Table.Add(TEXT("HeadPitch"), TEXT("mha_head_ik_ctrl.ry"));
Table.Add(TEXT("HeadYaw"), TEXT("mha_head_ik_ctrl.rz"));
return Table;
}();
static const TSet<FString> MouthOnlyRawControls = {
TEXT("CTRL_expressions_jawChinCompressL"),
TEXT("CTRL_expressions_jawChinCompressR"),
TEXT("CTRL_expressions_jawChinRaiseDL"),
TEXT("CTRL_expressions_jawChinRaiseDR"),
TEXT("CTRL_expressions_jawChinRaiseUL"),
TEXT("CTRL_expressions_jawChinRaiseUR"),
TEXT("CTRL_expressions_jawClenchL"),
TEXT("CTRL_expressions_jawClenchR"),
TEXT("CTRL_expressions_jawFwd"),
TEXT("CTRL_expressions_jawLeft"),
TEXT("CTRL_expressions_jawOpen"),
TEXT("CTRL_expressions_jawOpenExtreme"),
TEXT("CTRL_expressions_mouthCheekBlowL"),
TEXT("CTRL_expressions_mouthCheekBlowR"),
TEXT("CTRL_expressions_mouthCornerDepressL"),
TEXT("CTRL_expressions_mouthCornerDepressR"),
TEXT("CTRL_expressions_mouthCornerPullL"),
TEXT("CTRL_expressions_mouthCornerPullR"),
TEXT("CTRL_expressions_mouthCornerSharpenDL"),
TEXT("CTRL_expressions_mouthCornerSharpenDR"),
TEXT("CTRL_expressions_mouthCornerSharpenUL"),
TEXT("CTRL_expressions_mouthCornerSharpenUR"),
TEXT("CTRL_expressions_mouthCornerUpL"),
TEXT("CTRL_expressions_mouthCornerUpR"),
TEXT("CTRL_expressions_mouthCornerWideL"),
TEXT("CTRL_expressions_mouthCornerWideR"),
TEXT("CTRL_expressions_mouthDimpleL"),
TEXT("CTRL_expressions_mouthDimpleR"),
TEXT("CTRL_expressions_mouthFunnelDL"),
TEXT("CTRL_expressions_mouthFunnelDR"),
TEXT("CTRL_expressions_mouthFunnelUL"),
TEXT("CTRL_expressions_mouthFunnelUR"),
TEXT("CTRL_expressions_mouthLeft"),
TEXT("CTRL_expressions_mouthLipsBlowL"),
TEXT("CTRL_expressions_mouthLipsBlowR"),
TEXT("CTRL_expressions_mouthLipsPressL"),
TEXT("CTRL_expressions_mouthLipsPressR"),
TEXT("CTRL_expressions_mouthLipsPurseDL"),
TEXT("CTRL_expressions_mouthLipsPurseDR"),
TEXT("CTRL_expressions_mouthLipsPurseUL"),
TEXT("CTRL_expressions_mouthLipsPurseUR"),
TEXT("CTRL_expressions_mouthLipsPushDL"),
TEXT("CTRL_expressions_mouthLipsPushDR"),
TEXT("CTRL_expressions_mouthLipsPushUL"),
TEXT("CTRL_expressions_mouthLipsPushUR"),
TEXT("CTRL_expressions_mouthLipsStickyLPh1"),
TEXT("CTRL_expressions_mouthLipsStickyRPh1"),
TEXT("CTRL_expressions_mouthLipsThinDL"),
TEXT("CTRL_expressions_mouthLipsThinDR"),
TEXT("CTRL_expressions_mouthLipsThinInwardDL"),
TEXT("CTRL_expressions_mouthLipsThinInwardDR"),
TEXT("CTRL_expressions_mouthLipsThinInwardUL"),
TEXT("CTRL_expressions_mouthLipsThinInwardUR"),
TEXT("CTRL_expressions_mouthLipsThinUL"),
TEXT("CTRL_expressions_mouthLipsThinUR"),
TEXT("CTRL_expressions_mouthLipsTightenDL"),
TEXT("CTRL_expressions_mouthLipsTightenDR"),
TEXT("CTRL_expressions_mouthLipsTightenUL"),
TEXT("CTRL_expressions_mouthLipsTightenUR"),
TEXT("CTRL_expressions_mouthLipsTogetherDL"),
TEXT("CTRL_expressions_mouthLipsTogetherDR"),
TEXT("CTRL_expressions_mouthLipsTogetherUL"),
TEXT("CTRL_expressions_mouthLipsTogetherUR"),
TEXT("CTRL_expressions_mouthLipsTowardsDL"),
TEXT("CTRL_expressions_mouthLipsTowardsDR"),
TEXT("CTRL_expressions_mouthLipsTowardsUL"),
TEXT("CTRL_expressions_mouthLipsTowardsUR"),
TEXT("CTRL_expressions_mouthLowerLipBiteL"),
TEXT("CTRL_expressions_mouthLowerLipBiteR"),
TEXT("CTRL_expressions_mouthLowerLipDepressL"),
TEXT("CTRL_expressions_mouthLowerLipDepressR"),
TEXT("CTRL_expressions_mouthLowerLipRollInL"),
TEXT("CTRL_expressions_mouthLowerLipRollInR"),
TEXT("CTRL_expressions_mouthLowerLipShiftLeft"),
TEXT("CTRL_expressions_mouthLowerLipTowardsTeethL"),
TEXT("CTRL_expressions_mouthLowerLipTowardsTeethR"),
TEXT("CTRL_expressions_mouthPressDL"),
TEXT("CTRL_expressions_mouthPressDR"),
TEXT("CTRL_expressions_mouthPressUL"),
TEXT("CTRL_expressions_mouthPressUR"),
TEXT("CTRL_expressions_mouthSharpCornerPullL"),
TEXT("CTRL_expressions_mouthSharpCornerPullR"),
TEXT("CTRL_expressions_mouthStickyDC"),
TEXT("CTRL_expressions_mouthStickyDINL"),
TEXT("CTRL_expressions_mouthStickyDINR"),
TEXT("CTRL_expressions_mouthStickyDOUTL"),
TEXT("CTRL_expressions_mouthStickyDOUTR"),
TEXT("CTRL_expressions_mouthStickyUC"),
TEXT("CTRL_expressions_mouthStickyUINL"),
TEXT("CTRL_expressions_mouthStickyUINR"),
TEXT("CTRL_expressions_mouthStickyUOUTL"),
TEXT("CTRL_expressions_mouthStickyUOUTR"),
TEXT("CTRL_expressions_mouthStretchL"),
TEXT("CTRL_expressions_mouthStretchLipsCloseL"),
TEXT("CTRL_expressions_mouthStretchLipsCloseR"),
TEXT("CTRL_expressions_mouthStretchR"),
TEXT("CTRL_expressions_mouthUp"),
TEXT("CTRL_expressions_mouthUpperLipBiteL"),
TEXT("CTRL_expressions_mouthUpperLipBiteR"),
TEXT("CTRL_expressions_mouthUpperLipRaiseL"),
TEXT("CTRL_expressions_mouthUpperLipRaiseR"),
TEXT("CTRL_expressions_mouthUpperLipRollInL"),
TEXT("CTRL_expressions_mouthUpperLipRollInR"),
TEXT("CTRL_expressions_mouthUpperLipShiftLeft"),
TEXT("CTRL_expressions_mouthUpperLipTowardsTeethL"),
TEXT("CTRL_expressions_mouthUpperLipTowardsTeethR"),
TEXT("CTRL_expressions_neckDigastricDown"),
TEXT("CTRL_expressions_neckMastoidContractL"),
TEXT("CTRL_expressions_neckMastoidContractR"),
TEXT("CTRL_expressions_neckStretchL"),
TEXT("CTRL_expressions_neckStretchR"),
TEXT("CTRL_expressions_neckSwallowPh1"),
TEXT("CTRL_expressions_neckThroatDown"),
TEXT("CTRL_expressions_neckThroatExhale"),
TEXT("CTRL_expressions_noseNasolabialDeepenL"),
TEXT("CTRL_expressions_noseNasolabialDeepenR"),
TEXT("CTRL_expressions_noseNostrilDilateL"),
TEXT("CTRL_expressions_noseNostrilDilateR"),
TEXT("CTRL_expressions_noseWrinkleL"),
TEXT("CTRL_expressions_noseWrinkleR"),
TEXT("CTRL_expressions_teethBackD"),
TEXT("CTRL_expressions_teethBackU"),
TEXT("CTRL_expressions_teethLeftD"),
TEXT("CTRL_expressions_teethLeftU"),
TEXT("CTRL_expressions_teethUpD"),
TEXT("CTRL_expressions_teethUpU"),
TEXT("CTRL_expressions_tongueBendUp"),
TEXT("CTRL_expressions_tongueIn"),
TEXT("CTRL_expressions_tongueLeft"),
TEXT("CTRL_expressions_tonguePress"),
TEXT("CTRL_expressions_tongueRoll"),
TEXT("CTRL_expressions_tongueThick"),
TEXT("CTRL_expressions_tongueTipLeft"),
TEXT("CTRL_expressions_tongueTipUp"),
TEXT("CTRL_expressions_tongueTwistLeft"),
TEXT("CTRL_expressions_tongueUp"),
TEXT("CTRL_expressions_tongueWide"),
};
} // namespace UE::MetaHuman