LifePlay-Revival/Source/LifePlayEditorTools/LPAnimTwistCommandlet.h

30 lines
1.4 KiB
C
Raw Normal View History

// Lot AP3 (Docs/Migration/20_Chaine_Animations.md) : repartition de la torsion entre os Bend et Twist.
//
// Le retargeter Unreal met toute la rotation d'un membre dans l'os Bend (les os Twist sont hors chaine) :
// la peau de l'epaule, de l'avant-bras et de la cuisse se vrille. Pour chaque cle des clips convertis, la
// rotation de l'os Bend depuis la pose T ajustee est decomposee autour de l'axe du segment (swing / twist) :
// l'os Bend garde la flexion, l'os Twist recoit la rotation complete. Tous les autres os gardent exactement
// leur transformation (controle a chaque cle) ; c'est la repartition de la formule (LPPoseMeasure::TransferPose).
// Les paires viennent du profil du corps (roles upperarm / upperarm_twist / lowerarm, etc.).
//
// Usage :
// UnrealEditor-Cmd.exe <projet> -run=LPAnimTwist [-ClipDir=/Game/Quaternius/UAL] [-RefClip=A_TPose]
// [-Bodies=Bridget:B_,Michael:M_] [-Clips=Idle_Loop,Walk_Loop] [-DryRun] [-Out=<Saved/AnimPipeline/quaternius>]
// Rapport : <Out>/rapport_torsion.json. Code de sortie 0 si chaque clip est traite et conserve les autres os.
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPAnimTwistCommandlet.generated.h"
UCLASS()
class ULPAnimTwistCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPAnimTwistCommandlet();
virtual int32 Main(const FString& Params) override;
};