@needle-tools/engine 3.16.4 → 3.16.5

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.
@@ -7,7 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Behaviour } from "./Component.js";
8
8
  import { GroundProjectedSkybox as GroundProjection } from 'three/examples/jsm/objects/GroundProjectedSkybox.js';
9
9
  import { serializable } from "../engine/engine_serialization_decorator.js";
10
- import { Watch as Watch } from "../engine/engine_utils.js";
10
+ import { Watch as Watch, getParam } from "../engine/engine_utils.js";
11
+ const debug = getParam("debuggroundprojection");
11
12
  export class GroundProjectedEnv extends Behaviour {
12
13
  applyOnAwake = false;
13
14
  set scale(val) {
@@ -66,7 +67,8 @@ export class GroundProjectedEnv extends Behaviour {
66
67
  return;
67
68
  }
68
69
  if (!this.env || this.context.scene.environment !== this._lastEnvironment) {
69
- console.log("Create/Update Ground Projection", this.context.scene.environment.name);
70
+ if (debug)
71
+ console.log("Create/Update Ground Projection", this.context.scene.environment.name);
70
72
  this.env = new GroundProjection(this.context.scene.environment);
71
73
  }
72
74
  this._lastEnvironment = this.context.scene.environment;
@@ -1 +1 @@
1
- {"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,13 @@ import { getWorldPosition, getWorldRotation, setWorldPosition, setWorldRotation,
11
11
  import { RaycastOptions } from "../engine/engine_physics.js";
12
12
  import { serializable } from "../engine/engine_serialization_decorator.js";
13
13
  import { getParam, isMobileDevice } from "../engine/engine_utils.js";
14
- import { Box3, Vector2, Vector3, Box3Helper, GridHelper } from "three";
14
+ import { Box3, Vector2, Vector3, Box3Helper, GridHelper, ShadowMaterial } from "three";
15
15
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
16
16
  import { EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
17
17
  import { setCameraController } from "../engine/engine_camera.js";
18
18
  import { SyncedTransform } from "./SyncedTransform.js";
19
19
  import { tryGetUIComponent } from "./ui/Utils.js";
20
+ import { GroundProjectedSkybox } from "three/examples/jsm/objects/GroundProjectedSkybox.js";
20
21
  const freeCam = getParam("freecam");
21
22
  const debugCameraFit = getParam("debugcamerafit");
22
23
  const disabledKeys = { LEFT: "", UP: "", RIGHT: "", BOTTOM: "" };
@@ -361,14 +362,36 @@ export class OrbitControls extends Behaviour {
361
362
  // Right now it's independent from where the camera is actually looking from,
362
363
  // and thus we're just getting some maximum that will work for sure.
363
364
  box.makeEmpty();
364
- for (const object of objects) {
365
+ const emptyChildren = [];
366
+ function expandByObjectRecursive(obj) {
367
+ let allowExpanding = true;
365
368
  // ignore Box3Helpers
366
- if (object instanceof Box3Helper)
367
- continue;
368
- if (object instanceof GridHelper)
369
- continue;
369
+ if (obj instanceof Box3Helper)
370
+ allowExpanding = false;
371
+ if (obj instanceof GridHelper)
372
+ allowExpanding = false;
373
+ // ignore GroundProjectedEnv
374
+ if (obj instanceof GroundProjectedSkybox)
375
+ allowExpanding = false;
376
+ // // Ignore shadow catcher geometry
377
+ if (obj.material instanceof ShadowMaterial)
378
+ allowExpanding = false;
379
+ // If we encountered some geometry that should be ignored
380
+ // Then we don't want to use that for expanding the view
381
+ if (allowExpanding) {
382
+ // Temporary override children
383
+ const children_length = obj.children;
384
+ obj.children = emptyChildren;
385
+ box.expandByObject(obj, true);
386
+ obj.children = children_length;
387
+ }
388
+ for (const child of obj.children) {
389
+ expandByObjectRecursive(child);
390
+ }
391
+ }
392
+ for (const object of objects) {
370
393
  object.updateMatrixWorld();
371
- box.expandByObject(object, true);
394
+ expandByObjectRecursive(object);
372
395
  }
373
396
  camera.updateMatrixWorld();
374
397
  camera.updateProjectionMatrix();
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "3.16.4",
3
+ "version": "3.16.5",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
5
5
  "main": "dist/needle-engine.umd.cjs",
6
6
  "type": "module",
@@ -1,9 +1,10 @@
1
1
  import { Behaviour, GameObject } from "./Component.js";
2
2
  import { GroundProjectedSkybox as GroundProjection } from 'three/examples/jsm/objects/GroundProjectedSkybox.js';
3
3
  import { serializable } from "../engine/engine_serialization_decorator.js";
4
- import { Watch as Watch } from "../engine/engine_utils.js";
4
+ import { Watch as Watch, getParam } from "../engine/engine_utils.js";
5
5
  import { Texture } from "three";
6
6
 
7
+ const debug = getParam("debuggroundprojection");
7
8
 
8
9
  export class GroundProjectedEnv extends Behaviour {
9
10
 
@@ -78,7 +79,8 @@ export class GroundProjectedEnv extends Behaviour {
78
79
  return;
79
80
  }
80
81
  if (!this.env || this.context.scene.environment !== this._lastEnvironment) {
81
- console.log("Create/Update Ground Projection", this.context.scene.environment.name);
82
+ if (debug)
83
+ console.log("Create/Update Ground Projection", this.context.scene.environment.name);
82
84
  this.env = new GroundProjection(this.context.scene.environment);
83
85
  }
84
86
  this._lastEnvironment = this.context.scene.environment;
@@ -6,13 +6,16 @@ import { RaycastOptions } from "../engine/engine_physics.js";
6
6
  import { serializable } from "../engine/engine_serialization_decorator.js";
7
7
  import { getParam, isMobileDevice } from "../engine/engine_utils.js";
8
8
 
9
- import { Camera as ThreeCamera, Box3, Object3D, PerspectiveCamera, Vector2, Vector3, Box3Helper, GridHelper } from "three";
9
+ import { Camera as ThreeCamera, Box3, Object3D, PerspectiveCamera, Vector2, Vector3, Box3Helper, GridHelper, Mesh, ShadowMaterial } from "three";
10
10
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
11
11
  import { AfterHandleInputEvent, EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
12
12
  import { ICameraController } from "../engine/engine_types.js";
13
13
  import { setCameraController } from "../engine/engine_camera.js";
14
14
  import { SyncedTransform } from "./SyncedTransform.js";
15
15
  import { tryGetUIComponent } from "./ui/Utils.js";
16
+ import { GroundProjectedEnv } from "./GroundProjection.js";
17
+ import { ShadowCatcher } from "./ShadowCatcher.js";
18
+ import { GroundProjectedSkybox } from "three/examples/jsm/objects/GroundProjectedSkybox.js";
16
19
 
17
20
  const freeCam = getParam("freecam");
18
21
  const debugCameraFit = getParam("debugcamerafit");
@@ -389,12 +392,32 @@ export class OrbitControls extends Behaviour implements ICameraController {
389
392
  // and thus we're just getting some maximum that will work for sure.
390
393
 
391
394
  box.makeEmpty();
392
- for (const object of objects) {
395
+ const emptyChildren = [];
396
+ function expandByObjectRecursive(obj: Object3D) {
397
+ let allowExpanding = true;
393
398
  // ignore Box3Helpers
394
- if (object instanceof Box3Helper) continue;
395
- if (object instanceof GridHelper) continue;
399
+ if (obj instanceof Box3Helper) allowExpanding = false;
400
+ if (obj instanceof GridHelper) allowExpanding = false;
401
+ // ignore GroundProjectedEnv
402
+ if (obj instanceof GroundProjectedSkybox) allowExpanding = false;
403
+ // // Ignore shadow catcher geometry
404
+ if ((obj as Mesh).material instanceof ShadowMaterial) allowExpanding = false;
405
+ // If we encountered some geometry that should be ignored
406
+ // Then we don't want to use that for expanding the view
407
+ if (allowExpanding) {
408
+ // Temporary override children
409
+ const children_length = obj.children;
410
+ obj.children = emptyChildren;
411
+ box.expandByObject(obj, true);
412
+ obj.children = children_length;
413
+ }
414
+ for (const child of obj.children) {
415
+ expandByObjectRecursive(child);
416
+ }
417
+ }
418
+ for (const object of objects) {
396
419
  object.updateMatrixWorld();
397
- box.expandByObject(object, true);
420
+ expandByObjectRecursive(object);
398
421
  }
399
422
 
400
423
  camera.updateMatrixWorld();