Files
UE5-Modular-Game-Framework/docs/blueprints/17-capture/147_MI_MirrorInstances.md
Lefteris Notas 0a2d08b2ad Add Planar Capture System implementation checklist and developer reference
- Created a comprehensive implementation checklist for the Planar Capture System (Systems 136-147) detailing tasks across multiple phases including C++ core, material foundation, Blueprint actors, data assets, integration, and performance testing.
- Added a developer reference document outlining the architecture, data flow, state machine, budget enforcement, render target pooling, horror features, integration points, multiplayer networking, performance characteristics, debugging methods, and build order for the capture systems.
- Introduced examples of capture surface usage in the Project Void horror game, including specific implementations for mirrors, monitors, portals, and fake windows, along with a checklist for integration tasks.
2026-05-22 15:36:08 +03:00

4.4 KiB

147 — Capture Surface Material Instances (MI_Mirror_*, MI_Portal_*, MI_Monitor_*, MI_FakeWindow_*)

Purpose

Pre-configured Material Instance Constants (MICs) for common capture surface states. These are children of M_CaptureSurface_Master (144) with static switches and default parameters pre-set for each use case.

Dependencies

  • Requires: M_CaptureSurface_Master (144), MPC_CaptureSurface (145)
  • Required By: All capture surface actors (139-143)
  • Engine/Plugin Requirements: None

Class Info

Property Value
Asset Type MaterialInstanceConstant
Parent Material M_CaptureSurface_Master
Asset Path Content/Framework/Capture/Materials/
C++ Status N/A
Assets to Create 7 material instances

1. Material Instance Catalog

MI_Mirror_Clean

Static Switch Value
bIsMirror true
bEnableHorrorLayers false
Scalar Override Value Note
SteamIntensity 0.0 No fog
DirtOpacity 0.0 Clean
SurfaceAge 0.0 No oxidation

MI_Mirror_Dirty

Static Switch Value
bIsMirror true
bEnableHorrorLayers false
Scalar Override Value Note
DirtOpacity 0.4 Moderate dirt
SurfaceAge 0.3 Slight yellowing

MI_Mirror_Steam

Static Switch Value
bIsMirror true
bEnableHorrorLayers false
Scalar Override Value Note
SteamIntensity 0.6 Visible fog
CondensationFlow 0.5 Slow rivulet drift
DistortionAmplitude 0.2 Slight warp
SteamEmissiveIntensity 0.3 Subtle glow

MI_Mirror_Horror

Static Switch Value
bIsMirror true
bEnableHorrorLayers true
Scalar Override Value Note
WrongReflectionBlend 0.0 Starts off (driven by MPC at runtime)
MirrorDarkness 0.0 Starts normal
TextRevealProgress 0.0 Hidden until scare
DistortionAmplitude 0.0 Normal until scare

MI_Portal_Standard

Static Switch Value
bIsMirror false
bEnableHorrorLayers false
Texture Override Value Note
CaptureTexture (set at runtime by component) RT assigned dynamically

MI_Monitor_Security

Static Switch Value
bIsMirror false
bEnableHorrorLayers false
Scalar Override Value Note
ScanlineIntensity 0.3 CRT scanline overlay (add as custom parameter)

MI_FakeWindow_Interior

Static Switch Value
bIsMirror false
bEnableHorrorLayers false
Scalar Override Value Note
RainIntensity 0.0 Weather overlay off (add as custom parameter)
FrostIntensity 0.0 Weather overlay off (add as custom parameter)

2. Usage Assignment

Actor Default MI Swap Options
BP_Mirror MI_Mirror_Clean MI_Mirror_Dirty, MI_Mirror_Steam
BP_Portal MI_Portal_Standard
BP_Monitor MI_Monitor_Security PoweredOffMaterial (custom)
BP_HorrorMirror MI_Mirror_Horror MI_Mirror_Clean (pre-scare), MI_Mirror_Steam
BP_FakeWindow MI_FakeWindow_Interior

3. Manual Implementation Guide

  1. Create all 7 Material Instance Constants
  2. Parent: M_CaptureSurface_Master
  3. For each, set Static Switch Parameters as listed above
  4. Set Scalar Parameter Overrides where non-zero
  5. Assign to corresponding Blueprint actor defaults
  6. Test: place mirror with MI_Mirror_Steam, verify fogged appearance

4. Build Checklist

  • Create MI_Mirror_Clean (bIsMirror=true, all scalars=0)
  • Create MI_Mirror_Dirty (DirtOpacity=0.4)
  • Create MI_Mirror_Steam (SteamIntensity=0.6)
  • Create MI_Mirror_Horror (bEnableHorrorLayers=true)
  • Create MI_Portal_Standard (bIsMirror=false)
  • Create MI_Monitor_Security (bIsMirror=false)
  • Create MI_FakeWindow_Interior (bIsMirror=false)
  • Assign defaults to each BP child's SurfaceMesh
  • Verify all compile without material errors