tosijs-3d 0.6.1 → 0.7.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ambient-budget.d.ts +45 -0
- package/dist/ambient-budget.d.ts.map +1 -1
- package/dist/ambient-budget.js +43 -0
- package/dist/ambient-budget.js.map +1 -1
- package/dist/b3d-aircraft.d.ts +92 -3
- package/dist/b3d-aircraft.d.ts.map +1 -1
- package/dist/b3d-aircraft.js +511 -45
- package/dist/b3d-aircraft.js.map +1 -1
- package/dist/b3d-ambient.d.ts +5 -0
- package/dist/b3d-ambient.d.ts.map +1 -1
- package/dist/b3d-ambient.js +39 -4
- package/dist/b3d-ambient.js.map +1 -1
- package/dist/b3d-black-hole.d.ts.map +1 -1
- package/dist/b3d-black-hole.js +2 -2
- package/dist/b3d-black-hole.js.map +1 -1
- package/dist/b3d-clouds.d.ts +11 -1
- package/dist/b3d-clouds.d.ts.map +1 -1
- package/dist/b3d-clouds.js +250 -53
- package/dist/b3d-clouds.js.map +1 -1
- package/dist/b3d-collisions.d.ts.map +1 -1
- package/dist/b3d-collisions.js +4 -1
- package/dist/b3d-collisions.js.map +1 -1
- package/dist/b3d-controllable.d.ts.map +1 -1
- package/dist/b3d-controllable.js +6 -2
- package/dist/b3d-controllable.js.map +1 -1
- package/dist/b3d-death.d.ts +1 -0
- package/dist/b3d-death.d.ts.map +1 -1
- package/dist/b3d-death.js +125 -52
- package/dist/b3d-death.js.map +1 -1
- package/dist/b3d-destroyable.d.ts +23 -0
- package/dist/b3d-destroyable.d.ts.map +1 -1
- package/dist/b3d-destroyable.js +104 -12
- package/dist/b3d-destroyable.js.map +1 -1
- package/dist/b3d-exploder.d.ts +18 -1
- package/dist/b3d-exploder.d.ts.map +1 -1
- package/dist/b3d-exploder.js +45 -2
- package/dist/b3d-exploder.js.map +1 -1
- package/dist/b3d-hud.d.ts +25 -0
- package/dist/b3d-hud.d.ts.map +1 -1
- package/dist/b3d-hud.js +38 -6
- package/dist/b3d-hud.js.map +1 -1
- package/dist/b3d-launcher.d.ts +41 -0
- package/dist/b3d-launcher.d.ts.map +1 -1
- package/dist/b3d-launcher.js +131 -53
- package/dist/b3d-launcher.js.map +1 -1
- package/dist/b3d-library.d.ts +42 -0
- package/dist/b3d-library.d.ts.map +1 -1
- package/dist/b3d-library.js +168 -18
- package/dist/b3d-library.js.map +1 -1
- package/dist/b3d-loader.d.ts.map +1 -1
- package/dist/b3d-loader.js +4 -4
- package/dist/b3d-loader.js.map +1 -1
- package/dist/b3d-planet.d.ts +4 -0
- package/dist/b3d-planet.d.ts.map +1 -1
- package/dist/b3d-planet.js +56 -2
- package/dist/b3d-planet.js.map +1 -1
- package/dist/b3d-probe.d.ts +7 -0
- package/dist/b3d-probe.d.ts.map +1 -1
- package/dist/b3d-probe.js +5 -1
- package/dist/b3d-probe.js.map +1 -1
- package/dist/b3d-radar.d.ts.map +1 -1
- package/dist/b3d-radar.js +2 -2
- package/dist/b3d-radar.js.map +1 -1
- package/dist/b3d-reflections.d.ts.map +1 -1
- package/dist/b3d-reflections.js +3 -1
- package/dist/b3d-reflections.js.map +1 -1
- package/dist/b3d-shadows.d.ts.map +1 -1
- package/dist/b3d-shadows.js +4 -3
- package/dist/b3d-shadows.js.map +1 -1
- package/dist/b3d-spawner.d.ts.map +1 -1
- package/dist/b3d-spawner.js +3 -3
- package/dist/b3d-spawner.js.map +1 -1
- package/dist/b3d-star-system.d.ts.map +1 -1
- package/dist/b3d-star-system.js +2 -2
- package/dist/b3d-star-system.js.map +1 -1
- package/dist/b3d-star.d.ts.map +1 -1
- package/dist/b3d-star.js +2 -2
- package/dist/b3d-star.js.map +1 -1
- package/dist/b3d-terrain.d.ts +107 -3
- package/dist/b3d-terrain.d.ts.map +1 -1
- package/dist/b3d-terrain.js +337 -34
- package/dist/b3d-terrain.js.map +1 -1
- package/dist/b3d-turret.d.ts.map +1 -1
- package/dist/b3d-turret.js +4 -4
- package/dist/b3d-turret.js.map +1 -1
- package/dist/b3d-utils.d.ts +47 -0
- package/dist/b3d-utils.d.ts.map +1 -1
- package/dist/b3d-utils.js +87 -0
- package/dist/b3d-utils.js.map +1 -1
- package/dist/b3d-warhead.d.ts.map +1 -1
- package/dist/b3d-warhead.js +18 -4
- package/dist/b3d-warhead.js.map +1 -1
- package/dist/b3d-water.d.ts +37 -0
- package/dist/b3d-water.d.ts.map +1 -1
- package/dist/b3d-water.js +123 -2
- package/dist/b3d-water.js.map +1 -1
- package/dist/biome-chart.d.ts +80 -0
- package/dist/biome-chart.d.ts.map +1 -0
- package/dist/biome-chart.js +295 -0
- package/dist/biome-chart.js.map +1 -0
- package/dist/biome-plugin.d.ts +230 -0
- package/dist/biome-plugin.d.ts.map +1 -0
- package/dist/biome-plugin.js +739 -0
- package/dist/biome-plugin.js.map +1 -0
- package/dist/carve.d.ts +89 -0
- package/dist/carve.d.ts.map +1 -0
- package/dist/carve.js +229 -0
- package/dist/carve.js.map +1 -0
- package/dist/cloud-shadows.d.ts +0 -1
- package/dist/cloud-shadows.d.ts.map +1 -1
- package/dist/cloud-shadows.js +8 -1
- package/dist/cloud-shadows.js.map +1 -1
- package/dist/control-input.d.ts +5 -0
- package/dist/control-input.d.ts.map +1 -1
- package/dist/control-input.js +5 -0
- package/dist/control-input.js.map +1 -1
- package/dist/destroyable-behavior.d.ts +1 -1
- package/dist/destroyable-behavior.d.ts.map +1 -1
- package/dist/destroyable-behavior.js +21 -6
- package/dist/destroyable-behavior.js.map +1 -1
- package/dist/fly-by-wire.d.ts +58 -0
- package/dist/fly-by-wire.d.ts.map +1 -1
- package/dist/fly-by-wire.js +117 -9
- package/dist/fly-by-wire.js.map +1 -1
- package/dist/glass-gamepad.d.ts +42 -0
- package/dist/glass-gamepad.d.ts.map +1 -1
- package/dist/glass-gamepad.js +111 -1
- package/dist/glass-gamepad.js.map +1 -1
- package/dist/hardware-gamepad.d.ts +1 -0
- package/dist/hardware-gamepad.d.ts.map +1 -1
- package/dist/hardware-gamepad.js +1 -0
- package/dist/hardware-gamepad.js.map +1 -1
- package/dist/hud-math.d.ts +27 -0
- package/dist/hud-math.d.ts.map +1 -1
- package/dist/hud-math.js +60 -0
- package/dist/hud-math.js.map +1 -1
- package/dist/hud.d.ts +24 -0
- package/dist/hud.d.ts.map +1 -1
- package/dist/hud.js +62 -2
- package/dist/hud.js.map +1 -1
- package/dist/index.d.ts +40 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -2
- package/dist/index.js.map +1 -1
- package/dist/keyboard-gamepad.d.ts +1 -0
- package/dist/keyboard-gamepad.d.ts.map +1 -1
- package/dist/keyboard-gamepad.js +1 -0
- package/dist/keyboard-gamepad.js.map +1 -1
- package/dist/landform.d.ts +174 -0
- package/dist/landform.d.ts.map +1 -0
- package/dist/landform.js +266 -0
- package/dist/landform.js.map +1 -0
- package/dist/medium.d.ts +131 -0
- package/dist/medium.d.ts.map +1 -0
- package/dist/medium.js +185 -0
- package/dist/medium.js.map +1 -0
- package/dist/model-transform.d.ts +50 -7
- package/dist/model-transform.d.ts.map +1 -1
- package/dist/model-transform.js +71 -13
- package/dist/model-transform.js.map +1 -1
- package/dist/patch-field.d.ts +38 -0
- package/dist/patch-field.d.ts.map +1 -0
- package/dist/patch-field.js +106 -0
- package/dist/patch-field.js.map +1 -0
- package/dist/portal-transform.d.ts +78 -0
- package/dist/portal-transform.d.ts.map +1 -0
- package/dist/portal-transform.js +221 -0
- package/dist/portal-transform.js.map +1 -0
- package/dist/sdf-lattice.d.ts +69 -0
- package/dist/sdf-lattice.d.ts.map +1 -0
- package/dist/sdf-lattice.js +485 -0
- package/dist/sdf-lattice.js.map +1 -0
- package/dist/slope-profile.d.ts +38 -0
- package/dist/slope-profile.d.ts.map +1 -0
- package/dist/slope-profile.js +137 -0
- package/dist/slope-profile.js.map +1 -0
- package/dist/terrain-grid.d.ts +90 -1
- package/dist/terrain-grid.d.ts.map +1 -1
- package/dist/terrain-grid.js +197 -11
- package/dist/terrain-grid.js.map +1 -1
- package/dist/tosi-b3d.d.ts +173 -1
- package/dist/tosi-b3d.d.ts.map +1 -1
- package/dist/tosi-b3d.js +592 -22
- package/dist/tosi-b3d.js.map +1 -1
- package/dist/touch-gamepad.d.ts +1 -0
- package/dist/touch-gamepad.d.ts.map +1 -1
- package/dist/touch-gamepad.js +1 -0
- package/dist/touch-gamepad.js.map +1 -1
- package/dist/virtual-gamepad.d.ts +46 -2
- package/dist/virtual-gamepad.d.ts.map +1 -1
- package/dist/virtual-gamepad.js +30 -8
- package/dist/virtual-gamepad.js.map +1 -1
- package/dist/widgets3d-layout.d.ts +19 -0
- package/dist/widgets3d-layout.d.ts.map +1 -1
- package/dist/widgets3d-layout.js +22 -0
- package/dist/widgets3d-layout.js.map +1 -1
- package/dist/world-store.js +2 -2
- package/dist/world-view.js +2 -2
- package/dist/xr-gamepad.d.ts +1 -0
- package/dist/xr-gamepad.d.ts.map +1 -1
- package/dist/xr-gamepad.js +1 -0
- package/dist/xr-gamepad.js.map +1 -1
- package/package.json +4 -3
package/dist/ambient-budget.d.ts
CHANGED
|
@@ -59,4 +59,49 @@ export declare function allocateAmbient(requests: AmbientRequest[], opts: {
|
|
|
59
59
|
* side effect of this ratchet.)
|
|
60
60
|
*/
|
|
61
61
|
export declare function ratchetPool(scale: number): number;
|
|
62
|
+
export interface SpawnBiasOptions {
|
|
63
|
+
/** Emitter box half-size (the `radius` attribute). */
|
|
64
|
+
radius: number;
|
|
65
|
+
/** Fraction of `radius` to push the box along the VIEW direction (0 = centred). */
|
|
66
|
+
lookAhead?: number;
|
|
67
|
+
/** Seconds of travel to push the box along the direction of MOTION. */
|
|
68
|
+
lead?: number;
|
|
69
|
+
/** Speed beyond which the motion lead stops growing (m/s). */
|
|
70
|
+
speedCap?: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Where to centre the ambient emitter box, given where you're looking and how
|
|
74
|
+
* fast you're going.
|
|
75
|
+
*
|
|
76
|
+
* Centring it on the camera is right for a walker and wrong for anything quick,
|
|
77
|
+
* for two compounding reasons (tosijs-3d#17/#18, from manta-recon):
|
|
78
|
+
*
|
|
79
|
+
* 1. **A camera sees a frustum, not a sphere.** Most of a box centred on the eye
|
|
80
|
+
* is behind, beside and below it, so most particles are born unseen, live
|
|
81
|
+
* unseen and are culled unseen — full cost, a fraction of the result. The
|
|
82
|
+
* owner's report: *"most of the bubbles are spawning out of sight and then
|
|
83
|
+
* stay out of sight until they're culled."*
|
|
84
|
+
* 2. **You outrun it.** At 30 m/s a 12 m box is behind you in under a second, so
|
|
85
|
+
* the faster you go the emptier the view ahead — exactly backwards, since
|
|
86
|
+
* speed is when you most want a medium rushing past.
|
|
87
|
+
*
|
|
88
|
+
* In a chase view both bite at once: the camera trails the vehicle, so the box
|
|
89
|
+
* is already behind the thing the player is watching.
|
|
90
|
+
*
|
|
91
|
+
* Returns the OFFSET from the eye, so the caller adds it to whatever else it
|
|
92
|
+
* does (the existing wind bias, for instance).
|
|
93
|
+
*/
|
|
94
|
+
export declare function spawnBias(forward: {
|
|
95
|
+
x: number;
|
|
96
|
+
y: number;
|
|
97
|
+
z: number;
|
|
98
|
+
}, velocity: {
|
|
99
|
+
x: number;
|
|
100
|
+
y: number;
|
|
101
|
+
z: number;
|
|
102
|
+
}, opts: SpawnBiasOptions): {
|
|
103
|
+
x: number;
|
|
104
|
+
y: number;
|
|
105
|
+
z: number;
|
|
106
|
+
};
|
|
62
107
|
//# sourceMappingURL=ambient-budget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-budget.d.ts","sourceRoot":"","sources":["../src/ambient-budget.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV;8DAC0D;IAC1D,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,GAAG,EAAE,MAAM,CAAA;IACX,uDAAuD;IACvD,OAAO,EAAE,QAAQ,CAAA;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,IAAI,cAAc,CAAA;IAC/B,kFAAkF;IAClF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC;AAOD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAIrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACrC,iBAAiB,CAwBnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
|
1
|
+
{"version":3,"file":"ambient-budget.d.ts","sourceRoot":"","sources":["../src/ambient-budget.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV;8DAC0D;IAC1D,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,GAAG,EAAE,MAAM,CAAA;IACX,uDAAuD;IACvD,OAAO,EAAE,QAAQ,CAAA;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,IAAI,cAAc,CAAA;IAC/B,kFAAkF;IAClF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC;AAOD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAIrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACrC,iBAAiB,CAwBnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,IAAI,EAAE,gBAAgB,GACrB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAsBrC"}
|
package/dist/ambient-budget.js
CHANGED
|
@@ -116,4 +116,47 @@ export function ratchetPool(scale) {
|
|
|
116
116
|
const next = scale * 0.6;
|
|
117
117
|
return next < 0.25 ? 0 : next; // below a quarter there's no honest effect left — all off
|
|
118
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Where to centre the ambient emitter box, given where you're looking and how
|
|
121
|
+
* fast you're going.
|
|
122
|
+
*
|
|
123
|
+
* Centring it on the camera is right for a walker and wrong for anything quick,
|
|
124
|
+
* for two compounding reasons (tosijs-3d#17/#18, from manta-recon):
|
|
125
|
+
*
|
|
126
|
+
* 1. **A camera sees a frustum, not a sphere.** Most of a box centred on the eye
|
|
127
|
+
* is behind, beside and below it, so most particles are born unseen, live
|
|
128
|
+
* unseen and are culled unseen — full cost, a fraction of the result. The
|
|
129
|
+
* owner's report: *"most of the bubbles are spawning out of sight and then
|
|
130
|
+
* stay out of sight until they're culled."*
|
|
131
|
+
* 2. **You outrun it.** At 30 m/s a 12 m box is behind you in under a second, so
|
|
132
|
+
* the faster you go the emptier the view ahead — exactly backwards, since
|
|
133
|
+
* speed is when you most want a medium rushing past.
|
|
134
|
+
*
|
|
135
|
+
* In a chase view both bite at once: the camera trails the vehicle, so the box
|
|
136
|
+
* is already behind the thing the player is watching.
|
|
137
|
+
*
|
|
138
|
+
* Returns the OFFSET from the eye, so the caller adds it to whatever else it
|
|
139
|
+
* does (the existing wind bias, for instance).
|
|
140
|
+
*/
|
|
141
|
+
export function spawnBias(forward, velocity, opts) {
|
|
142
|
+
const { radius, lookAhead = 0, lead = 0, speedCap = 40 } = opts;
|
|
143
|
+
const out = { x: 0, y: 0, z: 0 };
|
|
144
|
+
const fLen = Math.hypot(forward.x, forward.y, forward.z);
|
|
145
|
+
if (fLen > 1e-6 && lookAhead !== 0) {
|
|
146
|
+
const k = (radius * lookAhead) / fLen;
|
|
147
|
+
out.x += forward.x * k;
|
|
148
|
+
out.y += forward.y * k;
|
|
149
|
+
out.z += forward.z * k;
|
|
150
|
+
}
|
|
151
|
+
const speed = Math.hypot(velocity.x, velocity.y, velocity.z);
|
|
152
|
+
if (speed > 1e-6 && lead !== 0) {
|
|
153
|
+
// Capped, not proportional: past a point, leading further just spawns
|
|
154
|
+
// particles beyond the far plane, which is the same waste from the other end.
|
|
155
|
+
const k = (lead * Math.min(speed, speedCap)) / speed;
|
|
156
|
+
out.x += velocity.x * k;
|
|
157
|
+
out.y += velocity.y * k;
|
|
158
|
+
out.z += velocity.z * k;
|
|
159
|
+
}
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
119
162
|
//# sourceMappingURL=ambient-budget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-budget.js","sourceRoot":"","sources":["../src/ambient-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ambient-budget.js","sourceRoot":"","sources":["../src/ambient-budget.ts"],"names":[],"mappings":"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"}
|
package/dist/b3d-aircraft.d.ts
CHANGED
|
@@ -12,13 +12,44 @@ export declare class B3dAircraft extends B3dControllable {
|
|
|
12
12
|
player: boolean;
|
|
13
13
|
enterable: boolean;
|
|
14
14
|
ceiling: number;
|
|
15
|
-
|
|
15
|
+
hudChaseOff: boolean;
|
|
16
16
|
hudSize: number;
|
|
17
17
|
hudForward: number;
|
|
18
18
|
maxSpeed: number;
|
|
19
19
|
afterburnerSpeed: number;
|
|
20
20
|
acceleration: number;
|
|
21
21
|
vtolSpeed: number;
|
|
22
|
+
/** How fast the craft may back up in hover (units/s). */
|
|
23
|
+
reverseSpeed: number;
|
|
24
|
+
/** How fast the trigger moves the throttle lever (setting/sec). */
|
|
25
|
+
throttleRate: number;
|
|
26
|
+
/**
|
|
27
|
+
* AUTO LANDING GEAR. `'on'` finds the model's gear-retract AnimationGroups
|
|
28
|
+
* by name and runs them with height above ground: up on climb-out, down on
|
|
29
|
+
* approach. `'off'` leaves the gear to you (call `setGear`).
|
|
30
|
+
*/
|
|
31
|
+
autoGear: "on" | "off";
|
|
32
|
+
/** Height above ground (m) at which the gear retracts. It extends again at
|
|
33
|
+
* 60% of this — hysteresis, so a bumpy approach doesn't cycle it. */
|
|
34
|
+
gearAltitude: number;
|
|
35
|
+
/** Optional sound for the gear cycle (URL). Played spatially at the
|
|
36
|
+
* airframe, once per transition. */
|
|
37
|
+
gearSound: string;
|
|
38
|
+
/** Volume for `gearSound`. */
|
|
39
|
+
gearVolume: number;
|
|
40
|
+
/** Seconds for a full gear cycle. */
|
|
41
|
+
gearTime: number;
|
|
42
|
+
/** How far the LOOK stick can swing the view (degrees each way). */
|
|
43
|
+
lookRange: number;
|
|
44
|
+
/** Max nose-UP attitude the stick can command, degrees. */
|
|
45
|
+
maxPitch: number;
|
|
46
|
+
/** Max nose-DOWN attitude, degrees. 0 = same as `maxPitch`. */
|
|
47
|
+
maxDive: number;
|
|
48
|
+
/** Look slew rate (degrees/sec at full deflection). */
|
|
49
|
+
lookRate: number;
|
|
50
|
+
/** How fast the view springs back to centre when the stick is released
|
|
51
|
+
* (fraction of the remaining offset per second). */
|
|
52
|
+
lookReturn: number;
|
|
22
53
|
hoverCeiling: number;
|
|
23
54
|
groundY: number;
|
|
24
55
|
crashSpeed: number;
|
|
@@ -77,7 +108,7 @@ export declare class B3dAircraft extends B3dControllable {
|
|
|
77
108
|
private fbw;
|
|
78
109
|
private fbwSeeded;
|
|
79
110
|
ceiling: number;
|
|
80
|
-
|
|
111
|
+
hudChaseOff: boolean;
|
|
81
112
|
reticle: string;
|
|
82
113
|
reticleRange: number;
|
|
83
114
|
private _hud;
|
|
@@ -87,8 +118,19 @@ export declare class B3dAircraft extends B3dControllable {
|
|
|
87
118
|
private meshNode;
|
|
88
119
|
private _chasePivot;
|
|
89
120
|
private _chaseLookPitch;
|
|
121
|
+
/** Where the LOOK stick has swung the view (radians), and how fast it
|
|
122
|
+
* springs back when released. */
|
|
123
|
+
private _lookYaw;
|
|
124
|
+
private _lookPitch;
|
|
90
125
|
private meshesToDispose;
|
|
91
126
|
private _lastGroundDist;
|
|
127
|
+
private _groundNormal;
|
|
128
|
+
/** True while the airframe is in open air INSIDE the ground (a bore/cavern):
|
|
129
|
+
* heightfield assumptions are suspended for the frame. */
|
|
130
|
+
private _inCavity;
|
|
131
|
+
private _worldVel;
|
|
132
|
+
private _prevPos;
|
|
133
|
+
private _prevPosValid;
|
|
92
134
|
private _ray;
|
|
93
135
|
private _ownMeshes;
|
|
94
136
|
private groundClearance;
|
|
@@ -104,7 +146,11 @@ export declare class B3dAircraft extends B3dControllable {
|
|
|
104
146
|
/** The airframe's own meshes — the collision ray must skip these so a shell/bomb
|
|
105
147
|
* spawned at the belly (or the nose in a climb) never detonates on us. */
|
|
106
148
|
private ownMeshes;
|
|
107
|
-
/** World nose direction (unit) and a muzzle point `ahead` metres in front.
|
|
149
|
+
/** World nose direction (unit) and a muzzle point `ahead` metres in front.
|
|
150
|
+
* Computed through the WORLD matrix, never node.position: with a
|
|
151
|
+
* _centerOfGravity pivot the rendered airframe swings about the CoG under
|
|
152
|
+
* attitude, and position alone points at the stance origin — shots would
|
|
153
|
+
* spawn beside/behind the visible plane in a turn. */
|
|
108
154
|
private muzzle;
|
|
109
155
|
/** Fire one cannon shell forward, inheriting the airframe's velocity. */
|
|
110
156
|
fireGuns(): void;
|
|
@@ -122,6 +168,49 @@ export declare class B3dAircraft extends B3dControllable {
|
|
|
122
168
|
private get gunWarhead();
|
|
123
169
|
/** Nearest destroyable within `range` and inside the forward cone (or null). */
|
|
124
170
|
private acquireTarget;
|
|
171
|
+
/** The model's gear-retract animations, found by name (see `_findGear`). */
|
|
172
|
+
private _gearGroups;
|
|
173
|
+
/** true = retracted (or retracting). Starts DOWN: you spawn on the ground. */
|
|
174
|
+
private _gearUp;
|
|
175
|
+
private _gearSound;
|
|
176
|
+
/** 0 = down, 1 = up — scrubbed toward `_gearTarget`. */
|
|
177
|
+
private _gearPos;
|
|
178
|
+
private _gearTarget;
|
|
179
|
+
/**
|
|
180
|
+
* Find the gear animations on a freshly-loaded model, by NAME.
|
|
181
|
+
*
|
|
182
|
+
* Convention over configuration: a group whose name mentions "gear" and
|
|
183
|
+
* "retract" (or "up") is a landing-gear animation, so the scout's
|
|
184
|
+
* "Main Gear (L) Retract" / "Nose Gear Retract" are picked up with no
|
|
185
|
+
* authoring beyond what's already in the GLB. Library instances carry their
|
|
186
|
+
* groups on `metadata.animationGroups` (renamed per instance), so several
|
|
187
|
+
* aircraft each animate their own gear.
|
|
188
|
+
*/
|
|
189
|
+
private _findGear;
|
|
190
|
+
/**
|
|
191
|
+
* Raise or lower the gear. Public so an AI pilot, a cutscene or a key bind
|
|
192
|
+
* can call it; `autoGear` drives it from altitude otherwise.
|
|
193
|
+
*/
|
|
194
|
+
setGear(up: boolean): void;
|
|
195
|
+
/**
|
|
196
|
+
* The gear is SCRUBBED, not played.
|
|
197
|
+
*
|
|
198
|
+
* Letting the AnimationGroup play itself looked obvious and doesn't work:
|
|
199
|
+
* glTF animations arrive with a cyclic loop mode, so a group told to stop at
|
|
200
|
+
* the end can snap back to frame 0 — the gear cycles and then vanishes
|
|
201
|
+
* (exactly what Tonio saw) — and reverse playback via `start(from > to)` is
|
|
202
|
+
* unreliable across Babylon versions. Advancing a normalised position and
|
|
203
|
+
* calling `goToFrame` sidesteps all of it: no loop mode, no end-of-group
|
|
204
|
+
* behaviour, no second animation to author for the reverse, and an
|
|
205
|
+
* interrupted cycle simply turns around from wherever it had got to.
|
|
206
|
+
*/
|
|
207
|
+
private _scrubGear;
|
|
208
|
+
/** True while the gear is up (or on its way). */
|
|
209
|
+
get gearUp(): boolean;
|
|
210
|
+
private _playGearSound;
|
|
211
|
+
/** Drive the gear from height above ground, with hysteresis so a bumpy
|
|
212
|
+
* approach or a hill passing underneath doesn't cycle it. */
|
|
213
|
+
private _updateGear;
|
|
125
214
|
/** Distance from the aircraft origin down to the nearest ground: the lower of
|
|
126
215
|
* any terrain collider the raycast hits and the configured ground plane. */
|
|
127
216
|
private groundDistance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-aircraft.d.ts","sourceRoot":"","sources":["../src/b3d-aircraft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-aircraft.d.ts","sourceRoot":"","sources":["../src/b3d-aircraft.ts"],"names":[],"mappings":"AAgSA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAanD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAiE3C,qBAAa,WAAY,SAAQ,eAAe;IAC9C,YAAY,2CAAoB;IAEhC,MAAM,CAAC,cAAc;;;;;;;;;;;;;;QA0BnB,yDAAyD;;QAEzD,mEAAmE;;QAEnE;;;;WAIG;kBACe,IAAI,GAAG,KAAK;QAC9B;6EACqE;;QAErE;4CACoC;;QAEpC,8BAA8B;;QAE9B,qCAAqC;;QAErC,oEAAoE;;QAEpE,2DAA2D;;QAE3D,+DAA+D;;QAE/D,uDAAuD;;QAEvD;4DACoD;;;;;;;;;;;;;;;;;;;;;;;;;;MAqCrD;IAGD,QAAQ,SAAI;IACZ,QAAQ,SAAI;IACZ,aAAa,SAAI;IACjB,UAAU,UAAQ;IAClB,QAAQ,UAAQ;IAChB,MAAM,UAAQ;IACd,QAAQ,UAAQ;IAChB,OAAO,UAAQ;IACf,8FAA8F;IAC9F,OAAO,CAAC,SAAS,CAAQ;IACzB;kEAC8D;IAC9D,UAAU,EAAE,OAAO,GAAG,SAAS,CAAU;IACzC,OAAO,CAAC,cAAc,CAAQ;IAE9B;;;wEAGoE;IACpE,SAAS,SAAM;IACf,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,WAAW,SAAM;IACjB,aAAa,SAAM;IAEnB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,IAAI,CAAwB;IAEpC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,GAAG,CAA8D;IACzE,OAAO,CAAC,SAAS,CAAQ;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IAE5B,OAAO,CAAC,IAAI,CAAwC;IACpD,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAqC;IAKrD,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,eAAe,CAAI;IAC3B;qCACiC;IACjC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,eAAe,CAAqB;IAM5C,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,aAAa,CAA+B;IACpD;8DAC0D;IAC1D,OAAO,CAAC,SAAS,CAAQ;IAMzB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,IAAI,CAIX;IACD,OAAO,CAAC,UAAU,CAAyC;IAG3D,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,WAAW,CAA4B;IAE/C,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAwb1C,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,QAAQ,CAA2B;IAE3C,gFAAgF;IAChF,OAAO,CAAC,eAAe;IA8BvB,mEAAmE;IACnE,IAAI,KAAK,IAAI,QAAQ,GAAG,IAAI,CAM3B;IAED;8EAC0E;IAC1E,OAAO,CAAC,SAAS;IAUjB;;;;0DAIsD;IACtD,OAAO,CAAC,MAAM;IAUd,yEAAyE;IACzE,QAAQ,IAAI,IAAI;IAmBhB;;0CAEsC;IACtC,QAAQ,IAAI,IAAI;IAgBhB;;;;;OAKG;IACH,WAAW,IAAI,IAAI;IAuDnB,OAAO,KAAK,UAAU,GAMrB;IAED,gFAAgF;IAChF,OAAO,CAAC,aAAa;IAyBrB,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAA+B;IAClD,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAA6B;IAC/C,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,WAAW,CAAI;IAEvB;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS;IAkBjB;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAO1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAclB,iDAAiD;IACjD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,cAAc;IAkBtB;iEAC6D;IAC7D,OAAO,CAAC,WAAW;IAUnB;gFAC4E;IAC5E,OAAO,CAAC,cAAc;IAWtB,+EAA+E;IAC/E,OAAO,CAAC,KAAK;IA0Cb;;qDAEiD;IACjD,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,YAAY;IAgBpB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAW3C,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,SAAS;IAuCjB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAkC;IAEvD,iBAAiB;IA6EjB;;qCAEiC;IACjC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS;IAQvC,YAAY;CAuCb;AAED,eAAO,MAAM,WAAW,8CAEtB,CAAA"}
|