Mesh Optimizer: sibling StaticMesh duplicate remover (UE 5.7)
Editor plugin that detects geometrically-identical sibling StaticMeshes across a level, rebases each placement onto one canonical mesh with a corrected transform (W' = D * W, verified by exact vertex matching), and can collapse groups into HISM. Native Slate tool panel + BlueprintCallable UOptimizerSubsystem. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
39
Source/OptimizerEditor/OptimizerEditor.Build.cs
Normal file
39
Source/OptimizerEditor/OptimizerEditor.Build.cs
Normal file
@ -0,0 +1,39 @@
|
||||
// Copyright IHY.
|
||||
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class OptimizerEditor : ModuleRules
|
||||
{
|
||||
public OptimizerEditor(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[]
|
||||
{
|
||||
"Core",
|
||||
"CoreUObject",
|
||||
"Engine", // UStaticMesh, UStaticMeshComponent, AActor, FTransform
|
||||
});
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[]
|
||||
{
|
||||
// --- editor core ---
|
||||
"UnrealEd", // GEditor, FScopedTransaction, UEditorActorSubsystem, editor world context
|
||||
"EditorSubsystem", // UEditorSubsystem (base of UOptimizerSubsystem)
|
||||
"Slate", // notifications / future Slate bits
|
||||
"SlateCore",
|
||||
"InputCore",
|
||||
"ToolMenus", // UToolMenus — Tools menu entry
|
||||
"Projects", // IPluginManager
|
||||
"UMG", // UWidgetBlueprint chain pulled in by the EUW headers
|
||||
"UMGEditor", // WidgetBlueprint.h include path (transitive via EditorUtilityWidgetBlueprint.h)
|
||||
"Blutility", // UEditorUtilitySubsystem / UEditorUtilityWidgetBlueprint (open the EUW panel)
|
||||
|
||||
// --- mesh geometry & asset discovery (load-bearing for fingerprinting) ---
|
||||
"MeshDescription", // FMeshDescription — LOD0 source vertex/poly data
|
||||
"StaticMeshDescription", // FStaticMeshAttributes, UStaticMesh::GetMeshDescription
|
||||
"AssetRegistry", // enumerate UStaticMesh assets when needed
|
||||
"AssetTools", // asset metadata helpers
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user