Returns vehicle engine RPM (revolutions per minute).
Takes vehicleHandle (vehicle from b3dCreateVehicle).
Returns current engine RPM as Double.
3D Graphics
Parameters & Returns
Parameters
vehicleHandleInt
Returns
Double
Quick Summary
Returns vehicle engine RPM (revolutions per minute).
Takes vehicleHandle (vehicle from b3dCreateVehicle).
Returns current engine RPM as Double.
Technical Exegesis...
Returns vehicle engine RPM (revolutions per minute). Takes vehicleHandle (vehicle created with b3dCreateVehicle and finalized). Returns current engine RPM as Double (typical range 0-8000 RPM depending on engine configuration, idle RPM around 1000, redline 5000-8000). Calculates RPM from wheel angular velocity and differential ratio.
Returns vehicle engine RPM (revolutions per minute). Takes vehicleHandle (vehicle created with b3dCreateVehicle and finalized). Returns current engine RPM as Double (typical range 0-8000 RPM depending on engine configuration, idle RPM around 1000, redline 5000-8000). Calculates RPM from wheel angular velocity and differential ratio.
Use cases: (1) Tachometer UI (display RPM gauge), (2) Engine sound pitch (adjust engine audio based on RPM), (3) Shift indicator (warn player to shift gears in simulation), (4) Performance tuning (monitor RPM behavior). Common patterns: tachometer (rpm = b3dGetVehicleRPM(vehicle), display needle at angle based on rpm), engine audio (pitch = rpm / maxRPM, adjust sound frequency), shift light (if rpm > 5500 then showShiftWarning).
RPM calculation: rpm = wheel angular velocity * differential ratio * 60 / (2π), affected by vehicle speed and differential ratio (higher differential ratio = higher RPM for same speed), limited by engine maxRPM from b3dSetVehicleEngine (engine produces no torque above maxRPM redline).
Related: b3dSetVehicleEngine sets minRPM and maxRPM range, b3dGetVehicleSpeed reads speed (RPM and speed related via differential ratio), b3dSetVehicleInput controls throttle (affects RPM through acceleration).
Example
Example.bam
; Display tachometerRepeat
rpm = b3dGetVehicleRPM(vehicle)
BBR_Text(10, 30, "RPM: " + Int(rpm))
; Change color if approaching redlineIf rpm > 6000Then
BBR_SetPrimitiveColour(255, 0, 0) ; Red warning
EndIf
b3dRenderWorld()
BBR_Flip()
Until BBR_GetKey(1)