// Lot AP6 (Docs/Migration/20_Chaine_Animations.md, section 5) : champs calcules du catalogue des animations. // // Pour chaque cle de livraison.json (AP5), mesure le clip feminin source (copie identique de celui du mod) image // par image, et controle que le clip masculin a la meme duree et le meme nombre d'images. Mesures (corps du clip, // hauteurs depuis le sol du repos, en cm) : // duree, images, cadence ; // boucle : pose de la derniere image comparee a la premiere (mains, pieds, tete, relatives a la hanche), // ecart maximal en % de la taille (tete au repos) ; boucle si <= SeuilBoucle (1 %) ; // deplacement : trajet horizontal de la hanche entre premiere et derniere image (cm, cm/s) et sens par rapport a // l'avant du corps a la premiere image (avant, arriere, cote, sur place si < SeuilSurPlace) ; // posture : par image, allonge (tronc incline de plus de 60 deg), a genoux (genou a moins de 12 cm du sol, // hanche sous 72 % de sa hauteur debout), assis (hanche sous 72 %, en arriere des chevilles de plus // de 20 cm), accroupi (hanche sous 72 %, au-dessus des chevilles), debout sinon ; posture du clip = // celle d'au moins 60 % des images, sinon "variable" ; posture de debut et de fin ; // hauteur_assise_cm : hauteur mediane des articulations de hanche sur les images assises (le siege est plus bas // de l'epaisseur de la cuisse) ; // pieds : part des images ou chaque pied (cheville ou orteil) est a moins de 3 cm de sa hauteur de repos ; // mains : par main, repos (vitesse moyenne par rapport a la hanche < 15 cm/s), mouvement, levee (au-dessus // de la tete sur au moins 30 % des images). // Ecrit /fiches_calculees.json. Code 1 si un clip manque, est vide, ou si F et M different en duree ou en images. // // Usage : // UnrealEditor-Cmd.exe -run=LPAnimCatalog [-Livraison=] // [-Out=] [-SeuilBoucle=1] [-SeuilSurPlace=5] #pragma once #include "CoreMinimal.h" #include "Commandlets/Commandlet.h" #include "LPAnimCatalogCommandlet.generated.h" UCLASS() class ULPAnimCatalogCommandlet : public UCommandlet { GENERATED_BODY() public: ULPAnimCatalogCommandlet(); virtual int32 Main(const FString& Params) override; };