// Portage UE 5.5 - lot O7e (Docs/Migration/11_Audit_Optimisation.md ยง16.8). // // Les coiffures LifePlay sont des SkeletalMesh dont les os portent les noms Genesis 8 : Person les fait suivre le corps // par SetLeaderPoseComponent (correspondance par nom d'os). Une coiffure de Fab est le plus souvent un maillage statique, // modele autour d'une tete de reference qui n'est pas celle de Bridget. // // Cette commandlet : // 1. mesure la tete du corps (-Body, sommets rattaches a l'os -Bone ou a ses descendants) et la tete de reference // fournie avec la coiffure (-FitHead) ; // 2. place la coiffure (-Static) sur la tete du corps : echelle par axe mesuree sur le haut du crane, sans // oreilles, nez ni cou (largeur, profondeur ; -Uniform : largeur seule), alignement du centre et du sommet du crane, puis correction si l'os de liaison du squelette cible n'a pas la meme pose de reference que // celui du corps ; // 3. cree un squelette (copie de celui de -RefHair, une coiffure existante) et le SkeletalMesh -Out, tous les sommets // lies rigidement a l'os -Bone (FStaticToSkeletalMeshConverter du moteur) ; // 4. sauvegarde. Aucun asset existant n'est modifie (les sources sont dupliquees en memoire). // // Usage : // UnrealEditor-Cmd.exe -run=LPHairFromStaticMesh -Static=/Game/.../Hair_17 -FitHead=/Game/.../Head // -Out=/Game/Heavy/New5/Hairs/Pocolov17 [-Body=/Game/Heavy/Daz/Bridget/bridget_gp] // [-RefHair=/Game/Heavy/New4/Hairs/FloraHair_New] [-Bone=head] [-Scale=1.0] [-OffsetZ=0] [-OffsetY=0] [-Margin=1.05] [-Cranium=0.3] // [-Uniform] [-DryRun] // -Scale, -OffsetZ, -OffsetY : retouches manuelles appliquees apres l'ajustement automatique (cm). // -Cranium : epaisseur mesuree sous le sommet du crane, en fraction de la profondeur de la tete (defaut 0,3) ; // -Margin : agrandissement de securite de la calotte (defaut 1,05). // -Skin=transfer (defaut) : chaque sommet recoit les poids des -Neighbors (6) sommets du corps les plus proches // (bras et jambes exclus) et tout sommet a moins de -Gap (0,3 cm) de la peau, ou dessous, est repousse le long de la // normale du corps : les meches longues suivent cou, epaules et poitrine. -Skin=rigid : tout sur l'os -Bone. #pragma once #include "CoreMinimal.h" #include "Commandlets/Commandlet.h" #include "LPHairFromStaticMeshCommandlet.generated.h" UCLASS() class ULPHairFromStaticMeshCommandlet : public UCommandlet { GENERATED_BODY() public: ULPHairFromStaticMeshCommandlet(); virtual int32 Main(const FString& Params) override; };