Sensor Configuration Editor
Editor for configuring vehicle sensor setups - supports Camera, LiDAR, Ultrasonic, RADAR, IMU, GPS, Ideal RADAR, Roads, Powertrain, and Mesh sensors with interactive placement, gizmo-based positioning
Editor for configuring vehicle sensor setups - supports Camera, LiDAR, Ultrasonic, RADAR, IMU, GPS, Ideal RADAR, Roads, Powertrain, and Mesh sensors with interactive placement, gizmo-based positioning, live/edit modes, and Python code export.
Public API (Key Functions)
| Function | Signature | Description |
|---|---|---|
M.onEditorGui | () | Main GUI - vehicle list, sensor management, properties, previews |
M.onEditorInitialized | () | Registers edit mode and all windows; loads preview icons |
M.onSerialize / M.onDeserialized | () / (data) | Session persistence |
Sensor Types
| Type | Placement | Unique Per Vehicle | Preview |
|---|---|---|---|
| Camera | Click-on-mesh | No | Color/depth/annotation outputs |
| LiDAR | Click-on-mesh | No | - |
| Ultrasonic | Click-on-mesh | No | Distance bar visualization |
| RADAR | Click-on-mesh | No | - |
| IMU | Click-on-mesh | No | 6-axis acceleration/angular velocity plots |
| GPS | Click-on-mesh | No | - |
| Ideal RADAR | Auto-placed | Yes (one per vehicle) | - |
| Roads Info | Auto-placed | Yes | - |
| Powertrain Info | Auto-placed | Yes | - |
| Mesh Distribution | Auto-placed | Yes | - |
Key Features
- Interactive placement: Click on vehicle mesh to place sensors
- Gizmo editing: Translate/rotate sensors with axis gizmo (local/world alignment)
- Live mode: Toggle sensors between edit (adjustable) and live (data-producing) modes
- POI snapping: Snap sensors to COG, axle midpoints, front/rear bumper
- Camera properties: Resolution, FOV, near/far planes, render flags (color/depth/annotations/instance)
- LiDAR modes: Full 360°, LFO (low-frequency oscillation), Static
- IMU preview: Real-time 6-axis plots (acceleration + angular velocity)
- Python export: Generate BeamNGpy configuration code
- Save/Load: JSON configuration files per vehicle
Dependencies
| Module | Purpose |
|---|---|
editor/tech/sensorConfiguration/utilities | Coordinate conversion, drawing helpers |
editor/tech/sensorConfiguration/conversions | Sensor creation, live mode switching |
tech/techUtils | Migration and serialization utilities |
tech/cameraPreview | Camera sensor output visualization |
Notes
- Requires
Researchglobal (tech/research license) - Uses
Research.SensorMatrixManager.intersectRayMesh()for placement raycasting - Sensor position stored as vehicle-relative coefficients, not world-space
- Multiple preview windows can be open simultaneously per sensor type
Module Variables
sensorConfigs(any) - Module variable.
Functions
doesContainSensorType(sensors, t)
Handles does contain sensor type.
sensors(any)t(any)
Returns: boolean - false
numberOfSensorType(sensors, t)
Handles number of sensor type.
sensors(any)t(any)
Returns: ctr, ids
updateCollectedVehiclePOIData(collectedData)
Updates collected vehicle poi data.
collectedData(any)
onSensorCreated(sensorType, sensorId)
Callback for sensor created event.
sensorType(any)sensorId(any)
onSensorRemoved(sensorType, sensorId)
Callback for sensor removed event.
sensorType(any)sensorId(any)
Returns: self
Additional Exports
M.doesContainSensorTypeM.numberOfSensorTypeM.onSensorCreatedM.onSensorRemovedM.sensorConfigsM.updateCollectedVehiclePOIData
See Also
- Editor AI Tests - Related reference
- Editor AI Visualization - Related reference
- Editor – Assembly Spline Tool - Related reference
- World Editor Guide - Guide
Script AI Manager
Editor window for managing scriptAI recordings across all vehicles - supports recording, playback, looping, save/load of track files, and real-time progress visualization.
Sensor Debugger
Camera sensor debug window - lists all active camera sensors and provides preview toggle for visualizing their color, annotation, and depth outputs.