Cinematic Spline Tool
Cinematic Spline Tool
Professional spline-based cinematic camera system for Unreal Engine 5.7 with collision avoidance, dolly zoom, noise shake, crane arms, filmback presets, and more.
The Cinematic Spline Tool is a feature-rich spline-based cinematic camera system for Unreal Engine 5.7. Create stunning in-game cutscenes, flythroughs, and cinematic camera shots without touching Sequencer or complex Blueprints. Draw a spline path and the camera follows it automatically.
Created by StraySpark.
Key Features
Core (v1.0)
- Easy Setup -- No Sequencer or Blueprints required. Draw a spline, press Play.
- Smooth Cinematic Camera -- Professional-quality camera movement along spline paths with configurable interpolation.
- 3 Speed Modes -- Constant speed, duration-based, or custom speed curves with ease-in/out.
- 4 Rotation Modes -- Follow spline tangent, look-at target, fixed rotation, or custom Blueprint override.
- Look-At Targets -- Camera tracks a target actor with smooth rotation interpolation and optional movement prediction.
- FOV Animation -- Animate field of view along the spline path using inline curves.
- Depth of Field Animation -- Animate focus distance and aperture (f-stop) for cinematic bokeh.
- Camera Shake -- Add handheld camera shake effects during playback.
- Spline Chaining -- Chain multiple spline paths into sequences with cut or blend transitions.
- Trigger Volumes -- Auto-play cinematics when the player walks into a trigger area.
- Full Playback Control -- Play, Pause, Stop, Reverse, and Scrub from Blueprints or the editor Details panel.
- Camera Blending -- Smooth blend-in from the player camera and blend-out back to it.
- Editor Preview -- Play, pause, reverse, and scrub the cinematic directly in the editor viewport. No PIE required.
- Spline Presets -- 9 one-click preset shapes with configurable dimensions for rapid prototyping.
- Debug Visualization -- Camera frustums, direction arrows, and look-at lines drawn in the viewport.
- Blueprint-Friendly -- All properties exposed, all functions callable, all events bindable.
- Lightweight -- Tick-based movement with zero overhead when not playing.
New in v2.0
- Camera Collision / Avoidance -- Sphere trace collision avoidance prevents camera clipping through geometry.
- Dolly Zoom (Vertigo Effect) -- True Hitchcock dolly zoom with real-time FOV compensation based on distance.
- Perlin Noise Shake -- Procedural camera shake using Perlin noise (6-axis: positional + rotational).
- Post-Process Animation -- Animate exposure, vignette, bloom, saturation, and chromatic aberration along the path.
- Filmback Presets -- 17 real-world camera sensor presets (ARRI, RED, Sony, Canon, Blackmagic, iPhone, IMAX).
- Camera Confiner -- Constrain camera within a bounding volume or manual box extent.
- Auto-Dolly Tracking -- Camera automatically follows the nearest point on spline to a tracked target.
- Group Framing -- Multi-target FOV adjustment to keep all targets in frame simultaneously.
- Crane / Jib Arm -- Simulate crane arm movement with animated pitch and length curves.
- Priority Camera Switching -- Manager actor for priority-based virtual camera switching with blend transitions.
- Viewport Camera Capture -- Capture editor viewport camera as spline points (editor-only buttons).
- Custom Blend Easing -- 7 blend functions (Linear, EaseIn, EaseOut, EaseInOut, ExpoIn, ExpoOut, Custom Curve).
- Actor Attachment -- Attach spline path to moving actors with optional rotation following.
- Multiplayer Support -- Per-spline player index for split-screen and multiplayer camera control.
v2.0 Feature Summary
| Feature | Type | Description |
|---|---|---|
| Camera Collision | Component | Sphere trace avoidance from level geometry |
| Dolly Zoom | PathActor Property | True Vertigo effect with FOV compensation |
| Perlin Noise Shake | Component | 6-axis procedural shake (position + rotation) |
| Post-Process Animation | PathActor Curves | 5 animated post-process curves |
| Filmback Presets | Utility + Enum | 17 real camera sensor sizes |
| Camera Confiner | Component | Bounding volume camera clamping |
| Auto-Dolly | Component | Nearest-point target tracking |
| Group Framing | Component | Multi-target FOV adjustment |
| Crane Arm | Component | Crane/jib arm simulation |
| Camera Manager | Actor | Priority-based camera switching |
| Viewport Capture | Editor Utility | Capture viewport as spline points |
| Custom Blend Easing | PathActor Property | 7 blend easing functions |
| Actor Attachment | PathActor Property | Attach to moving actors |
| Multiplayer | PathActor Property | Per-spline player index |
Architecture
- Tick-based movement -- Camera position updates every frame via Actor Tick. Zero CPU cost when not playing (tick is disabled).
- CineCameraActor -- A real
ACineCameraActoris spawned and managed for proper filmback settings, FOV, aperture, and focus distance. - Component-based -- All v2.0 features are optional components. Mix and match as needed.
- Ordered Pipeline -- Components execute in a defined order ensuring correct layering (see Component Pipeline).
- Soft references -- Sequence segments use
TSoftObjectPtrto avoid hard reference cycles. - Inline curves --
FRuntimeFloatCurvefor all curve properties, editable directly in the Details panel.
Component Pipeline
The PathActor's UpdateCameraPosition() applies optional components in this order:
1. Auto Dolly - Override progress based on tracking target
2. Base Transform - CameraController computes spline position + rotation
3. Crane Arm - Offset camera from spline pivot point
4. Camera Confiner - Clamp position to bounds volume
5. Camera Collision - Sphere trace avoidance from geometry
6. Noise Shake - Perlin noise offset (applied in camera-local space)
7. Apply to Camera - Set ManagedCineCamera location and rotation
8. FOV / Dolly Zoom / Group Framing - FOV computation and override
9. DOF - Focus distance and aperture curves
10. Post-Process - Exposure, vignette, bloom, saturation, chromatic aberration
All components are optional. They are discovered via FindComponentByClass<>() and only execute when their enable flag is true.
Module Structure
| Module | Type | Description |
|---|---|---|
CinematicSplineToolRuntime | Runtime | Core gameplay classes (15 headers, 14 sources). Ships with packaged builds. |
CinematicSplineToolEditor | Editor | Detail customizations, viewport visualizers, viewport capture (4 headers, 4 sources). Editor only. |
Dependencies
Engine-- Core UE5 functionalityCinematicCamera--ACineCameraActor,UCineCameraComponentRenderCore-- Post-process settingsUnrealEd(Editor only) -- Detail customization, component visualizersLevelEditor(Editor only) -- Viewport capture utilities
Requirements
- Unreal Engine 5.7
- C++ project (plugin contains C++ modules)
- Windows (developed and tested on Win64)
Next Steps
- Getting Started -- Installation and first spline path
- Camera Modes -- Speed modes, rotation modes, FOV, DOF, dolly zoom, and post-process
- Components -- All optional components in detail
- Examples -- Step-by-step walkthroughs for common scenarios
- API Reference -- Complete class and function reference