Diagrams

Overview

Visual diagrams illustrating the internal architecture and runtime behavior of CFOWUMODULE.


1. Fog of War Visual Behavior

What the fog of war actually looks like from a user perspective, covering five aspects:

  • A. When does the fog appear? — Top view (fog active, DynamicMesh visible) vs first person (fog off, mesh cleared, tick stopped).
  • B. What happens when the player moves? — RT_view is cleared to black and repainted every frame (LOS follows the player, old position disappears). RT_revealed is never cleared and accumulates all visited areas at low intensity (2.5%).
  • C. complexTrace — Without it, the revealed area is a perfect circle that ignores walls. With it, N raycasts (default 90) against ECC_WorldStatic produce a visibility polygon clipped by obstacles. Only affects RT_revealed.
  • D. Blur effect — Shader-level effect on fogDynamicMaterial. Without blur, the fog edge is sharp. With blur, blurSize and blurForce produce a smooth gradient transition. Does not change painting or RT content.
  • E/F. Legend and RT lifecycle summary.

Fog of War Visual Behavior Fog of War Visual Behavior


2. Fog Rendering Pipeline

The complete tick-by-tick flow showing how ACFOWSpawner, UCFOWMaker and UCFOWComponent (CCHARUMODULE) collaborate. The Maker owns and clears the render targets, the Component paints into them, and the fog material reads them for display. The cross-module link goes through the FOWUtility singleton (ICFOWData).

Fog Rendering Pipeline Fog Rendering Pipeline


3. Class Architecture

Relationships between classes, interfaces and components across modules. UCFOWMaker (CFOWUMODULE) owns the render targets and mesh. UCFOWComponent (CCHARUMODULE) paints into those render targets. The two never reference each other directly — the link goes through the ICFOWData interface on the ACFOWSpawner singleton.

Class Architecture Class Architecture


4. Agent System & Render Target Painting

How UCFOWComponent paints into the two render targets each tick. The view RT is fully cleared and repainted every frame (player brush + actor agents + room agents). The revealed RT accumulates over time — in complex ray mode it uses raycasts against ECC_WorldStatic to produce a visibility polygon; otherwise it paints a simple circular brush.

Agent System & Render Target Painting Agent System & Render Target Painting


5. Perspective Toggle Flow

How camera perspective changes affect both UCFOWMaker and UCFOWComponent. Both listen to ACPlayerController via ICPlayerControllerBoundable. In first-person view the fog is disabled entirely (mesh cleared, painting stopped). Switching back to top view resumes both systems on the next tick.

Perspective Toggle Flow Perspective Toggle Flow


6. Data Configuration Hierarchy

Fog of war parameters come from two Blueprint structs in CGAMEUMODULE, mapped by CGameManager at initialization. World-level parameters control the fog mesh rendering (render target resolution, blur, intensities, post-process). Player-level parameters control the per-pawn painting behavior (refresh rate, brush sizes, raycast mode).

Data Configuration Hierarchy Data Configuration Hierarchy