Lucid Documentation

Lucid: Cinematic Camera Baker Docs

Setup, Sequence Baker workflow, runtime playback, Motion Track transform queries, CameraWall Fade, and common questions.

Quick Start

Basic runtime camera playback.

1. Bake a Level Sequence

  1. Open Tools → Lucid → Lucid Sequence Baker...
  2. Select a Level Sequence using the asset picker.
  3. Use Origin Relative for most reusable shots.
  4. Confirm the output folder and asset name.
  5. Press Bake. The generated LucidCameraCutAsset is selected in the Content Browser.

2. Add the runtime component

Add a Lucid Camera Runtime Component to a runtime actor such as the player character or a cinematic manager.

The Details panel is intentionally simple. The main exposed property is LucidCameraActorClass. The default is CineCameraActor.

3. Play the cut

Pass the baked asset directly to:

PlayLucidCameraCut(Asset, BlendInTime, BlendOutTime, ...)

For origin-relative playback, use:

PlayLucidCameraCutWithOrigin(Asset, OriginTransform, ...)

4. Use your own camera if needed

Lucid auto-spawns a CineCameraActor by default. If you want to drive your own placed camera actor, register it with RegisterRuntimeCameraSlot.

Sequence Baker

What the baker writes into the Data Asset.

Baked data

The Sequence Baker reads camera transform, cut timing, CineCamera lens/focus data, and CameraActor FOV fallback data from an Unreal Level Sequence and writes it into a LucidCameraCutAsset.

  • Camera position and rotation samples
  • Cut Segments
  • CineCamera lens/focus values
  • Event Markers
  • Camera Shake Markers
  • Motion Track data for source bindings

Bake Space

Origin Relative stores transforms relative to an OriginTransform. At runtime, PlayLucidCameraCutWithOrigin re-applies a runtime origin, allowing the same camera work to play from a different world position or rotation.

World stores absolute world-space transforms.

Overwrite Existing

When enabled, Lucid updates the existing LucidCameraCutAsset in place so existing Blueprint references remain valid. The asset identity is preserved.

When disabled, Lucid appends numbered suffixes such as _001 and _002.

Sample Rate

Sample Rate defaults to the Level Sequence Display Rate. Matching the original Display Rate is recommended for most cases because Lucid interpolates between baked samples at runtime.

CineCamera lens and focus

For CineCamera playback, Lucid samples and applies Current Focal Length, Current Aperture, and Manual Focus Distance. Field of View is kept only as a fallback for standard CameraActor playback and is labeled Field of View (CameraActor Only) in the Data Asset.

Runtime Motion Track Data

Query baked source binding transforms at runtime.

Lucid does not automatically move actors, but it exposes baked Motion Track transform data so you can rebuild actor placement, effects, and gameplay timing in Blueprint or C++.

Blueprint nodes

  • Get Lucid Motion Track Names
  • Get Lucid Baked Binding Transform At Time
  • Get Lucid Baked Binding Transform At Sample Index

These nodes include an explicit Asset pin, so you can select a LucidCameraCutAsset directly from the node when you only need a quick query.

Common workflow

  1. Choose the Lucid Camera Cut Data Asset.
  2. Pick a Source Binding Name from baked Motion Tracks.
  3. Query a transform by playback time or sample index.
  4. Optionally apply a runtime Origin Transform.
  5. Use the returned transform for actor placement, effect spawning, or gameplay timing.

Origin-relative reconstruction

If the sequence was authored around a reference origin, pass the runtime player or origin actor transform and enable origin application. Lucid reconstructs the world transform using the same origin-relative transform composition used by camera playback.

Read-only by design

Motion Track query nodes only return data. They do not automatically move actors, play animations, trigger effects, or convert full Level Sequence logic.

CameraWall Fade

Keep the shot visible when walls block the camera.

What it does

When a Lucid camera cut plays, meshes tagged CameraWall between the camera and the target use a masked dither fade driven by the LucidWallFade scalar material parameter.

Included material assets

Lucid includes CameraWall Fade material assets under /Lucid/Materials/:

  • MF_LucidCameraWallFade
  • M_LucidCameraWallFade_Sample

Enable Show Plugin Content if they are not visible.

Material requirements

  • Blend Mode: Masked
  • Dither Opacity Mask enabled
  • Lucid material function connected to Opacity Mask

Translucent is not supported by the CameraWall system.

Playback setup

Call PlayLucidCameraCut or PlayLucidCameraCutWithOrigin with bEnableCameraWallFade = true and set CameraWallFadeTarget to the actor you want to keep visible, usually the player character or target actor.

FAQ

Common workflow questions.

Can I create multiple camera works from one Level Sequence?

Yes. Create multiple LucidCameraCutAsset files and edit each asset's Cut Segments. You can choose different Source Cameras and Start / End times without changing the original Level Sequence.

Do I need Camera Cut Tracks?

No, but they are useful. If Camera Cut Tracks exist, Lucid can generate Cut Segments automatically. If not, you can manually select Source Cameras from baked Motion Tracks and choose sample-based Start / End times.

Is Lucid beginner-friendly?

For basic runtime camera playback, yes. If you can create camera work in Level Sequence, the basic workflow is bake the sequence, pass the Data Asset to PlayLucidCameraCut, and play it at runtime. Rebuilding actor behavior, VFX, animation, or gameplay logic requires Unreal Engine knowledge.

Will Lucid convert actor movement, effects, or animations in the future?

There are no current plans to turn Lucid into a full Level Sequence conversion tool. Lucid is intentionally focused on camera work and safe runtime data access.

Should I bake at a higher frame rate than the original Level Sequence?

Usually, no. Lucid interpolates between samples during playback. Matching the original Level Sequence Display Rate is recommended for most cases.

Why does changing Field of View not affect CineCamera playback?

Lucid uses CineCameraActor by default. CineCamera playback uses Current Focal Length, Current Aperture, and Manual Focus Distance. Field of View is only for standard CameraActor fallback.

What is the benefit of using Lucid instead of runtime Level Sequence playback?

Lucid avoids running Sequencer for camera playback at runtime and plays baked camera data from a lightweight Data Asset. Actual performance depends on the project, sequence complexity, camera settings, post-process settings, and runtime usage.

Can I access the runtime camera and customize Post Process or camera settings?

Yes. Use GetActiveLucidCameraActor or GetSpawnedLucidCameraActor, then access the CameraComponent or CineCameraComponent and apply project-specific settings.

CameraWall Fade is not working. What should I check?

Check the CameraWall tag, Masked blend mode, Dither Opacity Mask, material assignment, Show Plugin Content, bEnableCameraWallFade, and CameraWallFadeTarget. The target should usually be the player or actor you want visible, not the wall itself.

There are many Data Asset fields. What do I actually need to edit?

For everyday use, focus on Cut Segments, Event Markers, and Camera Shake Markers. Motion Tracks and sample data are mainly for inspection, debugging, and advanced runtime workflows.