tosijs-3d 0.5.0 → 0.5.2
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/README.md +5 -1
- package/dist/ambient-budget.d.ts.map +1 -1
- package/dist/ambient-budget.js +11 -0
- package/dist/ambient-budget.js.map +1 -1
- package/dist/ambient-leaves.d.ts.map +1 -1
- package/dist/ambient-leaves.js +11 -0
- package/dist/ambient-leaves.js.map +1 -1
- package/dist/b3d-ambient.d.ts.map +1 -1
- package/dist/b3d-ambient.js +17 -10
- package/dist/b3d-ambient.js.map +1 -1
- package/dist/b3d-biped.d.ts.map +1 -1
- package/dist/b3d-biped.js +4 -6
- package/dist/b3d-biped.js.map +1 -1
- package/dist/b3d-clouds.d.ts +6 -0
- package/dist/b3d-clouds.d.ts.map +1 -1
- package/dist/b3d-clouds.js +88 -22
- package/dist/b3d-clouds.js.map +1 -1
- package/dist/b3d-collisions.js +2 -2
- package/dist/b3d-collisions.js.map +1 -1
- package/dist/b3d-controllable.d.ts +2 -2
- package/dist/b3d-controllable.d.ts.map +1 -1
- package/dist/b3d-controllable.js +20 -3
- package/dist/b3d-controllable.js.map +1 -1
- package/dist/b3d-controller.d.ts.map +1 -1
- package/dist/b3d-controller.js +6 -2
- package/dist/b3d-controller.js.map +1 -1
- package/dist/b3d-destroyable.d.ts.map +1 -1
- package/dist/b3d-destroyable.js +7 -9
- package/dist/b3d-destroyable.js.map +1 -1
- package/dist/b3d-exploder.d.ts.map +1 -1
- package/dist/b3d-exploder.js +5 -10
- package/dist/b3d-exploder.js.map +1 -1
- package/dist/b3d-fog.d.ts.map +1 -1
- package/dist/b3d-fog.js +29 -0
- package/dist/b3d-fog.js.map +1 -1
- package/dist/b3d-input-focus.js +3 -3
- package/dist/b3d-input-focus.js.map +1 -1
- package/dist/b3d-launcher.d.ts.map +1 -1
- package/dist/b3d-launcher.js +6 -8
- package/dist/b3d-launcher.js.map +1 -1
- package/dist/b3d-light.d.ts.map +1 -1
- package/dist/b3d-light.js +5 -10
- package/dist/b3d-light.js.map +1 -1
- package/dist/b3d-loader.d.ts.map +1 -1
- package/dist/b3d-loader.js +4 -6
- package/dist/b3d-loader.js.map +1 -1
- package/dist/b3d-particles.d.ts.map +1 -1
- package/dist/b3d-particles.js +5 -10
- package/dist/b3d-particles.js.map +1 -1
- package/dist/b3d-physics.d.ts.map +1 -1
- package/dist/b3d-physics.js +5 -10
- package/dist/b3d-physics.js.map +1 -1
- package/dist/b3d-radar-blip.js +3 -3
- package/dist/b3d-radar-blip.js.map +1 -1
- package/dist/b3d-reflections.d.ts.map +1 -1
- package/dist/b3d-reflections.js +7 -12
- package/dist/b3d-reflections.js.map +1 -1
- package/dist/b3d-shadows.d.ts.map +1 -1
- package/dist/b3d-shadows.js +7 -12
- package/dist/b3d-shadows.js.map +1 -1
- package/dist/b3d-skybox.d.ts.map +1 -1
- package/dist/b3d-skybox.js +2 -6
- package/dist/b3d-skybox.js.map +1 -1
- package/dist/b3d-sound.d.ts.map +1 -1
- package/dist/b3d-sound.js +5 -10
- package/dist/b3d-sound.js.map +1 -1
- package/dist/b3d-svg-plane.d.ts.map +1 -1
- package/dist/b3d-svg-plane.js +6 -18
- package/dist/b3d-svg-plane.js.map +1 -1
- package/dist/b3d-terrain.js +1 -1
- package/dist/b3d-terrain.js.map +1 -1
- package/dist/b3d-trigger.d.ts.map +1 -1
- package/dist/b3d-trigger.js +5 -10
- package/dist/b3d-trigger.js.map +1 -1
- package/dist/b3d-turret.d.ts.map +1 -1
- package/dist/b3d-turret.js +2 -3
- package/dist/b3d-turret.js.map +1 -1
- package/dist/b3d-utils.d.ts.map +1 -1
- package/dist/b3d-utils.js +15 -1
- package/dist/b3d-utils.js.map +1 -1
- package/dist/b3d-warhead.d.ts.map +1 -1
- package/dist/b3d-warhead.js +2 -3
- package/dist/b3d-warhead.js.map +1 -1
- package/dist/b3d-water.d.ts.map +1 -1
- package/dist/b3d-water.js +39 -2
- package/dist/b3d-water.js.map +1 -1
- package/dist/cloud-shadows.d.ts.map +1 -1
- package/dist/cloud-shadows.js +37 -1
- package/dist/cloud-shadows.js.map +1 -1
- package/dist/control-input.d.ts.map +1 -1
- package/dist/control-input.js +13 -0
- package/dist/control-input.js.map +1 -1
- package/dist/destroyable-behavior.d.ts.map +1 -1
- package/dist/destroyable-behavior.js +11 -0
- package/dist/destroyable-behavior.js.map +1 -1
- package/dist/flow-layout.d.ts +42 -0
- package/dist/flow-layout.d.ts.map +1 -0
- package/dist/flow-layout.js +100 -0
- package/dist/flow-layout.js.map +1 -0
- package/dist/formations.d.ts.map +1 -1
- package/dist/formations.js +33 -0
- package/dist/formations.js.map +1 -1
- package/dist/frame-panel.d.ts.map +1 -1
- package/dist/frame-panel.js +11 -0
- package/dist/frame-panel.js.map +1 -1
- package/dist/glass-gamepad.d.ts +1 -1
- package/dist/glass-gamepad.d.ts.map +1 -1
- package/dist/glass-gamepad.js +55 -25
- package/dist/glass-gamepad.js.map +1 -1
- package/dist/hardware-gamepad.d.ts.map +1 -1
- package/dist/hardware-gamepad.js +10 -0
- package/dist/hardware-gamepad.js.map +1 -1
- package/dist/hud-math.d.ts.map +1 -1
- package/dist/hud-math.js +15 -0
- package/dist/hud-math.js.map +1 -1
- package/dist/hud.d.ts.map +1 -1
- package/dist/hud.js +13 -0
- package/dist/hud.js.map +1 -1
- package/dist/icon-data.d.ts +6 -0
- package/dist/icon-data.d.ts.map +1 -0
- package/dist/icon-data.js +37 -0
- package/dist/icon-data.js.map +1 -0
- package/dist/icon-name.d.ts +27 -0
- package/dist/icon-name.d.ts.map +1 -0
- package/dist/icon-name.js +120 -0
- package/dist/icon-name.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/keyboard-gamepad.d.ts.map +1 -1
- package/dist/keyboard-gamepad.js +11 -0
- package/dist/keyboard-gamepad.js.map +1 -1
- package/dist/min-sim-conformance.d.ts +21 -0
- package/dist/min-sim-conformance.d.ts.map +1 -0
- package/dist/min-sim-conformance.js +218 -0
- package/dist/min-sim-conformance.js.map +1 -0
- package/dist/perf-probe.d.ts.map +1 -1
- package/dist/perf-probe.js +12 -0
- package/dist/perf-probe.js.map +1 -1
- package/dist/radar.d.ts.map +1 -1
- package/dist/radar.js +11 -0
- package/dist/radar.js.map +1 -1
- package/dist/shadow-decal.d.ts.map +1 -1
- package/dist/shadow-decal.js +41 -0
- package/dist/shadow-decal.js.map +1 -1
- package/dist/spatial-transform.d.ts.map +1 -1
- package/dist/spatial-transform.js +16 -0
- package/dist/spatial-transform.js.map +1 -1
- package/dist/svg-icons.d.ts +45 -0
- package/dist/svg-icons.d.ts.map +1 -0
- package/dist/svg-icons.js +362 -0
- package/dist/svg-icons.js.map +1 -0
- package/dist/svg-texture.d.ts.map +1 -1
- package/dist/svg-texture.js +2 -6
- package/dist/svg-texture.js.map +1 -1
- package/dist/tosi-b3d.d.ts +36 -33
- package/dist/tosi-b3d.d.ts.map +1 -1
- package/dist/tosi-b3d.js +81 -56
- package/dist/tosi-b3d.js.map +1 -1
- package/dist/touch-gamepad.d.ts +2 -2
- package/dist/touch-gamepad.d.ts.map +1 -1
- package/dist/touch-gamepad.js +6 -6
- package/dist/touch-gamepad.js.map +1 -1
- package/dist/widgets3d-layout.d.ts.map +1 -1
- package/dist/widgets3d-layout.js +15 -0
- package/dist/widgets3d-layout.js.map +1 -1
- package/dist/world-contract.d.ts +147 -0
- package/dist/world-contract.d.ts.map +1 -1
- package/dist/world-contract.js +17 -0
- package/dist/world-contract.js.map +1 -1
- package/dist/world-store.d.ts +46 -2
- package/dist/world-store.d.ts.map +1 -1
- package/dist/world-store.js +277 -0
- package/dist/world-store.js.map +1 -1
- package/dist/world-topology.d.ts +36 -0
- package/dist/world-topology.d.ts.map +1 -0
- package/dist/world-topology.js +174 -0
- package/dist/world-topology.js.map +1 -0
- package/dist/xr-frames.d.ts.map +1 -1
- package/dist/xr-frames.js +11 -0
- package/dist/xr-frames.js.map +1 -1
- package/dist/xr-gamepad.d.ts.map +1 -1
- package/dist/xr-gamepad.js +11 -0
- package/dist/xr-gamepad.js.map +1 -1
- package/package.json +8 -4
package/dist/b3d-clouds.js
CHANGED
|
@@ -156,6 +156,11 @@ export class B3dClouds extends B3dChild {
|
|
|
156
156
|
// harder than a few wisps). 0 ⇒ invisible even with castShadows on.
|
|
157
157
|
shadowStrength: 0.65,
|
|
158
158
|
seed: 1,
|
|
159
|
+
// Drift (m/s): the layer slides across the sky so clouds aren't a static backdrop. Gentle by
|
|
160
|
+
// default so it reads as WEATHER, not a frozen image — recycled blobs wrap in from upwind and
|
|
161
|
+
// fade up. (A future global wind system will drive these; for now they're the local dial.)
|
|
162
|
+
windX: 4,
|
|
163
|
+
windZ: 1.5,
|
|
159
164
|
};
|
|
160
165
|
/**
|
|
161
166
|
* How deep in a cloud you are, 0…1. **Gameplay reads this** — break a lock, hide a ship,
|
|
@@ -180,6 +185,8 @@ export class B3dClouds extends B3dChild {
|
|
|
180
185
|
_baseColor = new BABYLON.Color3(1, 1, 1);
|
|
181
186
|
/** Whiteout colour, recomputed each frame — white at the cloud top, murk deeper down. */
|
|
182
187
|
_fogColor = new BABYLON.Color3(1, 1, 1);
|
|
188
|
+
/** The skybox, so the whiteout can blot the SKY too (scene fog alone can't — it opts out). */
|
|
189
|
+
_sky = null;
|
|
183
190
|
_lastCoverage = -1;
|
|
184
191
|
_tick = () => this._update();
|
|
185
192
|
_onShift = (dx, dz) => {
|
|
@@ -204,14 +211,20 @@ export class B3dClouds extends B3dChild {
|
|
|
204
211
|
const rng = new MersenneTwister(this.seed);
|
|
205
212
|
this._baseColor = BABYLON.Color3.FromHexString(this.color);
|
|
206
213
|
const mat = new BABYLON.StandardMaterial('cloud-mat', scene);
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
//
|
|
214
|
+
// FLAT by default — deliberate, not lazy. A cloud is a CLUMP of overlapping opaque blobs; the
|
|
215
|
+
// moment they're LIT, adjacent blobs shade differently, so wherever two surfaces coincide in
|
|
216
|
+
// depth the z-fight becomes VISIBLE and flickers like crazy as you tilt (worse once they
|
|
217
|
+
// drift). Flat, every blob is the SAME colour, so the z-fight is invisible — no flicker, ever.
|
|
218
|
+
// Form comes from the projected shadow + the fog whiteout + the silhouette, not per-blob
|
|
219
|
+
// shading. (A lit-but-stable version needs a single merged mesh or a deterministic opaque
|
|
220
|
+
// sort so ties don't flip — tracked in TODO. `backFaceCulling` ON for the same reason: a
|
|
221
|
+
// blob's dark interior must not compete with a neighbour's exterior in the depth buffer.)
|
|
210
222
|
mat.diffuseColor = this._baseColor;
|
|
211
|
-
mat.emissiveColor = this._baseColor.
|
|
223
|
+
mat.emissiveColor = this._baseColor.clone(); // fully self-lit → flat lit blob, not a grey rock
|
|
212
224
|
mat.specularColor = BABYLON.Color3.Black();
|
|
225
|
+
mat.disableLighting = true;
|
|
213
226
|
mat.alpha = this.opacity;
|
|
214
|
-
mat.backFaceCulling =
|
|
227
|
+
mat.backFaceCulling = true;
|
|
215
228
|
this._mat = mat;
|
|
216
229
|
const sizeMul = 0.7 + this.coverage * 0.6; // denser sky → bigger, more-overlapping blobs
|
|
217
230
|
for (let i = 0; i < this.count; i++) {
|
|
@@ -239,7 +252,7 @@ export class B3dClouds extends B3dChild {
|
|
|
239
252
|
if (m.receiveShadows && m.material)
|
|
240
253
|
this._shadowMap.attachTo(m.material);
|
|
241
254
|
}
|
|
242
|
-
owner.
|
|
255
|
+
owner.addSceneListener(this._onAddition);
|
|
243
256
|
// The Perf Stats panel is the one debug readout that exists everywhere (incl. VR).
|
|
244
257
|
this._removeDebug = owner.addDebugSource({
|
|
245
258
|
name: 'cloud-shadows',
|
|
@@ -257,7 +270,7 @@ export class B3dClouds extends B3dChild {
|
|
|
257
270
|
// Floating origin: blob positions are WORLD coordinates held in JS, so on a terrain rebase
|
|
258
271
|
// they must shift with everything else or the whole sky would jump. (The per-frame recycle
|
|
259
272
|
// would eventually mask it, but not without a visible lurch.)
|
|
260
|
-
owner.
|
|
273
|
+
owner.addOriginListener(this._onShift);
|
|
261
274
|
scene.onBeforeCameraRenderObservable.add(this._tick);
|
|
262
275
|
// The whiteout is a fog LAYER — the scene composites and smooths it, so it can't fight
|
|
263
276
|
// b3d-fog or the sea, and nothing ever switches fogMode (see atmosphere.ts). The colour is
|
|
@@ -286,13 +299,13 @@ export class B3dClouds extends B3dChild {
|
|
|
286
299
|
}
|
|
287
300
|
sceneDispose() {
|
|
288
301
|
this.owner?.scene.onBeforeCameraRenderObservable.removeCallback(this._tick);
|
|
289
|
-
this.owner?.
|
|
302
|
+
this.owner?.removeOriginListener(this._onShift);
|
|
290
303
|
this._removeFogLayer?.();
|
|
291
304
|
this._removeFogLayer = null;
|
|
292
305
|
for (const b of this._blobs)
|
|
293
306
|
b.dispose();
|
|
294
307
|
this._blobs = [];
|
|
295
|
-
this.owner?.
|
|
308
|
+
this.owner?.removeSceneListener(this._onAddition);
|
|
296
309
|
this._removeDebug?.();
|
|
297
310
|
this._removeDebug = null;
|
|
298
311
|
this._shadowMap?.dispose();
|
|
@@ -315,12 +328,11 @@ export class B3dClouds extends B3dChild {
|
|
|
315
328
|
if (cov !== this._lastCoverage && this._mat != null) {
|
|
316
329
|
this._lastCoverage = cov;
|
|
317
330
|
this._shadowDirty = true;
|
|
318
|
-
// Thicker sky ⇒ darker (storm grey)
|
|
319
|
-
//
|
|
320
|
-
const dark = 1 - 0.
|
|
321
|
-
const illum = Math.min(1, Math.max(0, this.selfIllum * (1.4 - cov)));
|
|
331
|
+
// Thicker sky ⇒ darker (storm grey). Opacity is NOT touched — the blobs are solid; coverage
|
|
332
|
+
// changes how MANY and how DARK, not how see-through. Flat model: emissive IS what shows.
|
|
333
|
+
const dark = 1 - 0.5 * cov;
|
|
322
334
|
this._mat.diffuseColor = this._baseColor.scale(dark);
|
|
323
|
-
this._mat.emissiveColor = this._baseColor.scale(dark
|
|
335
|
+
this._mat.emissiveColor = this._baseColor.scale(dark);
|
|
324
336
|
}
|
|
325
337
|
return active;
|
|
326
338
|
}
|
|
@@ -336,7 +348,7 @@ export class B3dClouds extends B3dChild {
|
|
|
336
348
|
return;
|
|
337
349
|
this._shadowRepaintAge = 10; // frames between checks — shadows are slow-moving
|
|
338
350
|
// Lazy attach sweep: receivers arrive on their own schedule (terrain builds its tile pool
|
|
339
|
-
// whenever it's ready, GLBs load async) and registration order isn't guaranteed.
|
|
351
|
+
// whenever it's ready, GLBs load async) and registration order isn't guaranteed. addSceneListener
|
|
340
352
|
// catches registered arrivals; this is the backstop for anything else — but only when the mesh
|
|
341
353
|
// COUNT changed, so the steady state costs one length compare, not an O(meshes) sweep forever.
|
|
342
354
|
if (scene.meshes.length !== this._lastSweptMeshCount) {
|
|
@@ -392,6 +404,8 @@ export class B3dClouds extends B3dChild {
|
|
|
392
404
|
return;
|
|
393
405
|
const eye = cam.globalPosition;
|
|
394
406
|
const active = this._applyCoverage();
|
|
407
|
+
const dt = Math.min(0.1, (scene.getEngine().getDeltaTime() || 16) / 1000);
|
|
408
|
+
const drifting = this.windX !== 0 || this.windZ !== 0;
|
|
395
409
|
// Recycle: a blob that falls behind wraps to the far side, so an endless cloudscape
|
|
396
410
|
// costs a FIXED number of meshes. No allocation, no growth.
|
|
397
411
|
let nearest = Infinity;
|
|
@@ -404,14 +418,49 @@ export class B3dClouds extends B3dChild {
|
|
|
404
418
|
blob.setEnabled(on);
|
|
405
419
|
if (!on)
|
|
406
420
|
continue;
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
blob.position.
|
|
412
|
-
|
|
421
|
+
// Drift with the wind so the sky is alive, not a still image. The recycle below wraps a blob
|
|
422
|
+
// once it drifts off-field, and the edge fade hides the wrap. Shadows follow (dirty flag).
|
|
423
|
+
if (drifting) {
|
|
424
|
+
blob.position.x += this.windX * dt;
|
|
425
|
+
blob.position.z += this.windZ * dt;
|
|
426
|
+
this._shadowDirty = true;
|
|
427
|
+
}
|
|
428
|
+
// Recycle with HYSTERESIS: only wrap a blob once it's well PAST the edge, and drop it back to
|
|
429
|
+
// just INSIDE the opposite edge — never right at the boundary.
|
|
430
|
+
//
|
|
431
|
+
// ⚠️ The old code reflected across the eye (`eye - dx`), which keeps the SAME distance from
|
|
432
|
+
// it — so a blob just past `spread` landed just past it on the far side and re-triggered EVERY
|
|
433
|
+
// frame: a per-frame ping-pong that teleported the handful of boundary blobs back and forth.
|
|
434
|
+
// Static it looked fine (no blob was past `spread`); the moment the camera moved, a few blobs
|
|
435
|
+
// crossed the ring and "flickered like crazy". The gap between the wrap threshold (`s + pad`)
|
|
436
|
+
// and the landing point (`s - inset`) is the hysteresis band that stops any boundary thrash —
|
|
437
|
+
// and landing at a fixed inset (not a same-distance reflection or a modulo) means even a
|
|
438
|
+
// camera that jumps far in one frame lands cleanly inside.
|
|
439
|
+
const s = this.spread;
|
|
440
|
+
const pad = s * 0.08; // must be this far PAST the edge before it recycles
|
|
441
|
+
const inset = s * 0.05; // and reappears this far INSIDE the opposite edge
|
|
442
|
+
const wrapAxis = (p, e) => {
|
|
443
|
+
const r = p - e;
|
|
444
|
+
if (r > s + pad)
|
|
445
|
+
return e - (s - inset); // off the far edge → reappear just inside the near
|
|
446
|
+
if (r < -(s + pad))
|
|
447
|
+
return e + (s - inset);
|
|
448
|
+
return p;
|
|
449
|
+
};
|
|
450
|
+
const nx = wrapAxis(blob.position.x, eye.x);
|
|
451
|
+
const nz = wrapAxis(blob.position.z, eye.z);
|
|
452
|
+
if (nx !== blob.position.x || nz !== blob.position.z) {
|
|
453
|
+
blob.position.x = nx;
|
|
454
|
+
blob.position.z = nz;
|
|
413
455
|
this._shadowDirty = true;
|
|
414
456
|
}
|
|
457
|
+
const dx = blob.position.x - eye.x;
|
|
458
|
+
const dz = blob.position.z - eye.z;
|
|
459
|
+
// Fade near the field edge so a recycled blob doesn't POP: it's already nearly invisible by
|
|
460
|
+
// the time it reaches the boundary, wraps while unseen, then fades back up as it drifts inward.
|
|
461
|
+
// (`visibility` is per-mesh, so it composes with the shared material's `opacity`.)
|
|
462
|
+
const edgeDist = s - Math.max(Math.abs(dx), Math.abs(dz));
|
|
463
|
+
blob.visibility = Math.min(1, Math.max(0, edgeDist / (s * 0.35)));
|
|
415
464
|
const dy = blob.position.y - eye.y;
|
|
416
465
|
// True WORLD distance to the squashed-ellipsoid surface along the view ray — so the whiteout
|
|
417
466
|
// builds over the same real distance from any direction. The old `hypot(dx, dy/0.45, dz) -
|
|
@@ -436,7 +485,12 @@ export class B3dClouds extends B3dChild {
|
|
|
436
485
|
// clamps to 1 for anything nearer, including negative = inside) you STAY white the whole
|
|
437
486
|
// time you're in the cloud, until you come out the far side.
|
|
438
487
|
const startDist = Math.max(1, this.size * this.approach);
|
|
439
|
-
|
|
488
|
+
// Reach FULL immersion well before the surface (0.6·startDist, was 0.3): the scene fog is
|
|
489
|
+
// temporally smoothed (~0.25s), so at 60 m/s the *visible* whiteout lags the immersion ramp by
|
|
490
|
+
// ~15 m. Ramping to full earlier means the density has time to build to opaque BEFORE you enter
|
|
491
|
+
// — otherwise the fog reads as "snapping on right at entry" and, on a fast pass, never fully
|
|
492
|
+
// settles (distant geometry/shadows show through). Total whiteout is still comfortably close.
|
|
493
|
+
const fullDist = startDist * 0.6;
|
|
440
494
|
this._immersion = band(nearest, startDist, fullDist);
|
|
441
495
|
// Whiteout COLOUR by vertical depth: white near the cloud top, darkening as you sink. The
|
|
442
496
|
// top of the layer is `altitude + thickness/2`; how far below it you sit (0…thickness) sets
|
|
@@ -451,6 +505,18 @@ export class B3dClouds extends B3dChild {
|
|
|
451
505
|
const shade = 1 - 0.8 * frac * (0.35 + 0.65 * cov);
|
|
452
506
|
this._fogColor.copyFrom(this._baseColor).scaleInPlace(shade);
|
|
453
507
|
}
|
|
508
|
+
// Blot the SKY too. The whiteout is scene fog, but the skybox is infinite-distance and opts
|
|
509
|
+
// OUT of fog (applyFog=false — obey it and the sky would be white ALWAYS), so without this the
|
|
510
|
+
// sky shows straight through the whiteout. Fade the skybox by immersion; the fading sky reveals
|
|
511
|
+
// the scene clear colour, which we tint to the fog colour so what's behind it is white, not
|
|
512
|
+
// black. (Geometry is already whited out by the scene fog itself.)
|
|
513
|
+
if (this._sky == null)
|
|
514
|
+
this._sky = scene.meshes.find((m) => /sky/i.test(m.name)) ?? null;
|
|
515
|
+
if (this._sky != null) {
|
|
516
|
+
this._sky.visibility = 1 - this._immersion;
|
|
517
|
+
if (this._immersion > 0)
|
|
518
|
+
scene.clearColor.set(this._fogColor.r, this._fogColor.g, this._fogColor.b, 1);
|
|
519
|
+
}
|
|
454
520
|
}
|
|
455
521
|
}
|
|
456
522
|
export const b3dClouds = B3dClouds.elementCreator({
|
package/dist/b3d-clouds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-clouds.js","sourceRoot":"","sources":["../src/b3d-clouds.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"b3d-clouds.js","sourceRoot":"","sources":["../src/b3d-clouds.ts"],"names":[],"mappings":"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"}
|
package/dist/b3d-collisions.js
CHANGED
|
@@ -193,11 +193,11 @@ export class B3dCollisions extends B3dChild {
|
|
|
193
193
|
sceneReady(owner, _scene) {
|
|
194
194
|
this.owner = owner;
|
|
195
195
|
this._callback = this.processAdditions.bind(this);
|
|
196
|
-
owner.
|
|
196
|
+
owner.addSceneListener(this._callback);
|
|
197
197
|
}
|
|
198
198
|
sceneDispose() {
|
|
199
199
|
if (this.owner && this._callback) {
|
|
200
|
-
this.owner.
|
|
200
|
+
this.owner.removeSceneListener(this._callback);
|
|
201
201
|
}
|
|
202
202
|
for (const collider of this.colliders) {
|
|
203
203
|
collider.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-collisions.js","sourceRoot":"","sources":["../src/b3d-collisions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"b3d-collisions.js","sourceRoot":"","sources":["../src/b3d-collisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ export declare class B3dControllable extends AbstractMesh {
|
|
|
13
13
|
sceneDispose(): void;
|
|
14
14
|
applyInput(input: ControlInput, dt: number): void;
|
|
15
15
|
getCameraTarget(): BABYLON.Node | null;
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
handleGainFocus(): void;
|
|
17
|
+
handleLoseFocus(): void;
|
|
18
18
|
protected _update: () => void;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=b3d-controllable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-controllable.d.ts","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-controllable.d.ts","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0EAA0E;IAC1E,SAAS,EAAE,YAAY,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,UAAU,SAAI;IAExB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAqB3C,YAAY;IAMZ,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAI1C,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,eAAe;IAIf,eAAe;IAIf,SAAS,CAAC,OAAO,aAahB;CACF"}
|
package/dist/b3d-controllable.js
CHANGED
|
@@ -7,11 +7,28 @@ helicopters, boats, etc.
|
|
|
7
7
|
Subclasses override `applyInput(input, dt)` with their specific movement model.
|
|
8
8
|
The base class handles the update loop: poll input → apply input.
|
|
9
9
|
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
The base class is abstract — you subclass it. A minimal one that yaws to the throttle
|
|
13
|
+
(real subclasses — [b3d-biped](?b3d-biped.ts), [b3d-car](?b3d-car.ts),
|
|
14
|
+
[b3d-aircraft](?b3d-aircraft.ts) — put a full movement model here):
|
|
15
|
+
|
|
16
|
+
```javascript
|
|
17
|
+
import { B3dControllable } from 'tosijs-3d'
|
|
18
|
+
|
|
19
|
+
class Spinner extends B3dControllable {
|
|
20
|
+
applyInput(input, dt) {
|
|
21
|
+
// input is a ControlInput; act on the fields this entity cares about
|
|
22
|
+
if (this.meshNode) this.meshNode.rotation.y += input.throttle * dt * 3
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
10
27
|
## Key Methods
|
|
11
28
|
|
|
12
29
|
- `applyInput(input, dt)` — override with movement/animation logic
|
|
13
30
|
- `getCameraTarget()` — returns the node cameras should follow
|
|
14
|
-
- `
|
|
31
|
+
- `handleGainFocus()` / `handleLoseFocus()` — lifecycle hooks for input switching
|
|
15
32
|
*/
|
|
16
33
|
/*{ "parent": "Input" }*/
|
|
17
34
|
import { AbstractMesh } from './b3d-utils';
|
|
@@ -51,10 +68,10 @@ export class B3dControllable extends AbstractMesh {
|
|
|
51
68
|
getCameraTarget() {
|
|
52
69
|
return this.mesh ?? null;
|
|
53
70
|
}
|
|
54
|
-
|
|
71
|
+
handleGainFocus() {
|
|
55
72
|
this.inputProvider?.activate?.();
|
|
56
73
|
}
|
|
57
|
-
|
|
74
|
+
handleLoseFocus() {
|
|
58
75
|
this.inputProvider?.deactivate?.();
|
|
59
76
|
}
|
|
60
77
|
_update = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-controllable.js","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"b3d-controllable.js","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BE;AACF,yBAAyB;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,aAAa,GAAyB,IAAI,CAAA;IAC1C,YAAY,CAAe;IAC3B,0EAA0E;IAC1E,SAAS,GAAwB,IAAI,CAAA;IAC3B,UAAU,GAAG,CAAC,CAAA;IAExB,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC9B,mFAAmF;QACnF,uFAAuF;QACvF,oCAAoC;QACpC,EAAE;QACF,qFAAqF;QACrF,sFAAsF;QACtF,oFAAoF;QACpF,qFAAqF;QACrF,oFAAoF;QACpF,+EAA+E;QAC/E,EAAE;QACF,qFAAqF;QACrF,oFAAoF;QACpF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAEzC,CAAA;QACR,KAAK,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;IAED,6DAA6D;IAC7D,UAAU,CAAC,KAAmB,EAAE,EAAU;QACxC,qDAAqD;IACvD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAA;IAClC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAA;IACpC,CAAC;IAES,OAAO,GAAG,GAAG,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAAE,OAAM;QACtC,6EAA6E;QAC7E,6EAA6E;QAC7E,kFAAkF;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI,CAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QAClE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-controller.d.ts","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-controller.d.ts","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"AAyEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EACL,mBAAmB,EAMpB,MAAM,mBAAmB,CAAA;AAS1B,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc;;;;;;;;;;MASpB;IAEO,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IAEvB;;;;;;;;OAQG;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAEhE,uFAAuF;IACvF,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAO;IAEtD,OAAO,CAAC,GAAG,CAA8B;IAEzC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IAuBlD,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIjD,YAAY,IAAI,IAAI;CASrB;AAED,eAAO,MAAM,aAAa,EAEpB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,aAAa,CAAA"}
|
package/dist/b3d-controller.js
CHANGED
|
@@ -11,8 +11,12 @@ export class B3dController extends B3dControllable {
|
|
|
11
11
|
static initAttributes = {
|
|
12
12
|
...B3dControllable.initAttributes,
|
|
13
13
|
mapping: 'biped',
|
|
14
|
-
//
|
|
15
|
-
|
|
14
|
+
// MUST default false: HTML boolean attributes can't default to true (an absent attribute
|
|
15
|
+
// is false), and tosijs now THROWS at construction on a true default — which silently broke
|
|
16
|
+
// this whole component (the ctor threw, so its sceneReady never wired any input). If you
|
|
17
|
+
// nest a b3dController inside <tosi-b3d-input-focus> and want that manager (not its own
|
|
18
|
+
// self-wiring) to drive it, set `player` explicitly — same as b3dBiped/b3dAircraft.
|
|
19
|
+
player: false,
|
|
16
20
|
};
|
|
17
21
|
/**
|
|
18
22
|
* Called every frame with the merged `ControlInput` and `dt` — THE seam. Set in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-controller.js","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-controller.js","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"AA0EA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAqB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,eAAe,GAGhB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAA;AAEvE,MAAM,QAAQ,GAAuC;IACnD,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY;IACzB,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU;IACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;CAClC,CAAA;AAED,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,GAAG;QACtB,GAAG,eAAe,CAAC,cAAc;QACjC,OAAO,EAAE,OAAO;QAChB,yFAAyF;QACzF,4FAA4F;QAC5F,yFAAyF;QACzF,wFAAwF;QACxF,oFAAoF;QACpF,MAAM,EAAE,KAAK;KACd,CAAA;IAKD;;;;;;;;OAQG;IACH,KAAK,GAAuD,IAAI,CAAA;IAEhE,uFAAuF;IACvF,mBAAmB,GAA+B,IAAI,CAAA;IAE9C,GAAG,GAA0B,IAAI,CAAA;IAEzC,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;QAChE,gFAAgF;QAChF,gFAAgF;QAChF,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,IAAI,EAAE,CAAC;YACjD,MAAM,EAAE,GAAG,cAAc,EAA+B,CAAA;YACxD,IAAI,CAAC,GAAG,GAAG,EAAE,CAIZ;YAAC,KAAgC,CAAC,WAAW,CAAC,EAAqB,CAAC,CAAA;YACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAC/B,kBAAkB,CACgB,CAAA;YACpC,IAAI,KAAK,IAAI,IAAI;gBAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAA;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAC3D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,UAAU,CAAC,KAAmB,EAAE,EAAU;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,CAAC;IACxD,GAAG,EAAE,qBAAqB;CAC3B,CAA0C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-destroyable.d.ts","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-destroyable.d.ts","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"AA6IA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAS,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE3D,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGnD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BpB;IAEO,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,KAAK,EAAE,SAAS,EAAE,CAAK;IACvB,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAkC;IACnD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAEzE;;wDAEoD;IACpD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IAEnC;gDAC4C;IAC5C,OAAO,CAAC,aAAa;IAuCrB,uEAAuE;IACvE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,kFAAkF;IAClF,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IAmElD,oFAAoF;IACpF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAIrC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;IAKlC,YAAY,IAAI,IAAI;CASrB;AAED,eAAO,MAAM,cAAc,iDAEzB,CAAA"}
|
package/dist/b3d-destroyable.js
CHANGED
|
@@ -16,6 +16,7 @@ reference combat ids that only exist once the targets have mounted).
|
|
|
16
16
|
|
|
17
17
|
```js
|
|
18
18
|
import { b3d, b3dDestroyable, b3dLight, b3dSkybox, b3dGround } from 'tosijs-3d'
|
|
19
|
+
import { orbitCam } from 'demo-utils'
|
|
19
20
|
|
|
20
21
|
const grid = []
|
|
21
22
|
for (let i = 0; i < 12; i++) {
|
|
@@ -29,9 +30,7 @@ for (let i = 0; i < 6; i++) {
|
|
|
29
30
|
const scene = b3d(
|
|
30
31
|
{
|
|
31
32
|
sceneCreated(el, BABYLON) {
|
|
32
|
-
|
|
33
|
-
cam.attachControl(el.querySelector('canvas'), true)
|
|
34
|
-
el.setActiveCamera(cam)
|
|
33
|
+
orbitCam(el, { alpha: -Math.PI / 2, beta: Math.PI / 3.2, radius: 15, target: [0, 0.5, -0.5] })
|
|
35
34
|
// click a cube → damage it
|
|
36
35
|
el.scene.onPointerDown = (_evt, pick) => {
|
|
37
36
|
if (!pick.hit || !pick.pickedMesh) return
|
|
@@ -92,6 +91,7 @@ chain reaction (each drum both `explode`s and fires a `deathBlast`).
|
|
|
92
91
|
|
|
93
92
|
```js
|
|
94
93
|
import { b3d, b3dDestroyable, b3dLight, b3dSkybox, b3dGround } from 'tosijs-3d'
|
|
94
|
+
import { orbitCam } from 'demo-utils'
|
|
95
95
|
|
|
96
96
|
const drums = []
|
|
97
97
|
for (let i = 0; i < 48; i++) {
|
|
@@ -106,9 +106,7 @@ for (let i = 0; i < 48; i++) {
|
|
|
106
106
|
const scene = b3d(
|
|
107
107
|
{
|
|
108
108
|
sceneCreated(el, BABYLON) {
|
|
109
|
-
|
|
110
|
-
cam.attachControl(el.querySelector('canvas'), true)
|
|
111
|
-
el.setActiveCamera(cam)
|
|
109
|
+
orbitCam(el, { alpha: -Math.PI / 2, beta: Math.PI / 3, radius: 18, target: [0, 0.5, 0] })
|
|
112
110
|
el.scene.onPointerDown = (_evt, pick) => {
|
|
113
111
|
if (!pick.hit || !pick.pickedMesh) return
|
|
114
112
|
const t = drums.find((d) => d.mesh === pick.pickedMesh)
|
|
@@ -129,7 +127,7 @@ tosi-b3d { width: 100%; height: 100%; }
|
|
|
129
127
|
|
|
130
128
|
It participates in the **floating origin**: because `AbstractMesh` treats the
|
|
131
129
|
`x/y/z` attributes as the source of truth for the mesh position, this uses
|
|
132
|
-
`
|
|
130
|
+
`addOriginListener` to shift BOTH the mesh node and its `x/z` attributes on a rebase
|
|
133
131
|
(NOT `registerWorldRoot`, which would leave the attributes stale so a later render
|
|
134
132
|
would un-shift the mesh).
|
|
135
133
|
|
|
@@ -291,7 +289,7 @@ export class B3dDestroyable extends AbstractMesh {
|
|
|
291
289
|
attrs.x -= dx;
|
|
292
290
|
attrs.z -= dz;
|
|
293
291
|
};
|
|
294
|
-
owner.
|
|
292
|
+
owner.addOriginListener(this._onShift);
|
|
295
293
|
}
|
|
296
294
|
/** Hurt this target; returns the combat events from this hit (flashes on a hit). */
|
|
297
295
|
damage(amount) {
|
|
@@ -309,7 +307,7 @@ export class B3dDestroyable extends AbstractMesh {
|
|
|
309
307
|
this._behavior?.dispose();
|
|
310
308
|
this._behavior = undefined;
|
|
311
309
|
if (this._onShift != null) {
|
|
312
|
-
this.owner?.
|
|
310
|
+
this.owner?.removeOriginListener(this._onShift);
|
|
313
311
|
this._onShift = undefined;
|
|
314
312
|
}
|
|
315
313
|
super.sceneDispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-destroyable.js","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"b3d-destroyable.js","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-exploder.d.ts","sourceRoot":"","sources":["../src/b3d-exploder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-exploder.d.ts","sourceRoot":"","sources":["../src/b3d-exploder.ts"],"names":[],"mappings":"AA4FA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AASD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CA4SN"}
|
package/dist/b3d-exploder.js
CHANGED
|
@@ -20,6 +20,7 @@ until they all leave the camera view.
|
|
|
20
20
|
|
|
21
21
|
```js
|
|
22
22
|
import { b3d, b3dLight, b3dSkybox, b3dGround, explodeMesh, label3d, button3d } from 'tosijs-3d'
|
|
23
|
+
import { orbitCam } from 'demo-utils'
|
|
23
24
|
import { elements } from 'tosijs'
|
|
24
25
|
const { div, p } = elements
|
|
25
26
|
|
|
@@ -49,18 +50,12 @@ const scene = b3d(
|
|
|
49
50
|
],
|
|
50
51
|
sceneCreated(el, BABYLON) {
|
|
51
52
|
babylon = BABYLON
|
|
52
|
-
const camera =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
)
|
|
56
|
-
// Keep the camera >=5deg above the horizon and out of the scene: a bare
|
|
57
|
-
// ArcRotateCamera tilts under the ground and zooms through everything.
|
|
58
|
-
camera.lowerBetaLimit = (20 * Math.PI) / 180
|
|
59
|
-
camera.upperBetaLimit = (85 * Math.PI) / 180
|
|
53
|
+
const camera = orbitCam(el, {
|
|
54
|
+
alpha: -Math.PI / 2, beta: Math.PI / 3, radius: 12,
|
|
55
|
+
target: [0, 1, 0], maxElevationDeg: 70,
|
|
56
|
+
})
|
|
60
57
|
camera.lowerRadiusLimit = 4
|
|
61
58
|
camera.upperRadiusLimit = 30
|
|
62
|
-
camera.attachControl(el.querySelector('canvas'), true)
|
|
63
|
-
el.setActiveCamera(camera)
|
|
64
59
|
createSphere(BABYLON)
|
|
65
60
|
},
|
|
66
61
|
},
|