@needle-tools/engine 2.28.0-pre → 2.30.0-pre

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.
Files changed (130) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/needle-engine.d.ts +232 -139
  3. package/dist/needle-engine.js +349 -345
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +24 -20
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine.d.ts +1 -0
  8. package/lib/engine/engine_input.d.ts +13 -1
  9. package/lib/engine/engine_input.js +47 -16
  10. package/lib/engine/engine_input.js.map +1 -1
  11. package/lib/engine/engine_physics.d.ts +1 -0
  12. package/lib/engine/engine_physics.js +2 -1
  13. package/lib/engine/engine_physics.js.map +1 -1
  14. package/lib/engine/engine_playerview.d.ts +26 -0
  15. package/lib/engine/engine_playerview.js +65 -0
  16. package/lib/engine/engine_playerview.js.map +1 -0
  17. package/lib/engine/engine_serialization.d.ts +1 -0
  18. package/lib/engine/engine_serialization.js +1 -0
  19. package/lib/engine/engine_serialization.js.map +1 -1
  20. package/lib/engine/engine_serialization_core.js +5 -0
  21. package/lib/engine/engine_serialization_core.js.map +1 -1
  22. package/lib/engine/engine_setup.d.ts +8 -0
  23. package/lib/engine/engine_setup.js +23 -0
  24. package/lib/engine/engine_setup.js.map +1 -1
  25. package/lib/engine/engine_utils.d.ts +1 -1
  26. package/lib/engine/engine_utils.js +25 -8
  27. package/lib/engine/engine_utils.js.map +1 -1
  28. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  29. package/lib/engine/extensions/NEEDLE_deferred_texture.js +26 -14
  30. package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +1 -1
  31. package/lib/engine/extensions/NEEDLE_lighting_settings.js +6 -2
  32. package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
  33. package/lib/engine/extensions/extension_utils.js +24 -13
  34. package/lib/engine/extensions/extension_utils.js.map +1 -1
  35. package/lib/engine/extensions/extensions.js +3 -1
  36. package/lib/engine/extensions/extensions.js.map +1 -1
  37. package/lib/engine-components/Camera.js +7 -0
  38. package/lib/engine-components/Camera.js.map +1 -1
  39. package/lib/engine-components/Component.d.ts +1 -1
  40. package/lib/engine-components/Component.js.map +1 -1
  41. package/lib/engine-components/Light.js +1 -0
  42. package/lib/engine-components/Light.js.map +1 -1
  43. package/lib/engine-components/OrbitControls.js +3 -3
  44. package/lib/engine-components/OrbitControls.js.map +1 -1
  45. package/lib/engine-components/ParticleSystem.d.ts +0 -1
  46. package/lib/engine-components/ParticleSystem.js +24 -27
  47. package/lib/engine-components/ParticleSystem.js.map +1 -1
  48. package/lib/engine-components/PlayerColor.js +1 -2
  49. package/lib/engine-components/PlayerColor.js.map +1 -1
  50. package/lib/engine-components/Renderer.d.ts +1 -0
  51. package/lib/engine-components/Renderer.js +10 -3
  52. package/lib/engine-components/Renderer.js.map +1 -1
  53. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  54. package/lib/engine-components/ScreenCapture.js +265 -1
  55. package/lib/engine-components/ScreenCapture.js.map +1 -1
  56. package/lib/engine-components/SpectatorCamera.d.ts +24 -17
  57. package/lib/engine-components/SpectatorCamera.js +435 -182
  58. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  59. package/lib/engine-components/SyncedCamera.d.ts +8 -4
  60. package/lib/engine-components/SyncedCamera.js +15 -18
  61. package/lib/engine-components/SyncedCamera.js.map +1 -1
  62. package/lib/engine-components/SyncedRoom.js +2 -0
  63. package/lib/engine-components/SyncedRoom.js.map +1 -1
  64. package/lib/engine-components/VideoPlayer.d.ts +10 -1
  65. package/lib/engine-components/VideoPlayer.js +64 -15
  66. package/lib/engine-components/VideoPlayer.js.map +1 -1
  67. package/lib/engine-components/Volume.d.ts +4 -0
  68. package/lib/engine-components/Volume.js +44 -3
  69. package/lib/engine-components/Volume.js.map +1 -1
  70. package/lib/engine-components/WebARSessionRoot.d.ts +9 -2
  71. package/lib/engine-components/WebARSessionRoot.js +69 -24
  72. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  73. package/lib/engine-components/WebXR.d.ts +6 -3
  74. package/lib/engine-components/WebXR.js +43 -7
  75. package/lib/engine-components/WebXR.js.map +1 -1
  76. package/lib/engine-components/WebXRAvatar.d.ts +3 -0
  77. package/lib/engine-components/WebXRAvatar.js +20 -0
  78. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  79. package/lib/engine-components/WebXRController.js +14 -8
  80. package/lib/engine-components/WebXRController.js.map +1 -1
  81. package/lib/engine-components/WebXRSync.js +3 -3
  82. package/lib/engine-components/WebXRSync.js.map +1 -1
  83. package/lib/engine-components/XRFlag.d.ts +2 -1
  84. package/lib/engine-components/XRFlag.js +1 -0
  85. package/lib/engine-components/XRFlag.js.map +1 -1
  86. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -0
  87. package/lib/engine-components/ui/CanvasGroup.js +1 -0
  88. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  89. package/lib/engine-components/ui/EventSystem.js +13 -4
  90. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  91. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  92. package/lib/engine-components/ui/Graphic.js +2 -0
  93. package/lib/engine-components/ui/Graphic.js.map +1 -1
  94. package/lib/engine-components/ui/Interfaces.d.ts +2 -0
  95. package/package.json +2 -2
  96. package/src/engine/engine_components.js +16 -0
  97. package/src/engine/engine_input.ts +62 -20
  98. package/src/engine/engine_physics.ts +2 -1
  99. package/src/engine/engine_playerview.ts +80 -0
  100. package/src/engine/engine_serialization.ts +3 -1
  101. package/src/engine/engine_serialization_core.ts +8 -0
  102. package/src/engine/engine_setup.ts +24 -0
  103. package/src/engine/engine_utils.ts +34 -8
  104. package/src/engine/extensions/NEEDLE_deferred_texture.ts +25 -19
  105. package/src/engine/extensions/NEEDLE_lighting_settings.ts +4 -2
  106. package/src/engine/extensions/extension_utils.ts +24 -12
  107. package/src/engine/extensions/extensions.ts +3 -2
  108. package/src/engine-components/Camera.ts +9 -1
  109. package/src/engine-components/Component.ts +1 -1
  110. package/src/engine-components/Light.ts +3 -0
  111. package/src/engine-components/OrbitControls.ts +3 -3
  112. package/src/engine-components/ParticleSystem.ts +25 -26
  113. package/src/engine-components/PlayerColor.ts +1 -1
  114. package/src/engine-components/Renderer.ts +11 -3
  115. package/src/engine-components/ScreenCapture.ts +312 -2
  116. package/src/engine-components/SpectatorCamera.ts +490 -195
  117. package/src/engine-components/SyncedCamera.ts +23 -22
  118. package/src/engine-components/SyncedRoom.ts +1 -0
  119. package/src/engine-components/VideoPlayer.ts +97 -21
  120. package/src/engine-components/Volume.ts +47 -4
  121. package/src/engine-components/WebARSessionRoot.ts +78 -28
  122. package/src/engine-components/WebXR.ts +51 -15
  123. package/src/engine-components/WebXRAvatar.ts +27 -2
  124. package/src/engine-components/WebXRController.ts +21 -15
  125. package/src/engine-components/WebXRSync.ts +3 -3
  126. package/src/engine-components/XRFlag.ts +1 -0
  127. package/src/engine-components/ui/CanvasGroup.ts +2 -0
  128. package/src/engine-components/ui/EventSystem.ts +21 -15
  129. package/src/engine-components/ui/Graphic.ts +3 -0
  130. package/src/engine-components/ui/Interfaces.ts +2 -0
