31 lines
1.3 KiB
C++
31 lines
1.3 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), 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;
|
|
};
|