b3dCreateTrackedVehicleChassis

Creates tracked vehicle chassis for tanks/treaded vehicles. Takes entityHandle (entity for vehicle), mass (kg), chassisHalfWidth/Height/Length (half-extents defining chassis box), visualBottomOffset (visual mesh offset), centerOfMassOffset (vertical center of mass offset). Returns tracked vehicle handle.

3D Graphics

Parameters & Returns

Parameters

entityHandle Int
mass Double
chassisHalfWidth Double
chassisHalfHeight Double
chassisHalfLength Double
visualBottomOffset Double
centerOfMassOffset Double

Returns

Int

Quick Summary

Creates tracked vehicle chassis for tanks/treaded vehicles. Takes entityHandle (entity for vehicle), mass (kg), chassisHalfWidth/Height/Length (half-extents defining chassis box), visualBottomOffset (visual mesh offset), centerOfMassOffset (vertical center of mass offset). Returns tracked vehicle handle.

Technical Exegesis...

Creates tracked vehicle chassis for tanks and treaded vehicles. Takes entityHandle (entity to attach vehicle to), mass (vehicle mass in kg), chassisHalfWidth/Half Height/HalfLength (half-extents of chassis bounding box in units), visualBottomOffset (vertical offset between visual mesh and physics), centerOfMassOffset (vertical offset of center of mass from chassis center for stability tuning). Returns tracked vehicle handle for use with track functions.

Example

Example.bam
; Create tank with tracked vehicle
tankMesh = b3dLoadMesh("tank.glb", 1, 0)
tank = b3dCreateTrackedVehicleChassis(tankMesh, 8000.0, 1.5, 1.0, 2.5, 0.0, -0.3)

; Add wheels for tracks (6 wheels per side)
; Left track wheels
For i = 0 To 5
    b3dAddVehicleWheel(tank, -1.5, 0, -2.0 + i * 0.8, 0.4, 0.3, 0.2, 0.4, 2.0, 0.6)
Next

; Right track wheels
For i = 0 To 5
    b3dAddVehicleWheel(tank, 1.5, 0, -2.0 + i * 0.8, 0.4, 0.3, 0.2, 0.4, 2.0, 0.6)
Next

; Define left track
leftTrack = b3dBeginVehicleTrack(tank, 0, 50.0, 0.5, 2000.0, 3.0)
For i = 0 To 5
    b3dAddWheelToTrack(tank, leftTrack, i)
Next
b3dEndVehicleTrack(tank, leftTrack)

; Define right track
rightTrack = b3dBeginVehicleTrack(tank, 6, 50.0, 0.5, 2000.0, 3.0)
For i = 6 To 11
    b3dAddWheelToTrack(tank, rightTrack, i)
Next
b3dEndVehicleTrack(tank, rightTrack)

b3dFinalizeVehicle(tank)