Lucid Documentation
Lucid: Cinematic Camera Baker Docs
Setup, Sequence Baker workflow, runtime playback, Motion Track transform queries, CameraWall Fade, and common questions.
Basic runtime camera playback.
1. Bake a Level Sequence
- Open Tools → Lucid → Lucid Sequence Baker...
- Select a Level Sequence using the asset picker.
- Use Origin Relative for most reusable shots.
- Confirm the output folder and asset name.
- Press Bake. The generated
LucidCameraCutAssetis 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.
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.
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 NamesGet Lucid Baked Binding Transform At TimeGet 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
- Choose the Lucid Camera Cut Data Asset.
- Pick a Source Binding Name from baked Motion Tracks.
- Query a transform by playback time or sample index.
- Optionally apply a runtime Origin Transform.
- 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.
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_LucidCameraWallFadeM_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.
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.