How-To: Fade Occluding Geometry

Goal: fade out walls / foliage that come between the camera and the pawn, instead of (or alongside) pulling the camera in.

Prerequisites
None on the occluders themselves - the plugin ships the fade material (M_CrimsonCameraOccluderFade) and references it by default in Project Settings, so an occluder's own material is never modified.

1. Add the occlusion component

UCrimsonCameraOcclusionComponent traces from the camera to the pawn each tick. For occluders that carry the fade tag it temporarily swaps each material slot to a dynamic instance of the project's dither fade material, drives the fade scalar in, then restores the originals once the occluder no longer blocks (a fast FadeOutInterpSpeed returns the original almost immediately). It runs only for the locally-controlled pawn.

Pawn Blueprint -> Add Component -> Crimson Camera Occlusion Component.
Verify
The pawn lists a Crimson Camera Occlusion Component in its component tree.

2. Tag the occluders

  1. Add the FadeableActorTag (default CameraFadeable) to each occluder actor (Actor -> Tags). That is the only per-occluder step - their materials are left untouched.
  2. Optionally tune FadedAmount, FadeInterpSpeed, FadeOutInterpSpeed (faster reappear), TraceRadius, and TraceChannel on the component.
Verify
With a tagged wall between camera and pawn it fades; remove the tag and the same wall stays solid - confirming the tag is what opts an occluder in.

3. The fade material (optional)

Fading works out of the box: Config/DefaultCrimsonCamera.ini points Project Settings -> Crimson -> Crimson Camera -> Occluder Fade Material at the bundled M_CrimsonCameraOccluderFade. To use your own look, set that project setting, or set FadeMaterialOverride on one pawn's component. A fade material just needs a scalar parameter named by FadeParameterName (default FadeAmount, 0 = opaque -> 1 = invisible) wired to a dither / opacity-mask.

Appearance while fading
Because every slot is swapped to the fade material for the brief fade, the occluder shows that material's look (a consistent dither, not its own textures) while it vanishes - deliberately uniform rather than guessing per-slot colours. Restoration is automatic, and a fast FadeOutInterpSpeed returns the originals almost immediately once it stops blocking. If no fade material is configured (override and project default both unset), the component logs once and does nothing.
Verify
Walk so a tagged wall is between camera and pawn - it dithers out, and restores to its original material when it no longer blocks.

See also

  • How-To: Prevent Camera Clipping - pull the camera in instead of (or alongside) fading occluders.
  • How-To: Expose Camera Options as User Settings - let players turn occlusion fade on/off and set its strength.