Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commit44fd9e59bd

README.md

Cinematic Camera

Wide-FOV, slow-easing follow with a configurable over-the-shoulder offset. Intended for cutscenes, dialogues, and walking moments where you want a more composed framing than orbital_follow and softer motion than chase.

The camera holds a right-shoulder offset relative to the target's facing and eases both position and look-at point as offsets from the target, so quick turns feel cinematic rather than jittery while the target stays framed at any speed: the smoothing softens a change of the framing, and the target's own motion carries the camera with it.

Vs. the other follow cams

orbital_followchasecinematic
Orbit (mouse)yesnono
Framing easen/alow (sticky)high (cinematic)
Look-at easen/aloweven higher than position
Compositioncentered behindlocked behindshoulder-framed
Best forcharacter actionvehicles, fastcutscenes, walking, dialogue

Fields

FieldDefaultNotes
targetunsetThe entity to film: the entity, its id or its name. An entity reference, so a scene build that writes it names the entity the build placed. Falls back to Camera.follow when unset.
distance4.5Trail distance behind target.
height1.8Vertical offset above target origin.
shoulderX0.6Right-shoulder offset (negative = left shoulder).
fov60.0Pushed once to the sibling Camera component on awake.
positionSmoothing0.35Share of a framing change left after one second. High = slow, cinematic.
lookAtSmoothing0.45Higher than position so framing reads as "anticipating".

Use as a camera behavior

world.camera_default = asset.ref("@builtin::controller.cinematic")

-- Or per-scene
layers.active.camera.behavior = asset.ref("@builtin::controller.cinematic")
layers.active.camera.follow   = layers.active.players.localPlayer

The component carries the cameraBehavior tag in .metadata.

Notes

  • No user-driven rotation, no scroll-zoom — cinematic is set-it-and-let-it-frame.
  • Swap shoulderX for a left-shoulder shot. Sign-flip in script for an interactive switch.
  • Pairs especially well with humanoid_visual + standard_controller for narrative gameplay.