Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commit44fd9e59bd

README.md

Birds Eye Camera

Strict overhead camera — looks straight down (-Y world) and follows the target's X/Z position. No yaw, no pitch, no orbit; only height (zoom).

Vs. the other top-down behaviours

BehaviorWhat it doesWhen to pick it
birds_eyelocked overhead, follows target XZ onlytactical / map views, navigation overlays
rtsoverhead with yaw + WASD pan + RMB rotatestrategy games where the user drives the view
isometricfixed angle (not straight down) + WASD panclassic isometric game-feel

Fields

FieldDefaultNotes
inputMap@builtin::inputMaps.cameraRigThe map whose zoom control adjusts the height. Point it at a world's own map to rebind this camera.
targetunsetThe entity to look down on: 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.
height25.0World-Y distance above target.
minHeight5.0Scroll-zoom lower bound.
maxHeight120.0Scroll-zoom upper bound.
zoomSpeed0.15Multiplicative per scroll tick (exp(-scroll * zoomSpeed)).
smoothing0.18Share of an offset change left after one second. 0 snaps, 1 never moves. The target's own motion carries the camera at any speed.
offsetX, offsetZ0.0Constant XZ offset added to the target's position.

Use as a camera behavior

-- World-default
world.camera_default = asset.ref("@builtin::controller.birds_eye")

-- Per-scene swap
layers.active.camera.behavior = asset.ref("@builtin::controller.birds_eye")
layers.active.camera.follow   = layers.active.players.localPlayer

The component carries the cameraBehavior tag in .metadata, so the slot validation in Camera.behavior = ref will accept it.

Controls

  • Scroll — adjust height (zoom in/out)
  • No rotation, no panning — the target moves; the camera just follows.