LifePlay-Revival/Source/LifePlayEditorTools/LPSetComponentCollisionCommandlet.h
edujiro5972 d13a17dd26 O9b : collision retiree des marqueurs de batiments de la carte (MapMarkers NODE_AddHISM-0/1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:40:54 +02:00

31 lines
1.4 KiB
C++

// Portage UE 5.5 - lot O9 (optimisation ; defaut deja present en 4.27).
//
// Le chargement d'une partie prend ~70 s (4.27 comme 5.5). La trace Unreal Insights montre que 60 s
// vont a la carte de la ville : MapMarkers.GenerateTrees ajoute ~160 000 instances aux composants
// HierarchicalInstancedStaticMesh "Tree" et "Car", qui gardent la collision par defaut (BlockAll) :
// chaque instance recoit un corps physique Chaos (HISMC_AddInstance 55 s, AddActorsToScene x161 000,
// et ~460 Mo de physique en memoire). Ces arbres et voitures sont decoratifs (decision utilisateur).
//
// Cette commandlet change le profil de collision des composants nommes d'un Blueprint (noeuds de la
// SimpleConstructionScript, ou modeles des noeuds "Add Component" comme NODE_AddHISM-0), recompile et sauvegarde. Controle : le profil et l'etat de collision
// sont relus apres modification ; tout ecart, ou composant introuvable : rien n'est sauvegarde.
//
// Usage :
// UnrealEditor-Cmd.exe <projet> -run=LPSetComponentCollision -BP=/Game/BPs/MapMarkers -Components=Tree,Car
// [-Profile=NoCollision] [-DryRun]
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPSetComponentCollisionCommandlet.generated.h"
UCLASS()
class ULPSetComponentCollisionCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPSetComponentCollisionCommandlet();
virtual int32 Main(const FString& Params) override;
};