LifePlay-Revival/Source/LifePlayEditorTools/LPAnimEvalCommandlet.h

36 lines
2 KiB
C
Raw Normal View History

// Lot AP2 (Docs/Migration/20_Chaine_Animations.md) : etapes 3 et 5 de la chaine des animations, sans fenetre.
//
// 1. Pose T : ajuste la pose T de chaque corps sur celle de la reference, ecrit retarget_pose_<Corps>.txt
// (lu par Tools/anim/RetargetPack.py) et controle l'ajustement : segments ajustes <= SeuilPoseT,
// reglages gauche / droite symetriques a SeuilSymetrie degres pres, aucun reglage > SeuilReglage degres (SeuilReglageDoigts pour les doigts).
// 2. Evaluation : pour chaque clip de reference qui a une copie par corps, a Instants instants, compare la
// formule (phase B) et le clip converti a la reference ; ecart pire <= SeuilEval.
// Rapports : <Out>/rapport_poseT_<Corps>.json, <Out>/eval_<Corps>.csv (colonnes de la tournee de la sandbox),
// <Out>/rapport.json. Code de sortie 0 si tous les controles passent, 1 sinon.
//
// Usage :
// UnrealEditor-Cmd.exe <projet> -run=LPAnimEval [-ClipDir=/Game/Quaternius/UAL] [-RefClip=A_TPose]
// [-Bodies=Bridget:B_,Michael:M_] [-Instants=3] [-PoseDir=<Saved/Measurement>] [-Out=<Saved/AnimPipeline/quaternius>]
// [-SeuilPoseT=1] [-SeuilSymetrie=0.5] [-SeuilReglage=30] [-SeuilReglageDoigts=45] [-SeuilEval=1] [-Clips=Idle_Loop,Walk_Loop]
// [-BodyClipDir=<dossier>] [-Templates=Bridget:<chemin d'asset>,Michael:<chemin d'asset>] [-PoseOnly]
// -BodyClipDir : dossier des clips convertis <Prefixe><Clip> (defaut : ClipDir) ; les clips source restent dans ClipDir.
// -Templates : clip qui fournit le squelette de chaque corps (defaut : <BodyClipDir>/<Prefixe><RefClip>).
// -PoseOnly : s'arrete apres l'etape 3 (retarget_pose_<Corps>.txt, rapport_poseT_<Corps>.json), ecrit rapport.json
// avec "pose_seule": true ; sans clips convertis. Code 1 si l'etape 3 echoue, 0 sinon.
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPAnimEvalCommandlet.generated.h"
UCLASS()
class ULPAnimEvalCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPAnimEvalCommandlet();
virtual int32 Main(const FString& Params) override;
};