Documentation / Cameras, Paths & Transitions
PROPOSED API
API specification — not a released addon. SkCine-specific syntax shown here is proposed and must be implemented and server-tested before use.

Cameras, Paths & Transitions

API status — PROPOSED, NOT IMPLEMENTED. SkCine is currently a design specification in this conversation; no built SkCine.jar or syntax registry was supplied. All SkCine-specific examples are intended API contracts, not verified runnable .sk. Do not advertise these as tested until each example passes a real Skript reload and runtime test.

Camera workflow

  1. Create cine camera definition from a location.
  2. Add time-stamped keyframes, ideally including a look-at target or rotation.
  3. Attach camera to a scene and select easing.
  4. Play for selected audience; keep the returned instance handle.
  5. Let SkCine restore the camera on finish/skip/failure.

Camera flyby

set {_camera} to new cine camera at {_a}
add cine camera keyframe at {_a} to {_camera} at 0 seconds
add cine camera keyframe at {_b} to {_camera} at 2 seconds
add cine camera keyframe at {_c} to {_camera} at 5 seconds
set cine easing of {_camera} to "catmull-rom"
set cine camera of {_scene} to {_camera}

Look-at, orbit and tracking

set cine look target of {_camera} to {_boss}
set cine camera mode of {_camera} to "orbit"
set cine orbit radius of {_camera} to 6
set cine orbit angular speed of {_camera} to 25

Target values may be a location or live entity. Specify whether world mismatch cancels the track or freezes the last valid transform.

Proposed camera families

Mode Mechanism Limits / notes
static One anchor and orientation Lowest complexity
rail Position/rotation spline keyframes Default cinematic camera
orbit Move around target Requires stable target and distance
follow Interpolated anchor attached to target Entity despawn policy needed
track Position path + independent look-at Avoid yaw discontinuity
dolly Camera moves toward/away from target May use rail backend
top-down Static/follow transform Backend limitations apply
spectator Client spectator camera target Alters gamemode; restoration mandatory
packet Supported camera/entity packets Optional PacketEvents and version gating

Interpolation

  • Position: linear, Catmull–Rom, Bézier, Hermite.
  • Rotation: shortest-path quaternion interpolation where applicable.
  • Easing: named easing catalog.
  • Use 0–59 ticks for Paper Display teleport duration; this is a display entity limit, not a universal camera path limit. Long motion must be segmented or evaluated through a longer scene timeline.

Camera shake

shake cine camera of {_playback} with intensity 0.35 for 12 ticks

Configure intensity caps and motion-reduced presets. Never mutate a spectator player's gamemode without recording its prior value.

API and quality contracts

  • Keyframes are sorted; duplicate timestamps use a defined precedence or error.
  • Positions are finite; world exists; cross-world paths are rejected unless an explicit safe transition feature is implemented.
  • Curve overshoot can clip terrain; support optional constrained paths.
  • Camera targets may despawn; detach/freeze/cancel according to a declared policy.
  • On cancel, skip, death, logout, plugin disable: restore client camera target and owned player state.

See Player Safety and Syntax Reference.

© 2026 DHeaven · SkCine documentation design · All scene authoring happens in Skript (.sk).