Skip to content

@bendyline/molen-client/vehicles ​

Molen rendering client: three.js wrapper, snapshot sync, interpolation.

ts
import { /* … */ } from '@bendyline/molen-client/vehicles';

Interfaces ​

VehicleCameraOptions ​

Properties ​

lookPitch? ​
ts
optional lookPitch?: number;
lookYaw? ​
ts
optional lookYaw?: number;
obstructionDistance? ​
ts
optional obstructionDistance?: (from, to) => number | undefined;

Distance to the first static obstruction between two absolute world points.

Parameters ​
from ​

[number, number, number]

to ​

[number, number, number]

Returns ​

number | undefined

view ​
ts
view: "cockpit" | "chase";

VehicleCameraPose ​

Extended by ​

Properties ​

lookAt ​
ts
lookAt: [number, number, number];
pitch ​
ts
pitch: number;
position ​
ts
position: [number, number, number];
yaw ​
ts
yaw: number;

VehicleProxyDimensions ​

The dimensions a vehicle proxy is built from (a VehicleSpec satisfies it).

Properties ​

height ​
ts
height: number;
length ​
ts
length: number;
wheelbase ​
ts
wheelbase: number;
wheelRadius ​
ts
wheelRadius: number;
wheelTrack ​
ts
wheelTrack: number;
width ​
ts
width: number;

VehicleVisual ​

Properties ​

interior? ​
ts
optional interior?: ModelSignalVisual;
object ​
ts
object: Object3D;

Methods ​

dispose() ​
ts
dispose(): void;
Returns ​

void

update() ​
ts
update(
   steer, 
   wheelAngle, 
   signals?
): void;
Parameters ​
steer ​

number

wheelAngle ​

number

signals? ​

Readonly<Record<string, number | undefined>>

Returns ​

void

Type Aliases ​

VehicleInteriorSignals ​

ts
type VehicleInteriorSignals = ModelSignals;

VehicleInteriorVisual ​

ts
type VehicleInteriorVisual = ModelSignalVisual;

Variables ​

vehicleProxyMaterial ​

ts
const vehicleProxyMaterial: THREE.MeshStandardMaterial;

The shared vertex-coloured material of parked and proxy vehicles.

Functions ​

createParkedVehicleBatch() ​

ts
function createParkedVehicleBatch(placements, origin?): Group;

Dormant terrain-owned cars merged into one static mesh per tile. A plain mesh shares its compiled shader with every other tile; an instanced batch per model and paint would build one of its own. userData.vehicleIds[i] owns vertex range userData.vehicleRanges[2i..2i+1]; hide and restore a car with setParkedVehicleHidden.

Parameters ​

placements ​

readonly VehiclePlacement[]

origin? ​

[number, number]

Returns ​

Group


createVehicleInteriorVisual() ​

ts
function createVehicleInteriorVisual(model, spec): ModelSignalVisual;

Vehicle convenience wrapper around the platform's model-signal binding system.

Parameters ​

model ​

Object3D

spec ​

VehicleInteriorSpec

Returns ​

ModelSignalVisual


createVehicleVisual() ​

ts
function createVehicleVisual(model, vehicle): VehicleVisual;

Bind a loaded entity GLB to generic wheel/steering animation using external node names.

Parameters ​

model ​

Object3D

vehicle ​

VehicleData

Returns ​

VehicleVisual


isParkedVehicleHidden() ​

ts
function isParkedVehicleHidden(batch, index): boolean;

Whether setParkedVehicleHidden currently hides car index of a parked batch.

Parameters ​

batch ​

Mesh

index ​

number

Returns ​

boolean


setParkedVehicleHidden() ​

ts
function setParkedVehicleHidden(
   batch, 
   index, 
   hidden
): boolean;

Hide (collapse to a point) or restore one car of a parked batch, e.g. while its detailed model or a driven entity stands in for it. Returns whether the geometry changed.

Parameters ​

batch ​

Mesh

index ​

number

hidden ​

boolean

Returns ​

boolean


vehicleCameraPose() ​

ts
function vehicleCameraPose(
   transform, 
   spec, 
   options
): VehicleCameraPose;

Seat-space cockpit and collision-shortened chase views for any vehicle host.

Parameters ​

transform ​
pos ​

[number, number, number]

rot ​

[number, number, number, number]

spec ​

VehicleSpec

options ​

VehicleCameraOptions

Returns ​

VehicleCameraPose


vehicleProxyGeometry() ​

ts
function vehicleProxyGeometry(dimensions): BufferGeometry;

The parked-car proxy shape with a white body, for instanced rendering: per-instance paint comes from instanceColor (three multiplies vertex colours by it, so glass and tyres stay dark). Cached by dimensions; never dispose the returned geometry.

Parameters ​

dimensions ​

VehicleProxyDimensions

Returns ​

BufferGeometry

37 guides · 36 schema formats · 41 API entry points · 10 samples. API, CLI and schema pages are generated from the shipped build.