multirotor
Since next
A drone: a dynamic body (multirotor-without-body) held up and steered by rotors, with a flight controller.
Angle mode holds level, heading and altitude and drifts with the wind; velocity mode also holds its point; rate mode is acro. Numbers outside their ranges are clamped (multirotor-out-of-range). docs/VEHICLES.md.
Use it in a scene entity's components list as { "type": "multirotor", … }. The contract writes the fields flat and refuses unknown keys.
Fields
| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
preset | MultirotorPreset | no | camera-quad | camera-quad, utility-quad, heavy-hex, racer | The starting numbers; fields below override them. Default camera-quad. |
rotors | MultirotorRotor[] | no | The rotor layout, 4..8 rotors (multirotor-invalid). Default: the preset's ring. | ||
thrustToWeight | number | no | Full thrust of all rotors over the body's weight, 1.05..20. | ||
motorTime | number | no | Motor time constant, seconds, 0..1. | ||
dragArea | number | no | Drag coefficient times frontal area, m², 0..20, against the air (wind included). | ||
maxTilt | number | no | Most tilt from level in angle and velocity modes, radians, 0.05..1.4. | ||
maxRate | number | no | Most roll and pitch rate, rad/s, 0.1..40. | ||
maxYawRate | number | no | Most yaw rate, rad/s, 0.1..20. | ||
maxSpeed | number | no | Most ground speed in velocity mode, m/s, 0..100. | ||
maxClimb | number | no | Most climb rate, m/s, 0..50. | ||
maxDescent | number | no | Most descent rate, m/s, 0..50. | ||
endurance | number | no | Hover time on a full battery, seconds, 0..86400; 0 never runs down. | ||
mode | MultirotorMode | no | rate, angle, velocity | Starting flight mode. Default angle (rate for racer). | |
input | ControllerInputMode | no | auto, script | auto (default): flown from the input actions lift, yaw (+1 left), pitch (+1 forward) and roll (+1 right), with move for pitch and roll when the map binds none of them. script: only a behaviour flies it. | |
propellers | string[] | no | Entities spun about their own +Y at each rotor's speed, in rotor order (its prop meshes). Visual only. |