b3dIsVehicleWheelInContact

Checks if vehicle wheel is in contact with ground. Takes vehicleHandle (vehicle from b3dCreateVehicle), wheelIndex (wheel index from b3dAddVehicleWheel). Returns 1 if wheel touching ground, 0 if wheel in air.

3D Graphics

Parameters & Returns

Parameters

vehicleHandle Int
wheelIndex Int

Returns

Int

Quick Summary

Checks if vehicle wheel is in contact with ground. Takes vehicleHandle (vehicle from b3dCreateVehicle), wheelIndex (wheel index from b3dAddVehicleWheel). Returns 1 if wheel touching ground, 0 if wheel in air.

Technical Exegesis...

Checks if vehicle wheel is in contact with ground. Takes vehicleHandle (vehicle created with b3dCreateVehicle), wheelIndex (0-based wheel index from b3dAddVehicleWheel). Returns 1 if wheel currently touching ground surface (suspension raycast hit geometry), 0 if wheel in air (no ground contact, vehicle jumping or suspended). Queries Jolt suspension raycast state for specified wheel.

Example

Example.bam
; Check if vehicle is airborne
Function IsVehicleAirborne(vehicle)
    For i = 0 To 3  ; 4-wheel vehicle
        If b3dIsVehicleWheelInContact(vehicle, i) Then
            Return 0  ; At least one wheel grounded
        EndIf
    Next
    Return 1  ; All wheels in air
End Function

; Tire smoke effect
For i = 0 To 3
    If b3dIsVehicleWheelInContact(vehicle, i) Then
        speed = Abs(b3dGetVehicleSpeed(vehicle))
        If speed > 20 Then
            ; Create smoke particle at wheel position
            CreateTireSmoke(vehicle, i)
        EndIf
    EndIf
Next