Globe anchors and navigation

This chapter covers geospatial placement and camera motion: Globe Anchor, Origin Shift, Fly Controller / Fly-To, geographic sub-levels, and camera managers.

Globe Anchor

CesiumGlobeAnchorComponent keeps an entity on the ellipsoid (bidirectional LLH ↔ Transform). Useful for placing Prefabs at real-world coordinates.

FieldDefaultPurpose
Adjust orientation for globe when movingtrueKeep local ENU upright while moving
Detect transform changestrueEngine moves rewrite LLH
Teleport when updating transformtrueSnap instead of interpolating physics
Height referenceNoneOr RelativeToGround / RelativeToTileset
Height offset0Meters above the sampled surface
Height update interval1Frames between height samples
Tileset entityemptyRequired when height reference is RelativeToTileset
#include <Cesium3DTiles/CesiumGlobeAnchorBus.h>

DawnCesium::CesiumGlobeAnchorRequestBus::Event(
 entityId,
 &DawnCesium::CesiumGlobeAnchorRequests::MoveToLongitudeLatitudeHeight,
 lonDegrees, latDegrees, heightMeters);

Also available: ECEF getters/setters, East-South-Up rotation, teleport flags. When a Fly-To runs on an entity that also has a Globe Anchor, the flight writes through the anchor so height-reference and orientation semantics stay consistent.

Origin Shift

CesiumOriginShiftComponent (usually on the camera):

ModeBehavior
UpdateRenderOriginDrive LargeWorld render origin (default)
SwitchSubLevelsOnlyOnly activate geographic sub-levels
DisabledNo automatic shift
FieldDefaultNotes
Distance threshold (m)10000≤ 0 inherits LargeWorld
Origin cell size (m)00 inherits LargeWorld

Notification: CesiumOriginShiftNotificationBus::OnRenderOriginShifted. Without this component (and LargeWorld), globe flight jitters — see Core concepts.

Fly Controller

CesiumFlyControllerComponent: free-fly for game / play (not an editor viewport controller).

FieldDefaultPurpose
Base speed25 m/sWASD / QE translation
Height speed factor1.0Scale speed with altitude
Maximum speed2e6 m/sHard cap
Boost multiplier5.0Shift
Mouse sensitivity0.2Right-drag look
Wheel speed multiplier1.2Per wheel notch
Override camera far cliponPlanetary far plane
Far clip distance1e7Meters

Bus: CesiumFlyControllerRequestBus (Get/SetYawPitchDegrees).

Fly-To

CesiumFlyToComponent + CesiumFlyToRequestBus:

  • FlyToLongitudeLatitudeHeight
  • FlyToEcef / FlyToEngineCoordinates
FieldDefaultNotes
Duration5 sFlight length
Progress / height / max-height-by-distance curvesDefaultOr custom keyframes / None
Rotation sourceEntityTransformOr FlyController (yaw/pitch from co-located fly controller)

Completion and interruption notify via CesiumFlyToNotificationBus.

Geographic sub-levels

CesiumSubLevelComponent: when the camera enters Load radius (default 1000 m) around a sub-level LLH origin, the switcher can re-home georeference and spawn a Prefab.

FieldDefaultNotes
EnabledonMust have a valid Prefab asset
Origin lon / lat / height0 / 0 / 0Sub-level geographic center
Load radius1000 mActivation sphere
Prefab assetemptySpawned when active

Pair with Origin Shift. Editor: Sub-Level Here places a sub-level at the current camera. Switching is multi-frame (spawn / despawn completion callbacks). Debug: cesium_drawSubLevelLoadRadii. Bus: CesiumSubLevelSwitcherRequestBus.

Cameras and LOD sources

  • System: CesiumCameraManagerSystemComponent aggregates default viewport, editor viewports, game cameras, render-to-texture, and XR eye views.
  • Entity: CesiumCameraManagerComponent — soft reference target for a tileset’s Camera manager entity ID.
  • Per-tileset filters: Use default / editor / game / RTT / XR toggles + Additional camera entities (see Georeference and tilesets).
  • Register custom LOD cameras via CesiumCameraBus / camera provider bus when you need non-standard views.

Next steps


Copyright © 2026 DawnEngine. All rights reserved.

DawnEngine is a commercial 3D engine distributed under the DawnEngine end-user license agreement. Engine binaries and source are proprietary and are not covered by the licenses below.

Documentation only: the prose and templates on this site are a derivative work of Open 3D Engine (O3DE) documentation by the O3DE Contributors, used under CC BY 4.0 (documentation content), Apache 2.0 (site code), and the MIT license (inline code samples).

The open-source 3D engine that DawnEngine is built on top of is Open 3D Engine . DawnEngine is not affiliated with, endorsed by, or sponsored by The Linux Foundation or the O3DE project. “O3DE” and “Open 3D Engine” are trademarks of The Linux Foundation.