RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Activity ManagerAudio Bank ManagerAudio Ribbon SystemBus Route ManagerCamera SystemCore Chat (IRC)Core CheckpointsCore Command HandlerCoupler Camera ModifierDevices (RGB Peripherals)Dynamic PropsEnvironmentFlowgraph ManagerForestFun StuffGame ContextGame StateGround Marker ArrowsGround MarkersHardware InfoHighscoresHotlappingInventoryJob SystemLap TimesLevelsLoad Map CommandMetricsMod ManagerMultiseatMultiseat CameraMulti SpawnOnlinePaths (Camera Paths)Quick Access (Radial Menu)Recovery PromptRemote ControllerReplayRepositoryRope Visual TestScheme Command ServerCore SnapshotCore SoundsCore TerrainTraffic SignalsTrailer RespawnVehicle Active PoolingVehicle Bridge (GE ↔ VLua Communication)Vehicle MirrorsVehicle PaintsCore VehiclesVehicle TriggersVersion UpdateWeather SystemWindows Console
Camera Mode: AutopointCamera Mode: AutozoomCamera Mode: Big MapCamera Mode: ChaseCamera Mode: CollisionCamera Mode: CrashCamera Mode: DriverCamera Mode: External / Fan CameraCamera Mode: FallbackCamera Mode: Free CameraCamera Mode: Game EngineCamera Mode: HandheldCamera Mode: Manual ZoomCamera Mode: NoiseCamera Mode: ObserverCamera Mode: OnboardCamera Mode: OrbitCamera Mode: Pacenote OrbitCamera Mode: PathCamera Mode: PredictorCamera Mode: RelativeCamera Mode: ShakeCamera Mode: SmoothCamera Mode: Top DownCamera Mode: TrackIRCamera Mode: TransitionCamera Mode: Unicycle

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE ExtensionscorecameraModes

Camera Mode: Pacenote Orbit

Global orbit camera for the pacenote/rally editor. Orbits a fixed world-space target point with mouse/keyboard rotation, zoom, and terrain collision avoidance.

Global orbit camera for the pacenote/rally editor. Orbits a fixed world-space target point with mouse/keyboard rotation, zoom, and terrain collision avoidance.


Overview

Similar to the vehicle orbit camera but operates on a fixed world position instead of a vehicle. Used by the rally pacenote editor to inspect pacenote locations from any angle. Supports large zoom range (10–1500 units), keyboard WASD rotation, and ensures the camera stays above terrain.


Class Properties

PropertyTypeDefaultDescription
isGlobalbooltrueAvailable without a vehicle
fixedTargetPosvec3(0,0,0)World-space point to orbit
fovnumber65Field of view (degrees)
camRotvec3defaultRotationCurrent yaw/pitch
defaultRotationvec3(0, -17, 0)Default rotation
camDistnumber300Current orbit distance
camMinDistnumber10Minimum zoom distance
camMaxDistnumber1500Maximum zoom distance
defaultDistancenumber300Default orbit distance

Methods

MethodSignatureDescription
initC:init()Initialize with defaults
setupStuffC:setupStuff()Configure rotation/distance params
onSettingsChangedC:onSettingsChanged()Reload orbit settings
resetC:reset()Reset to default state
setRefC:setRef(center, left, back)Set the fixed target position
setDefaultDistanceC:setDefaultDistance(d)Set default zoom
updateC:update(data)Process input, compute camera pose

Keyboard + Mouse Rotation

-- Mouse rotation
local mouseYaw = sign(MoveManager.yawRelative) * math.min(...)
-- Keyboard rotation (WASD in editor)
local keyboardYaw = (MoveManager.left - MoveManager.right) * 80 * data.dt
self.camRot.x = self.camRot.x - mouseYaw - keyboardYaw

Terrain Clamping

-- Prevent camera from going below terrain
local terrainHeight = core_terrain.getTerrainHeight(vec3(camPos.x, camPos.y, 0))
if terrainHeight and camPos.z < terrainHeight + 1.0 then
  camPos.z = terrainHeight + 1.0
end

Key Notes

  • Zoom uses MoveManager.zoomIn/Out with speed factor 3.0
  • Pitch clamped to ±85°, yaw wraps to ±180°
  • Resets MoveManager.zoomIn/Out to 0 after reading (consumes input)
  • data.res.collisionCompatible = true set for potential collision post-processing
  • Camera always looks at fixedTargetPos via quatFromDir(target - pos)

See Also

  • Camera Mode: Autopoint - Related reference
  • Camera Mode: Autozoom - Related reference
  • Camera Mode: Big Map - Related reference
  • Core Systems Guide - Guide

Camera Mode: Orbit

The primary third-person vehicle camera. Orbits around the vehicle with mouse/gamepad rotation, dynamic FOV (dolly zoom), dynamic pitch, collision avoidance, and smooth relaxation-based auto-tracking.

Camera Mode: Path

Global camera that follows a spline path defined by markers. Uses Catmull-Rom interpolation for smooth position and rotation along timed control points. Supports replay synchronization, manual FOV, bu

On this page

OverviewClass PropertiesMethodsKeyboard + Mouse RotationTerrain ClampingKey NotesSee Also