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: External / Fan Camera

Cinematic external camera that automatically finds interesting viewpoints, pans, zooms, and switches angles. Features two modes: "fan" (handheld/spectator) and "TV" (smooth/broadcast).

Cinematic external camera that automatically finds interesting viewpoints, pans, zooms, and switches angles. Features two modes: "fan" (handheld/spectator) and "TV" (smooth/broadcast).


Class API

MethodSignatureDescription
C:init()Initializes all sub-filters, timers, smoothers
C:onVehicleCameraConfigChanged()Updates autopoint ref nodes
C:onSettingsChanged()Reads fan-vs-TV odds setting
C:setRefNodes(center, left, back)Sets vehicle reference nodes
C:reset()Triggers new camera position search
C:switchCamera(carVel, carPos, veh, nx, ny, nz, carStopped, openxrSessionRunning)Finds new camera position with raycasted validation
C:shouldSwitchCamera(carPos, carVel, dt)Determines if camera needs to switch
C:findNewCamPosVel(carPos, futureCarPos, velLength, chancesMultiplier, carStopped)Attempts to place camera halfway to predicted car destination
C:applyOffset(nx, ny, nz, offset, openxrSessionRunning)Applies offset in vehicle-local space
C:randomizeOffsetSpeeds(paused, carStopped)Randomizes offset animation speeds
C:carTeleported()Handles vehicle teleportation detection
C:camTeleported()Handles camera teleportation detection
C:update(data)Main update with position, filters, mode selection

Sub-Filters Applied

FilterFan ModeTV ModePurpose
predictor✓✓Predicts future target position
autozoom✓✓Distance-based FOV adjustment
autopoint✓✓Tracks vehicle node offset
noise✓✗Subtle camera shake
smooth✓✗Position smoothing
handheld✓✓Handheld wobble effect

Camera Switch Triggers

A new camera position is found when any of these conditions are met:

  1. Just started - camera was just activated
  2. Too long - exceeded randomized camChangeTimeMax (base: 4s)
  3. Car invisible - out of sight for > 0.5s
  4. Going away - car too far AND time exceeded minimum

Position Finding Algorithm

  1. Predict vehicle's future midway position from velocity
  2. Account for slopes (raycast ground detection)
  3. Place camera at random offset from predicted path
  4. Fan mode: snap to human height above ground (1.3–2.0m)
  5. Validate line-of-sight at start, midpoint, and end positions
  6. Retry up to 40 times with progressively relaxed constraints

Fan vs TV Mode

AspectFan ModeTV Mode
PanningNo panningCamera moves along path
HeightHuman eye levelRandom elevated position
FOV rangeWider, step-basedSmoother transitions
Odds1 - tvModeOddstvModeOdds (default 66%)

Usage Examples

-- Switch to external/fan camera
core_camera.setByName(0, "external")

-- Adjust fan vs TV balance in settings
-- settings.cameraFanVsTV = 0.66  (66% TV mode)

Notes

  • disabledByDefault = true - not in default camera cycle
  • resetCameraOnVehicleReset = false - keeps angle through vehicle resets
  • Teleportation detection resets camera immediately
  • Vehicle node tracking changes every 0.2–5 seconds (randomized)

See Also

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

Camera Mode: Driver

First-person driver camera with physics-based head movement, seat adjustment, look-ahead, horizon stabilization, VR support, and per-vehicle saved configurations.

Camera Mode: Fallback

Minimal global filter camera that ensures `pos` and `rot` are always defined. Acts as a safety net in the camera pipeline, running at order 0.6.

On this page

Class APISub-Filters AppliedCamera Switch TriggersPosition Finding AlgorithmFan vs TV ModeUsage ExamplesNotesSee Also