reckfellENGINE

Post-processing

Camera profiles, volumes, exposure, bloom, LUTs and diagnostics.

On this page

Camera profiles

PostProcessProfile stores image effects separately from level lighting and materials. Multiple cameras can share a profile; edits affect every reference to that resource. Duplicate the profile when a camera needs an independent look.

Use Forward+ or Deferred for the full desktop 3D effect set. Mobile, Compatibility and Canvas have different capabilities: retaining a setting does not mean the selected renderer executes the effect. Choose a renderer.

  1. Select the game Camera3D, rather than the editor's free camera.
  2. Assign or create a PostProcessProfile under Post Processing.
  3. Open the profile in Inspector and add the required effect.
  4. Enable the effect and the override checkboxes beside the parameters you want it to control. A parameter checkbox makes the profile supply that value.
  5. Check the camera's Post Process Weight: zero removes the profile's influence.
  6. Save the profile as .rdata, save the scene and run with that same camera.

Start with manual exposure and tone mapping. Keep exposure fixed while adjusting lights; automatic adaptation would otherwise compensate for your changes.

Adjustment order

GoalToolCheck
Correct an overly bright or dark frameExposure, TonemapLight intensity and manual exposure first, then tone mapping
Reveal shadows without lifting the entire frameLocal ExposureRenderer support and halos along high-contrast edges
Shape colorColor Grading, Channel Mixer, Curves, LUTDo not use strong grading to compensate for incorrect exposure
Add glowBloomBright areas should provide an intentional source of glow
Blur objects outside the focal planeDepth of FieldFocus distance, camera mode and depth availability
Add optical characterVignette, Grain, Flare, AberrationDetail and UI legibility at the target resolution

Automatic exposure meters the image and requires Forward+ or Deferred. Physical DOF requires CameraAttributesPhysical on the camera. Sharpening on top of an upscaler can amplify noise and edges; check the upscaler's existing sharpening first.

Bloom, LUTs and presets

Standard bloom provides soft glow. Convolution bloom uses an optical kernel; account for the cost and kernel size. Avoid maximizing every layer: inspect contrast and detail around bright objects.

Color controls include wheels, channel mixing, curves and LUTs. .cube import is supported. Store the chosen LUT in the project with its required license; referencing an external folder does not include the file in your game distribution.

Look profiles and shader presets remain editable. Save a project-specific resource, then change individual parameters. Removing an effect differs from disabling its overrides: a disabled override allows another source to supply the value.

Local volumes and blending

PostProcessVolume3D applies a profile according to the camera's position. A character entering a volume does not change the image if the camera remains outside.

  1. Add PostProcessVolume3D and assign a separate profile, for example an interior look.
  2. Disable Global for a local zone; choose Box or Sphere and set Size or Radius.
  3. Set Blend Distance for a gradual transition.
  4. Check the volume's Enabled, Weight and Priority.
  5. Enable Post Process Use Volumes on the camera. Its volume mask must overlap the zone's Volume Mask.
  6. Move the game camera across the boundary and compare the image inside and outside.

Global volumes are not limited by boundary distance. Overlapping volumes resolve according to priorities, weights and enabled overrides. Keep a local profile limited to the parameters that should actually change.

2D cameras and PostProcessVolume2D also support profiles. Canvas has no 3D scene depth or normals; SSAO, SSR and effects that require those inputs cannot be treated as ordinary Canvas color filters. Separate scene processing from HUD processing when the interface needs to remain legible.

Assign a profile from C#

Attach this component to a Camera3D and assign the resource to Look in Inspector:

C#
using Reckfell;

public partial class CameraLook : Camera3D
{
    [Export] public PostProcessProfile Look { get; set; } = null!;

    public override void _Ready()
    {
        PostProcessProfile = Look;
        PostProcessWeight = 1.0;
        PostProcessUseVolumes = true;
    }
}

Troubleshooting

SymptomCheck
A value changes without affecting the frameActive camera, profile weight, effect Enabled and parameter override
A volume has no effectCamera position, Global/zone size, Weight and overlapping masks
A value unexpectedly returnsOther volumes and the final parameter's source in diagnostics
An effect works in 3D but not CanvasDepth, normal and renderer requirements
Brightness is excessive or unstableAutomatic exposure, light intensity and profile changes
Camera motion leaves trailsTemporal accumulation and editor/game setting differences

Use before/after comparison, parameter-source inspection, volume weights and image scopes: histogram, waveform, RGB Parade and vectorscope. Change one effect at a time with the same camera and exposure.

Custom fullscreen materials support insertion stages, camera inputs and intermediate textures. Choose a stage that supplies the required inputs; surface data and depth are not available everywhere. Shaders and Shader Graph.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.