2026-10-06 19:10:53 +00:00
|
|
|
// 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
|
2026-10-07 13:49:56 +00:00
|
|
|
// (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).
|
2026-10-06 19:10:53 +00:00
|
|
|
// 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>]
|
2026-10-07 13:49:56 +00:00
|
|
|
// [-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.
|
2026-10-06 19:10:53 +00:00
|
|
|
|
|
|
|
|
#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;
|
|
|
|
|
};
|