Add selection outline post-process setup (material pending)

- PostProcessComponent on Pawn (unbound, applies to entire scene)
- Auto-loads M_PS_Editor_SelectionOutline material at BeginPlay
- Removed debug bounding box from Tick
- Custom depth stencil already toggled on selected actors
- Material needs to be created in UE editor (edge detection on CustomStencil)
- Instructions: use TexCoord + Constant2Vector offsets for 4-neighbor sampling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-10 21:28:24 +02:00
parent 36b04bee61
commit 5be3a777f9
4 changed files with 48 additions and 36 deletions

View File

@@ -4,39 +4,44 @@ description: Runtime editor plugin for UE 5.5 - object placement, scene editing,
type: project
---
PS_Editor is a runtime editor plugin for Unreal Engine 5.5 that will be integrated into the PROSERVE project.
**Why:** Enable runtime scene editing in packaged builds - place objects, configure properties, define scenarios, manipulate splines, modify lighting, and save/load scenes as JSON.
PS_Editor is a runtime editor plugin for Unreal Engine 5.5 for the PROSERVE project.
Key decisions:
- UI: UMG driven by C++ (Slate)
- Gizmos: Custom actor with BasicShapes + unlit material (InteractiveToolsFramework is editor-only)
- Serialization: JSON via Json/JsonUtilities modules (future)
- Gizmos: Custom actor with BasicShapes + unlit material (ITF is editor-only)
- Serialization: JSON via Json/JsonUtilities (FJsonObjectConverter)
- Naming: PS_Editor_ prefix on all files/classes
- Plugin path: Unreal/Plugins/PS_Editor/
- AZERTY keyboard layout: arrows + A/Q for movement, E/R/T for modes
- AZERTY keyboard: arrows + A/Q for movement, E/R/T for modes
## Completed Phases
### Phase 1 - GameMode + Camera
- PS_Editor_GameMode, PS_Editor_Pawn, PS_Editor_PlayerController, PS_Editor_HUD
- Camera: Fly (RMB), Pan (LMB drag), Orbit (Alt+LMB / MMB)
- Movement: arrows + A (up) / Q (down)
### Phase 2 - Selection + Transform + Undo
- SelectionManager: raycast click-to-select, Ctrl+click multi-select, Movable actors only
- Gizmo: custom actor with colored arrows (R/G/B), cones, SDPG_Foreground, constant screen size
- Click-to-select (Movable actors only), Ctrl+click multi-select
- Custom gizmo (R/G/B arrows + cones, SDPG_Foreground, constant screen size)
- Translate/Rotate/Scale via gizmo drag, hotkeys E/R/T
- Snap to ground (End key), soft-delete (Delete key)
- Undo/Redo system: custom UndoManager, Ctrl+Z / Ctrl+Y, 50 action stack
- Properties panel: editable Location/Rotation/Scale fields
- Toolbar: mode buttons + snap ground
- Material: M_PS_Editor_Gizmo (Unlit, Vector Parameter "Color" → Emissive, Translucent, Disable Depth Test)
- Snap to ground (End), soft-delete (Delete + confirmation dialog)
- Undo/Redo (Ctrl+Z/Y, 50 action stack)
- Properties panel + toolbar UI
- Material: M_PS_Editor_Gizmo (Unlit, "Color" param, Translucent, Disable Depth Test)
## Next: Phase 3 - Object Spawning
- Catalog/list of objects to place
- Drag & drop or click to spawn
- Duplication of existing objects
### Phase 3 - Object Spawning
- SpawnableComponent: marker on BPs (name, category, thumbnail)
- SpawnCatalog DataAsset + Factory for easy creation
- SpawnManager: spawns in front of camera, tracks all spawned actors
- Catalogue UI: thumbnail cards, click to spawn, grouped by category
- CaptureAllThumbnails on DataAsset: auto-generates from UE thumbnails
- Spawn undo/redo, auto-deselect hidden actors
## Next: Phase 4 - JSON Serialization
- Save/load scenes as JSON
### Phase 4 - JSON Serialization
- SceneData USTRUCT (Version, SceneName, Timestamp, Actors[ClassPath, Location, Rotation, Scale])
- SceneSerializer: Save/Load/Clear/GetSavedSceneNames
- Files in Saved/PS_Editor/Scenes/{name}.json
- UI: Save field + button, New Scene, saved scenes list with click-to-load
## Next: Phase 5 - Advanced Editing
- Splines, lighting, AI characters, property editing