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: 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.

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.


Overview

The orbit camera is the default external view. It maintains a configurable distance from the vehicle, smoothly follows the vehicle's heading via a relaxation system, and allows manual rotation. Features include speed-dependent FOV widening (dolly zoom), dynamic pitch offset at speed, height offset, and collision detection to avoid clipping through geometry.


Class Properties

PropertyTypeDefaultDescription
camRotvec3defaultRotationCurrent yaw/pitch rotation
camDistnumberdistance or 5Current orbit distance
camMinDistnumberdistanceMin or 3Minimum zoom distance
camMaxDistnumberdistanceMin*10Maximum zoom distance
defaultRotationvec3(0, -17, 0)Default yaw/pitch/roll
defaultDistancenumberdistance or 5Default orbit distance
fovnumber65Base field of view
modestring'ref'Target mode (ref or custom)
lockCameraboolfalseLock rotation to manual input
relaxationnumberfrom settingsAuto-follow smoothing distance
offsetvec3vec3()Target position offset

Methods

MethodSignatureDescription
initC:init()Full initialization with collision, settings
onVehicleCameraConfigChangedC:onVehicleCameraConfigChanged()Reload jbeam camera config
onSettingsChangedC:onSettingsChanged()Reload user settings
resetC:reset()Reset rotation/distance to defaults
updateC:update(data)Main update - position, rotation, FOV, collision
setRotationC:setRotation(rot)Set rotation programmatically
setFOVC:setFOV(fov)Set base FOV
setOffsetC:setOffset(v)Set orbit center offset
setRefNodesC:setRefNodes(centerNodeID, leftNodeID, backNodeID, dynamicFovRearNodeID)Set reference nodes
setRefC:setRef(center, left, back)Set global-coord targets
setTargetModeC:setTargetMode(targetMode, camBase)Switch target computation
setDefaultDistanceC:setDefaultDistance(d)Set default distance
setDistanceC:setDistance(d)Set current distance
setMaxDistanceC:setMaxDistance(d)Set max zoom distance
setDefaultRotationC:setDefaultRotation(rot)Set default rotation
setSkipFovModifierC:setSkipFovModifier(skip)Disable dynamic FOV
calculateDynamicPitchLimitC:calculateDynamicPitchLimit(data, targetPos)Compute max pitch offset
onVehicleSwitchedC:onVehicleSwitched()Reset collision on switch

Settings (from user preferences)

Setting KeyPropertyDescription
cameraOrbitFovModifierfovModifierStatic FOV offset
cameraOrbitRelaxationrelaxationAuto-follow smoothness (default 3)
cameraOrbitMaxDynamicFovmaxDynamicFovMax speed-based FOV increase (default 35)
cameraOrbitMaxDrivingPitchmaxDynamicPitchMax pitch offset at speed (radians)
cameraOrbitMaxDynamicOffsetmaxDynamicOffsetMax height offset at speed
cameraOrbitSmoothingsmoothingEnabledEnable rotation smoothing

Dynamic FOV (Dolly Zoom)

-- FOV increases with speed, distance adjusted to preserve vehicle screen size
fov = self.fov + fovModifier + self.maxDynamicFov * math.min(1, vel:length() / 130)
fovdistDiff = (self.camDist - refToRear) *
  (math.tan((self.fov + fovModifier) * hdegToRad) / math.tan(fov * hdegToRad) - 1)

Relaxation Auto-Follow

-- Camera lazily follows vehicle heading via relaxation point
self.camLastPos2 = lastCamPointVec * (self.relaxation / lastCamPointVec:length()) + targetPos

Key Notes

  • Uses collision sub-module for camera-terrain/geometry intersection
  • Rotation smoothing uses exponential ratio blending at 8x dt
  • Pitch clamped to ±85°, yaw wraps at ±180°
  • data.res.collisionCompatible = true enables collision post-processing
  • Dynamic pitch activates above 10 m/s, deactivates below 1 m/s with delay
  • Look-back mode overrides rotation and uses a fixed rear direction

See Also

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

Camera Mode: Onboard

Vehicle-mounted camera that follows a specific node position with configurable rotation and offset. Used for cockpit, hood, bumper, and other vehicle-attached views.

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.

On this page

OverviewClass PropertiesMethodsSettings (from user preferences)Dynamic FOV (Dolly Zoom)Relaxation Auto-FollowKey NotesSee Also