Appearance
@bendyline/molen-kernel/vehicles
Molen headless deterministic simulation kernel (no DOM, no three.js).
ts
import { /* … */ } from '@bendyline/molen-kernel/vehicles';Interfaces
MountableData
Extends
Indexable
ts
[key: string]: JsonValue | undefinedProperties
exits
ts
exits: [number, number, number][];reach
ts
reach: number;seats
ts
seats: SeatData[];MountedData
Extends
Indexable
ts
[key: string]: JsonValue | undefinedProperties
seat
ts
seat: string;vehicle
ts
vehicle: string;SeatData
Extends
Indexable
ts
[key: string]: JsonValue | undefinedProperties
id
ts
id: string;position
ts
position: [number, number, number];role
ts
role: "driver" | "passenger";VehicleEnvironment
Host collision adapter. All positions are absolute metric coordinates.
Methods
canExit()?
ts
optional canExit(
position,
actor,
vehicle
): boolean;Parameters
position
[number, number, number]
actor
string
vehicle
string
Returns
boolean
canOccupy()?
ts
optional canOccupy(
position,
yaw,
spec,
entity
): boolean;Parameters
position
[number, number, number]
yaw
number
spec
VehicleSpec
entity
string
Returns
boolean
groundHeight()
ts
groundHeight(x, z): number | undefined;Parameters
x
number
z
number
Returns
number | undefined
VehicleInputData
Extends
Indexable
ts
[key: string]: JsonValue | undefinedProperties
brake
ts
brake: boolean;steering
ts
steering: number;throttle
ts
throttle: number;VehicleStateData
Extends
Indexable
ts
[key: string]: JsonValue | undefinedProperties
grounded
ts
grounded: boolean;pitch
ts
pitch: number;roll
ts
roll: number;speed
ts
speed: number;steer
ts
steer: number;vy
ts
vy: number;waitingForTerrain
ts
waitingForTerrain: boolean;wheelAngle
ts
wheelAngle: number;yaw
ts
yaw: number;Variables
IDLE_VEHICLE_INPUT
ts
const IDLE_VEHICLE_INPUT: VehicleInputData;Mountable
ts
const Mountable: ComponentType<MountableData>;Mounted
ts
const Mounted: ComponentType<MountedData>;Vehicle
ts
const Vehicle: ComponentType<VehicleData>;VehicleInput
ts
const VehicleInput: ComponentType<VehicleInputData>;VehicleState
ts
const VehicleState: ComponentType<VehicleStateData>;Functions
driveVehicle()
ts
function driveVehicle(
world,
actor,
input
): boolean;Parameters
world
actor
string
input
Returns
boolean
initialVehicleState()
ts
function initialVehicleState(yaw?): VehicleStateData;Parameters
yaw?
number
Returns
installMountedSeats()
ts
function installMountedSeats(world): void;Shared seat following, installed once by either vehicle capability.
Parameters
world
Returns
void
installVehicles()
ts
function installVehicles(world, environment?): void;Parameters
world
environment?
Returns
void
mountEntity()
ts
function mountEntity(
world,
actor,
vehicle,
seatId?
): boolean;Parameters
world
actor
string
vehicle
string
seatId?
string
Returns
boolean
stepVehicle()
ts
function stepVehicle(
t,
state,
input,
spec,
dt,
env,
id?
): object;Substepped bicycle chassis, grip-limited steering and four wheel terrain support. Grounded game physics; rigid-body crash deformation and rollovers are outside this solver.
Parameters
t
state
input
spec
VehicleSpec
dt
number
env
id?
string
Returns
object
state
ts
state: VehicleStateData;transform
ts
transform: TransformData;unmountEntity()
ts
function unmountEntity(
world,
actor,
env
): boolean;Parameters
world
actor
string
env
Returns
boolean
vehicleLocalPoint()
ts
function vehicleLocalPoint(t, point): [number, number, number];Parameters
t
point
[number, number, number]
Returns
[number, number, number]
vehicleMounts()
ts
function vehicleMounts(spec): MountableData;Parameters
spec
VehicleSpec
Returns
vehicleRotation()
ts
function vehicleRotation(
yaw,
pitch?,
roll?
): [number, number, number, number];Parameters
yaw
number
pitch?
number
roll?
number
Returns
[number, number, number, number]