139 — Mirror Surface Actor (BP_Mirror)
Purpose
Standard planar mirror surface. Designer configures mode, dirt layers, steam parameters, and surface aging. Extends BP_PlanarCaptureActor with default mirror configuration.
Dependencies
- Requires:
BP_PlanarCaptureActor (137), BPC_PlanarCapture (136)
- Required By:
BP_HorrorMirror (142) — extends this for horror features
- Engine/Plugin Requirements: M_CaptureSurface_Master material, MPC_CaptureSurface
Class Info
| Property |
Value |
| Parent Class |
BP_PlanarCaptureActor (C++ ABP_PlanarCaptureActor) |
| Class Type |
Blueprint Actor |
| Asset Path |
Content/Framework/Capture/BP_Mirror.uasset |
| C++ Status |
🔵 BP Spec Only — extends C++ parent |
| BP Asset |
Create in editor: BP_Mirror |
1. Configuration (Class Defaults)
| Variable |
Value |
Description |
CaptureComponent.CaptureMode |
Mirror |
Fixed to Mirror mode |
bStartEnabled |
true |
Active by default |
bDestructible |
false |
Can be shattered (override per instance) |
SurfaceMPC |
MPC_CaptureSurface |
Assign the global MPC |
Mirror-Specific Properties (Set via SetSurfaceMPCParameter)
| Parameter |
Default |
Range |
Description |
DirtOpacity |
0.0 |
0.0–1.0 |
Dirt/scratch layer intensity |
SteamIntensity |
0.0 |
0.0–1.0 |
Steam fog visibility |
CondensationFlow |
0.0 |
0.0–1.0 |
Condensation rivulet normal intensity |
SurfaceAge |
0.0 |
0.0–1.0 |
Oxidation/yellowing tint |
2. Material Setup
| Slot |
Material Instance |
Description |
| SurfaceMesh[0] |
MI_Mirror_Clean |
Default clean mirror |
Pre-configured material instances to assign per mirror:
MI_Mirror_Clean — Pristine mirror, no effects
MI_Mirror_Dirty — DirtOpacity preset at 0.4
MI_Mirror_Steam — SteamIntensity preset at 0.6, animated noise enabled
3. Event Graph
Event BeginPlay
Event: SetMirrorDirtLevel(Level: float)
Event: SetMirrorSteamLevel(Level: float)
4. Communication Matrix
| Target |
Method |
What |
SS_PlanarCaptureManager |
Direct (inherited) |
Registration |
BPC_PlanarCapture |
Direct (inherited) |
Capture driving |
MPC_CaptureSurface |
SetScalarParameterValue (via PushMPCParameters) |
Visual parameters |
SS_AudioManager (132) |
Direct (on shatter) |
Shatter sound |
5. Manual Implementation Guide
5.1 Create BP_Mirror
- Create Blueprint Class: Parent =
BP_PlanarCaptureActor, Name = BP_Mirror
- Open Class Defaults, set
CaptureComponent.CaptureMode to Mirror
- In Components: select
SurfaceMesh, assign a plane mesh (e.g., SM_Plane_200x200)
- Assign
MI_Mirror_Clean to SurfaceMesh material slot 0
- Set
SurfaceMPC to MPC_CaptureSurface
5.2 Add Steam/Dirt Controls
- In Event Graph, create custom event
SetMirrorDirtLevel(Float)
- Wire:
SetSurfaceMPCParameter("DirtOpacity", Level)
- Create custom event
SetMirrorSteamLevel(Float)
- Wire:
SetSurfaceMPCParameter("SteamIntensity", Level) + SetSurfaceMPCParameter("CondensationFlow", Level * 0.5)
5.3 Level Placement
- Drag
BP_Mirror into level
- Rotate so surface normal faces toward player viewing area
- Set
SurfaceDisplayName for debug identification
- Adjust
ProximityTrigger.BoxExtent to cover expected viewing area
6. Build Checklist