Manuals of ComponentCameraSystem
  • Introduction
  • Basic Uses
    • General Workflow
    • Working with Sequencer
    • Third Person Camera
    • Lock-On Camera
    • Camera Shake
    • Camera Postprocessing
    • Camera Lens Effect
    • Camera Dither Fade
    • Photo Mode (Experimental)
    • Other Features
    • FAQ
  • Advanced Uses
    • Change Component Properties at Runtime
    • Customizing Camera Components
      • Customizing ECameraComponentFollow, ECameraComponentAim and ECameraExtensionBase
      • Customizing Existing Components: ControlAim as An Example
      • Customizing ECameraGroupActorComponent
      • Customizing ECameraHUD
      • Customizing EPlayerCameraManager
    • Camera Dampers
    • Animating Camera
    • Mixing Camera
    • Sequenced Camera
    • Keyframing Camera
    • ArchViz Camera
    • Integrating with Montage
    • Integrating with Gameplay Ability System (GAS)
  • Showcases
    • Boss Battle Camera
    • Group Aim Camera
    • Orbit Camera
    • Rail Camera
    • Crane Camera
    • Third Person Framing Camera
    • First Person Shooter Camera
    • Pseudo First Person Shooter Camera
    • Static Camera
    • Only Follow Camera
    • Only Aim Camera
  • Camera Components
    • Follow Components
      • ScreenFollow
      • SimpleFollow
      • HardLockFollow
      • OrbitFollow
      • RailFollow
      • CraneFollow
    • Aim Components
      • TargetingAim
      • HardLockAim
      • ControlAim
    • Extension Components
      • ResolveOcclusionExtension
      • MixingCameraExtension
      • ConfinerExtension
      • ResolveGroupActorExtension
      • AnimatedCameraExtension
      • KeyframeExtension
      • ConstrainPitchExtension
      • ModifyAimPointExtension
      • VelocityBasedRollingExtension
    • Miscellaneous
      • Photo Camera
      • Animated Camera
      • Keyframed Camera
      • ArchViz Camera
      • ArchViz CineCamera
      • ArchViz Camera Component
      • ArchViz CineCamera Component
      • Sequenced Camera Actor
      • Group Actor Component
      • CameraModifier_CameraShake
      • PCMGNeuralNetwork
      • ECamera Shake Source Actor
  • Blueprint Nodes List
    • ECameraBase
    • ECameraSettingsComponent
    • EPlayerCameraManager
    • ECameraLibrary
    • ECameraGroupActorComponent
    • RailFollow
    • ScreenFollow
    • ControlAim
    • MixingCameraExtension
    • VelocityBasedRollingExtension
  • Code Framework
    • Code Framework
  • Changelog
    • Changelog
      • V0.1.x
      • V0.2.x
Powered by GitBook
On this page
  1. Basic Uses

Camera Dither Fade

PreviousCamera Lens EffectNextPhoto Mode (Experimental)

Last updated 10 months ago

In most games, an object occurring between the character and camera will be dithered out, or fading out, according to the duration it blocks the character.

ComponentCameraSystem offers an easy way to setup camera dither fade. Just follow the next steps:

  1. Create a new blueprint class inherting the EPlayerCamaraManager class:

  1. Open the blueprint class you just created and you can see several parameters in the Dither section. Tweak them according to your needs. An introduction to these parameter is presented at the end of this page. When you finish, don't forget to set this class in your player controller.

  1. The next step is to setup the materials you want to apply dither fade to.

    • For the player character, go to the main material (e.g., the M_Mannequin material in UE5) and connect to the Opacity Mask node as follows:

    That is, first create a scalar parameter named EFadeWeight (mandatory name) and set its default value as zero; then substract it with 1 followed by a DitherTemporalAA node. Finally connect it to Opacity Mask.

    • For other materials including foliage, buildings, etc, do the same thing and connect to the Opacity Mask pin. But for some materials, you should first set the Blend Mode to Masked because the Opacity Mask pin shows up only in the Blend Mode.

  2. Now enjoy the nice dithering effect!

Known issue: The DitherTemporalAA node can result in an issue under some occasions: it causes low-bit shadow artifacts, as shown below. If you really care about this issue, maybe you should avoid using this feature, and I will attempt to deal with it in the Beta version.

Update 1: You can partly solve this issue by adding a ShadowPassSwitch node right after the DitherTemporalAA node to have shadows opaque. The downside is that if you do so, the shadows will never disappear even if the object itself turns fully transparent.

Descriptions of dither paramerters:

Parameter
Description

Enable Dither

Whether to enable dither fade.

Dither Fade Params

A set of parameters defining dither behaviours.

Object Types

Array of object types of actors that should be taken into account for fade. Note that this parameter should exclude the type of self, which is usually Pawn.

Actors Types to Ignore

Actor types to ignore for fade.

Actors to Ignore

Actors ignored for fade.

Sphere Radius

Sphere radius for tracing objects.

Max Trace Length

Maximum trace length. Set as 0 to use the length from camera to target.

Enable Self Dither

Whether to enable self dither fade.

Self Type

Object type of self, usually Pawn.

Dither Self Trace Length

Trace length for dither fading the controlled pawn (self).

Dither Self Max Weight Distance

Distance determining max dither weight. If camera-hit distance is less than this value, weight of self dither would be the largest.

Show Debug

Whether to show debug info.

Max Weight

Maximum dither fade weight. 1 represents fully faded.

Dither Fade In Time

Fade in time.

Dither Fade Out Time

Fade out time.

Dither Tick Interval

Tick interval, in seconds. Large values save more performance but will result in lagging.

Remarks: Dither fade now only supports Masked materials. For materials that cannot be set as Masked blend mode, I recommend using .

ResolveOcclusionExtension