Files
UE5-Modular-Game-Framework/docs/blueprints/17-capture/145_MPC_CaptureSurface.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

3.3 KiB
Raw Blame History

145 — Capture Surface Material Parameter Collection (MPC_CaptureSurface)

Purpose

Global Material Parameter Collection with 10 scalar parameters that control all capture surface material effects at runtime. Pushed each frame by UBPC_PlanarCapture::PushMPCParameters().

Dependencies

  • Requires: None (standalone MPC asset)
  • Required By: M_CaptureSurface_Master (144), all capture surface actors (139-143)
  • Engine/Plugin Requirements: None

Class Info

Property Value
Asset Type MaterialParameterCollection
Asset Path Content/Framework/Capture/MPC_CaptureSurface.uasset
C++ Status N/A (content asset)
Asset to Create MPC in UE5 editor

1. Scalar Parameters

Parameter Name Default Value Range Description
SteamIntensity 0.0 0.01.0 Steam/fog opacity on mirror surface
DirtOpacity 0.0 0.01.0 Dirt/scratch layer opacity
CondensationFlow 0.0 0.02.0 Condensation normal map panning speed
DistortionAmplitude 0.0 0.01.0 UV distortion magnitude (breathing mirror)
MirrorDarkness 0.0 0.01.0 Mirror darkening (0=normal, 1=black)
WrongReflectionBlend 0.0 0.01.0 Wrong reflection crossfade (horror mode)
TextRevealProgress 0.0 0.01.0 Steam text reveal wipe progress
SteamEmissiveIntensity 0.0 0.05.0 Backlit fog emissive brightness
DelayedReflectionBlend 0.0 0.01.0 Delayed frame ring buffer blend
SurfaceAge 0.0 0.01.0 Oxidation / yellowing tint amount

2. Vector Parameters (Optional — Legendary Tier)

Parameter Name Default Value Description
SurfaceTintColor (1.0, 1.0, 1.0, 1.0) Oxidation/aging color tint
SteamColor (0.8, 0.85, 0.9, 1.0) Steam emissive color

3. Runtime Control

All parameters are driven by C++ via UBPC_PlanarCapture::PushMPCParameters(). Blueprint actors call SetSurfaceMPCParameter(Name, Value) on the parent BP_PlanarCaptureActor to override specific values for that surface.

Per-Surface Override Pattern

BP_HorrorMirror → SetSurfaceMPCParameter("WrongReflectionBlend", 1.0)
  └─ This sets the scalar on the surface's MID, which overrides the MPC value
     (MID overrides take priority over MPC in UE5 material system)

Global Override Pattern

SS_PlanarCaptureManager → all surfaces get MPC pushed each frame
  └─ A gameplay system changes MPC global → affects ALL mirrors/potals/monitors

4. Manual Implementation Guide

  1. Create Material Parameter Collection: Name = MPC_CaptureSurface
  2. Add all 10 scalar parameters with names and default values from Section 1
  3. Add 2 optional vector parameters if using color tinting
  4. Assign this MPC to every capture surface actor's SurfaceMPC variable
  5. In M_CaptureSurface_Master, link all Collection Parameter nodes to this MPC

5. Build Checklist

  • Create MPC_CaptureSurface in editor
  • Add all 10 scalar parameters
  • Add 2 vector parameters (optional)
  • Assign to all BP_* capture actors' SurfaceMPC variable
  • Verify material compiles with MPC references
  • Test: change SteamIntensity in MPC, verify all mirrors fog