@@ -4,13 +4,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Behaviour } from "./Component";
7
+ import { Behaviour, GameObject } from "./Component";
8
8
  import * as THREE from 'three';
9
+ import { WebXR } from "./WebXR";
9
10
  import { InstancingUtil } from "./Renderer";
10
11
  import { serializeable } from "../engine/engine_serialization_decorator";
11
12
  // https://github.com/takahirox/takahirox.github.io/blob/master/three.js.mmdeditor/examples/js/controls/DeviceOrientationControls.js
12
13
  export class WebARSessionRoot extends Behaviour {
13
14
  webAR = null;
15
+ get rig() {
16
+ return this.webAR?.webxr.Rig;
17
+ }
14
18
  invertForward = false;
15
19
  get arScale() {
16
20
  return this._arScale;
@@ -21,43 +25,51 @@ export class WebARSessionRoot extends Behaviour {
21
25
  this._arScale = val;
22
26
  this.setScale(val);
23
27
  }
28
+ _initalMatrix = new THREE.Matrix4();
29
+ _selectStartFn = this.onSelectStart.bind(this);
30
+ _selectEndFn = this.onSelectEnd.bind(this);
31
+ start() {
32
+ const xr = GameObject.findObjectOfType(WebXR);
33
+ if (xr) {
34
+ xr.Rig.updateMatrix();
35
+ this._initalMatrix.copy(xr.Rig.matrix);
36
+ }
37
+ }
24
38
  _arScale = 5;
25
39
  _rig = null;
26
40
  _startPose = null;
27
41
  _placementPose = null;
28
42
  _isTouching = false;
43
+ _rigStartPose = null;
29
44
  onBegin(session) {
30
45
  this._placementPose = null;
31
46
  this.gameObject.visible = false;
32
47
  this.gameObject.matrixAutoUpdate = false;
33
48
  this._startPose = this.gameObject.matrix.clone();
34
- session.addEventListener('selectstart', this.onSelectStart.bind(this));
35
- session.addEventListener('selectend', this.onSelectEnd.bind(this));
36
- setTimeout(() => this.gameObject.visible = false, 1000);
49
+ this._rigStartPose = this.rig?.matrix.clone();
50
+ session.addEventListener('selectstart', this._selectStartFn);
51
+ session.addEventListener('selectend', this._selectEndFn);
52
+ // setTimeout(() => this.gameObject.visible = false, 1000); // TODO test on phone AR and Hololens if this was still needed
53
+ // console.log(this.rig?.position, this.rig?.quaternion, this.rig?.scale);
54
+ this.gameObject.visible = false;
55
+ if (this.rig) {
56
+ // reset rig to initial pose, this is helping the mix of immersive AR and immersive VR that we now have on quest
57
+ // where the rig can be moved and scaled by the user in VR mode and we use the rig position when entering
58
+ // immersive Ar right now to place the user/offset the session
59
+ this.rig.matrixAutoUpdate = true;
60
+ this._initalMatrix.decompose(this.rig.position, this.rig.quaternion, this.rig.scale);
61
+ }
37
62
  }
38
63
  onUpdate(rig, _session, pose) {
39
64
  if (pose && !this._placementPose) {
40
65
  if (this._isTouching) {
41
66
  if (this.webAR)
42
67
  this.webAR.setReticleActive(false);
43
- this._placementPose = new THREE.Matrix4().fromArray(pose.transform.matrix).invert();
44
- if (rig) {
45
- if (this.invertForward) {
46
- const rot = new THREE.Matrix4().makeRotationY(Math.PI);
47
- this._placementPose.premultiply(rot);
48
- }
49
- this._rig = rig;
50
- this.setScale(this.arScale);
51
- }
52
- else
53
- this._rig = null;
54
- // this.gameObject.matrix.copy(this._placementPose);
55
- // if (rig) {
56
- // this.gameObject.matrix.premultiply(rig.matrixWorld)
57
- // }
58
- this.gameObject.visible = true;
68
+ this.placeAt(rig, new THREE.Matrix4().fromArray(pose.transform.matrix).invert());
69
+ return true;
59
70
  }
60
71
  }
72
+ return false;
61
73
  // if (this._placementPose) {
62
74
  // this.gameObject.matrixAutoUpdate = false;
63
75
  // const matrix = pose?.transform.matrix;
@@ -67,17 +79,46 @@ export class WebARSessionRoot extends Behaviour {
67
79
  // this.gameObject.visible = true;
68
80
  // }
69
81
  }
82
+ placeAt(rig, mat) {
83
+ if (!this._placementPose)
84
+ this._placementPose = new THREE.Matrix4();
85
+ this._placementPose.copy(mat);
86
+ if (rig) {
87
+ if (this.invertForward) {
88
+ const rot = new THREE.Matrix4().makeRotationY(Math.PI);
89
+ this._placementPose.premultiply(rot);
90
+ }
91
+ this._rig = rig;
92
+ this.setScale(this.arScale);
93
+ }
94
+ else
95
+ this._rig = null;
96
+ // this.gameObject.matrix.copy(this._placementPose);
97
+ // if (rig) {
98
+ // this.gameObject.matrix.premultiply(rig.matrixWorld)
99
+ // }
100
+ this.gameObject.visible = true;
101
+ }
70
102
  onEnd(rig, _session) {
71
103
  this._placementPose = null;
72
104
  this.gameObject.visible = false;
73
- if (this._startPose)
105
+ this.gameObject.matrixAutoUpdate = false;
106
+ if (this._startPose) {
74
107
  this.gameObject.matrix.copy(this._startPose);
75
- this.gameObject.matrixAutoUpdate = true;
76
- if (rig)
108
+ }
109
+ if (rig) {
77
110
  rig.matrixAutoUpdate = true;
111
+ if (this._rigStartPose) {
112
+ this._rigStartPose.decompose(rig.position, rig.quaternion, rig.scale);
113
+ // console.log(rig.position, rig.quaternion, rig.scale);
114
+ }
115
+ }
78
116
  InstancingUtil.markDirty(this.gameObject, true);
79
117
  // HACK to fix physics being not in correct place after exiting AR
80
- setTimeout(() => this.gameObject.visible = true, 100);
118
+ setTimeout(() => {
119
+ this.gameObject.matrixAutoUpdate = true;
120
+ this.gameObject.visible = true;
121
+ }, 100);
81
122
  }
82
123
  onSelectStart() {
83
124
  this._isTouching = true;
@@ -90,10 +131,14 @@ export class WebARSessionRoot extends Behaviour {
90
131
  if (!rig || !this._placementPose) {
91
132
  return;
92
133
  }
134
+ if (!this._rigStartPose) {
135
+ this._rigStartPose = rig.matrix.clone();
136
+ }
93
137
  rig.matrixAutoUpdate = false;
94
138
  rig.matrix.multiplyMatrices(new THREE.Matrix4().makeScale(scale, scale, scale), this._placementPose);
95
139
  rig.matrix.decompose(rig.position, rig.quaternion, rig.scale);
96
140
  rig.updateMatrixWorld();
141
+ console.log("Place", rig.position);
97
142
  }
98
143
  }
99
144
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"WebARSessionRoot.js","sourceRoot":"","sources":["../../../engine-components/WebARSessionRoot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebARSessionRoot.js","sourceRoot":"","sources":["../../../engine-components/WebARSessionRoot.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export declare class WebXR extends Behaviour {
31
31
  static createARButton(webXR: WebXR, opts?: CreateButtonOptions): HTMLButtonElement;
32
32
  static resetButtonStyles(button: any): void;
33
33
  endSession(): void;
34
- get Rig(): THREE.Object3D | null;
34
+ get Rig(): THREE.Object3D;
35
35
  private controllers;
36
36
  get Controllers(): WebXRController[];
37
37
  get LeftController(): WebXRController | null;
@@ -71,7 +71,8 @@ export declare class WebXR extends Behaviour {
71
71
  private onEnterXR_HandleMirrorWindow;
72
72
  }
73
73
  export declare class WebAR {
74
- private webxr;
74
+ get webxr(): WebXR;
75
+ private _webxr;
75
76
  private reticle;
76
77
  private hitTestSource;
77
78
  private reticleActive;
@@ -84,9 +85,11 @@ export declare class WebAR {
84
85
  constructor(webxr: WebXR);
85
86
  private arDomOverlay;
86
87
  private arOverlayElement;
88
+ private noHitTestAvailable;
89
+ private didPlaceARSessionRoot;
87
90
  getAROverlayContainer(): HTMLElement | null;
88
91
  setReticleActive(active: boolean): void;
89
- onBegin(session: THREE.XRSession): void;
92
+ onBegin(session: THREE.XRSession): Promise<void>;
90
93
  onEnd(_session: THREE.XRSession): void;
91
94
  onUpdate(session: THREE.XRSession, frame: THREE.XRFrame): void;
92
95
  }
@@ -8,6 +8,7 @@ import { Behaviour, GameObject } from "./Component";
8
8
  import { ARButton } from '../include/three/ARButton.js';
9
9
  import { VRButton } from '../include/three/VRButton.js';
10
10
  import * as THREE from 'three';
11
+ import { Matrix4, Vector3 } from 'three';
11
12
  import * as utils from "../engine/engine_utils";
12
13
  import { noVoip } from "./Voip";
13
14
  import { XRState, XRStateFlag } from "./XRFlag";
@@ -18,6 +19,7 @@ import { XRRig } from "./WebXRRig";
18
19
  import { AssetReference } from "../engine/engine_addressables";
19
20
  import { serializeable } from "../engine/engine_serialization_decorator";
20
21
  import { WebXRSync } from "./WebXRSync";
22
+ import { XRSessionMode } from "../engine/engine_setup";
21
23
  export async function detectARSupport() {
22
24
  if ("xr" in navigator) {
23
25
  return await navigator["xr"].isSessionSupported('immersive-ar') === true;
@@ -77,10 +79,10 @@ export class WebXR extends Behaviour {
77
79
  }
78
80
  static createARButton(webXR, opts) {
79
81
  const domOverlayRoot = webXR.webAR?.getAROverlayContainer();
80
- const features = { requiredFeatures: ['hit-test'] };
82
+ const features = {};
81
83
  if (domOverlayRoot) {
82
84
  features.domOverlay = { root: domOverlayRoot };
83
- features.optionalFeatures = ['dom-overlay'];
85
+ features.optionalFeatures = ['hit-test', 'dom-overlay'];
84
86
  }
85
87
  const arButton = ARButton.createButton(webXR.context.renderer, features);
86
88
  arButton.classList.add('webxr-ar-button');
@@ -103,6 +105,8 @@ export class WebXR extends Behaviour {
103
105
  session.end();
104
106
  }
105
107
  get Rig() {
108
+ if (!this.rig)
109
+ this.ensureRig();
106
110
  return this.rig;
107
111
  }
108
112
  controllers = [];
@@ -266,6 +270,7 @@ export class WebXR extends Behaviour {
266
270
  }
267
271
  else {
268
272
  this.rig = new THREE.Group();
273
+ this.rig.rotateY(Math.PI);
269
274
  this.rig.name = "XRRig";
270
275
  this.context.scene.add(this.rig);
271
276
  }
@@ -303,10 +308,12 @@ export class WebXR extends Behaviour {
303
308
  XRState.Global.Set(flag);
304
309
  switch (flag) {
305
310
  case XRStateFlag.AR:
311
+ this.context.xrSessionMode = XRSessionMode.ImmersiveAR;
306
312
  this._isInAR = true;
307
313
  this.webAR?.onBegin(session);
308
314
  break;
309
315
  case XRStateFlag.VR:
316
+ this.context.xrSessionMode = XRSessionMode.ImmersiveVR;
310
317
  this._isInVR = true;
311
318
  this.onEnterVR(session);
312
319
  break;
@@ -327,6 +334,7 @@ export class WebXR extends Behaviour {
327
334
  this._isInVR = false;
328
335
  this._requestedAR = false;
329
336
  this._requestedVR = false;
337
+ this.context.xrSessionMode = undefined;
330
338
  if (this.xrMirrorWindow) {
331
339
  this.xrMirrorWindow.close();
332
340
  this.xrMirrorWindow = null;
@@ -379,7 +387,8 @@ __decorate([
379
387
  // not sure if this should be a behaviour.
380
388
  // for now we dont really need it to go through the usual update loop
381
389
  export class WebAR {
382
- webxr;
390
+ get webxr() { return this._webxr; }
391
+ _webxr;
383
392
  reticle = null;
384
393
  hitTestSource = null;
385
394
  reticleActive = true;
@@ -394,10 +403,12 @@ export class WebAR {
394
403
  static tempWebXRObject;
395
404
  get context() { return this.webxr.context; }
396
405
  constructor(webxr) {
397
- this.webxr = webxr;
406
+ this._webxr = webxr;
398
407
  }
399
408
  arDomOverlay = null;
400
409
  arOverlayElement = null;
410
+ noHitTestAvailable = false;
411
+ didPlaceARSessionRoot = false;
401
412
  getAROverlayContainer() {
402
413
  this.arDomOverlay = this.webxr.context.domElement;
403
414
  this.arOverlayElement = this.arDomOverlay.getAROverlayContainer();
@@ -406,11 +417,13 @@ export class WebAR {
406
417
  setReticleActive(active) {
407
418
  this.reticleActive = active;
408
419
  }
409
- onBegin(session) {
420
+ async onBegin(session) {
410
421
  const context = this.webxr.context;
411
422
  this.reticleActive = true;
423
+ this.didPlaceARSessionRoot = false;
424
+ const deviceType = navigator.userAgent?.includes("OculusBrowser") ? ControllerType.PhysicalDevice : ControllerType.Touch;
412
425
  for (let i = 0; i < 4; i++) {
413
- WebXRController.Create(this.webxr, i, this.webxr.gameObject, ControllerType.Touch);
426
+ WebXRController.Create(this.webxr, i, this.webxr.gameObject, deviceType);
414
427
  }
415
428
  if (!this.sessionRoot || this.sessionRoot.destroyed || !this.sessionRoot.activeAndEnabled)
416
429
  this.sessionRoot = GameObject.findObjectOfType(WebARSessionRoot, context);
@@ -420,6 +433,9 @@ export class WebAR {
420
433
  session.requestReferenceSpace('viewer').then((referenceSpace) => {
421
434
  session.requestHitTestSource({ space: referenceSpace }).then((source) => {
422
435
  this.hitTestSource = source;
436
+ }).catch((_) => {
437
+ this.noHitTestAvailable = true;
438
+ console.warn("WebXR: Hit test not supported");
423
439
  });
424
440
  });
425
441
  if (!this.reticle && this.sessionRoot) {
@@ -468,6 +484,22 @@ export class WebAR {
468
484
  this.context.mainCameraComponent?.applyClearFlagsIfIsActiveCamera();
469
485
  }
470
486
  onUpdate(session, frame) {
487
+ if (this.noHitTestAvailable === true) {
488
+ if (this.reticle)
489
+ this.reticle.visible = false;
490
+ if (!this.didPlaceARSessionRoot) {
491
+ this.didPlaceARSessionRoot = true;
492
+ const rig = this.webxr.Rig;
493
+ const placementMatrix = arPlacementWithoutHitTestMatrix.clone();
494
+ if (rig) {
495
+ const positionFromRig = new Vector3(0, 0, 0).add(rig.position).divideScalar(this.sessionRoot?.arScale ?? 1);
496
+ placementMatrix.multiply(new Matrix4().makeTranslation(positionFromRig.x, positionFromRig.y, positionFromRig.z));
497
+ // placementMatrix.setPosition(positionFromRig);
498
+ }
499
+ this.sessionRoot?.placeAt(rig, placementMatrix);
500
+ }
501
+ return;
502
+ }
471
503
  if (!this.hitTestSource)
472
504
  return;
473
505
  const hitTestResults = frame.getHitTestResults(this.hitTestSource);
@@ -476,7 +508,10 @@ export class WebAR {
476
508
  const referenceSpace = this.webxr.context.renderer.xr.getReferenceSpace();
477
509
  if (referenceSpace) {
478
510
  const pose = hit.getPose(referenceSpace);
479
- this.sessionRoot?.onUpdate(this.webxr.Rig, session, pose);
511
+ if (this.sessionRoot) {
512
+ const didPlace = this.sessionRoot.onUpdate(this.webxr.Rig, session, pose);
513
+ this.didPlaceARSessionRoot = didPlace;
514
+ }
480
515
  if (this.reticle) {
481
516
  this.reticle.visible = this.reticleActive;
482
517
  if (this.reticleActive) {
@@ -497,4 +532,5 @@ export class WebAR {
497
532
  }
498
533
  }
499
534
  }
535
+ const arPlacementWithoutHitTestMatrix = new THREE.Matrix4().identity().makeTranslation(0, -0.5, 0);
500
536
  //# sourceMappingURL=WebXR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../engine-components/WebXR.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../engine-components/WebXR.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare type AvatarMarkerEventArgs = {
11
11
  gameObject: Object3D;
12
12
  };
13
13
  export declare class AvatarMarker extends Behaviour {
14
+ static getAvatar(index: number): AvatarMarker | null;
14
15
  static instances: AvatarMarker[];
15
16
  static onAvatarMarkerCreated(cb: (args: AvatarMarkerEventArgs) => void): Function;
16
17
  static onAvatarMarkerDestroyed(cb: (args: AvatarMarkerEventArgs) => void): Function;
@@ -27,6 +28,8 @@ export declare class WebXRAvatar {
27
28
  private static loader;
28
29
  private _isVisible;
29
30
  setVisible(visible: boolean): void;
31
+ get isWebXRAvatar(): boolean;
32
+ /** the user id */
30
33
  guid: string;
31
34
  private root;
32
35
  head: THREE.Object3D | null;
@@ -4,8 +4,15 @@ import { AvatarLoader } from "./AvatarLoader";
4
4
  import { XRFlag, XRStateFlag } from "./XRFlag";
5
5
  import { Avatar_POI } from "./avatar/Avatar_Brain_LookAt";
6
6
  import { getParam } from "../engine/engine_utils";
7
+ import { ViewDevice } from "../engine/engine_playerview";
8
+ import { InstancingUtil } from "./Renderer";
7
9
  export const debug = getParam("debugavatar");
8
10
  export class AvatarMarker extends Behaviour {
11
+ static getAvatar(index) {
12
+ if (index >= 0 && index < AvatarMarker.instances.length)
13
+ return AvatarMarker.instances[index];
14
+ return null;
15
+ }
9
16
  static instances = [];
10
17
  static onAvatarMarkerCreated(cb) {
11
18
  AvatarMarker._onNewAvatarMarkerAdded.push(cb);
@@ -51,7 +58,9 @@ export class WebXRAvatar {
51
58
  this._isVisible = visible;
52
59
  this.updateVisibility();
53
60
  }
61
+ get isWebXRAvatar() { return true; }
54
62
  // TODO: set layers on all avatars
63
+ /** the user id */
55
64
  guid;
56
65
  root = null;
57
66
  head = null;
@@ -106,6 +115,15 @@ export class WebXRAvatar {
106
115
  }
107
116
  this.lastUpdate = state.time;
108
117
  if (this.head) {
118
+ const device = this.webxr.IsInAR ? ViewDevice.Handheld : ViewDevice.Headset;
119
+ let viewObj = this.head;
120
+ // if (this.isLocalAvatar) {
121
+ // if (this.context.mainCamera && this.context.isInXR) {
122
+ // viewObj = this.context.renderer.xr.getCamera(this.context.mainCamera);
123
+ // }
124
+ // }
125
+ this.context.players.setPlayerView(state.guid, viewObj, device);
126
+ InstancingUtil.markDirty(this.head);
109
127
  this._canInterpolate = true;
110
128
  const ht = this.isLocalAvatar ? this.head : this._headTarget;
111
129
  ht.position.set(state.position.x, state.position.y, state.position.z);
@@ -120,6 +138,7 @@ export class WebXRAvatar {
120
138
  ht.quaternion.multiply(WebXRAvatar.invertRotation);
121
139
  ht.scale.set(state.scale, state.scale, state.scale);
122
140
  ht.scale.multiply(this.handLeftScale);
141
+ InstancingUtil.markDirty(this.handLeft);
123
142
  }
124
143
  if (this.handRight) {
125
144
  const ht = this.isLocalAvatar ? this.handRight : this._handRightTarget;
@@ -128,6 +147,7 @@ export class WebXRAvatar {
128
147
  ht.quaternion.multiply(WebXRAvatar.invertRotation);
129
148
  ht.scale.set(state.scale, state.scale, state.scale);
130
149
  ht.scale.multiply(this.handRightScale);
150
+ InstancingUtil.markDirty(this.handRight);
131
151
  }
132
152
  }
133
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebXRAvatar.js","sourceRoot":"","sources":["../../../engine-components/WebXRAvatar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXRAvatar.js","sourceRoot":"","sources":["../../../engine-components/WebXRAvatar.ts"],"names":[],"mappings":"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"}