@needle-tools/engine 2.29.0-pre → 2.31.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 (101) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/needle-engine.d.ts +847 -757
  3. package/dist/needle-engine.js +347 -343
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +16 -12
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine.d.ts +1 -0
  8. package/lib/engine/engine_physics.d.ts +19 -8
  9. package/lib/engine/engine_physics.js +57 -48
  10. package/lib/engine/engine_physics.js.map +1 -1
  11. package/lib/engine/engine_serialization.d.ts +1 -0
  12. package/lib/engine/engine_serialization.js +1 -0
  13. package/lib/engine/engine_serialization.js.map +1 -1
  14. package/lib/engine/engine_setup.d.ts +5 -0
  15. package/lib/engine/engine_setup.js +6 -0
  16. package/lib/engine/engine_setup.js.map +1 -1
  17. package/lib/engine/engine_utils.d.ts +1 -1
  18. package/lib/engine/engine_utils.js +25 -8
  19. package/lib/engine/engine_utils.js.map +1 -1
  20. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  21. package/lib/engine/extensions/NEEDLE_deferred_texture.js +26 -14
  22. package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +1 -1
  23. package/lib/engine/extensions/extension_utils.js +24 -13
  24. package/lib/engine/extensions/extension_utils.js.map +1 -1
  25. package/lib/engine/extensions/extensions.js +3 -1
  26. package/lib/engine/extensions/extensions.js.map +1 -1
  27. package/lib/engine-components/Camera.js +7 -1
  28. package/lib/engine-components/Camera.js.map +1 -1
  29. package/lib/engine-components/Component.d.ts +10 -0
  30. package/lib/engine-components/Component.js +53 -0
  31. package/lib/engine-components/Component.js.map +1 -1
  32. package/lib/engine-components/OrbitControls.js +2 -1
  33. package/lib/engine-components/OrbitControls.js.map +1 -1
  34. package/lib/engine-components/Renderer.d.ts +1 -0
  35. package/lib/engine-components/Renderer.js +10 -3
  36. package/lib/engine-components/Renderer.js.map +1 -1
  37. package/lib/engine-components/Rigidbody.d.ts +1 -1
  38. package/lib/engine-components/Rigidbody.js +3 -3
  39. package/lib/engine-components/Rigidbody.js.map +1 -1
  40. package/lib/engine-components/ScreenCapture.d.ts +35 -5
  41. package/lib/engine-components/ScreenCapture.js +542 -25
  42. package/lib/engine-components/ScreenCapture.js.map +1 -1
  43. package/lib/engine-components/SpectatorCamera.js +29 -5
  44. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  45. package/lib/engine-components/SyncedRoom.js +2 -0
  46. package/lib/engine-components/SyncedRoom.js.map +1 -1
  47. package/lib/engine-components/VideoPlayer.d.ts +14 -1
  48. package/lib/engine-components/VideoPlayer.js +86 -16
  49. package/lib/engine-components/VideoPlayer.js.map +1 -1
  50. package/lib/engine-components/Volume.d.ts +4 -0
  51. package/lib/engine-components/Volume.js +44 -3
  52. package/lib/engine-components/Volume.js.map +1 -1
  53. package/lib/engine-components/WebARSessionRoot.d.ts +9 -2
  54. package/lib/engine-components/WebARSessionRoot.js +69 -24
  55. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  56. package/lib/engine-components/WebXR.d.ts +6 -3
  57. package/lib/engine-components/WebXR.js +42 -7
  58. package/lib/engine-components/WebXR.js.map +1 -1
  59. package/lib/engine-components/WebXRAvatar.js +4 -0
  60. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  61. package/lib/engine-components/WebXRController.js +13 -7
  62. package/lib/engine-components/WebXRController.js.map +1 -1
  63. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -0
  64. package/lib/engine-components/ui/CanvasGroup.js +1 -0
  65. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  66. package/lib/engine-components/ui/EventSystem.js +13 -4
  67. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  68. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  69. package/lib/engine-components/ui/Graphic.js +2 -0
  70. package/lib/engine-components/ui/Graphic.js.map +1 -1
  71. package/lib/engine-components/ui/Interfaces.d.ts +2 -0
  72. package/lib/needle-engine.d.ts +1 -0
  73. package/lib/needle-engine.js +1 -0
  74. package/lib/needle-engine.js.map +1 -1
  75. package/package.json +2 -2
  76. package/src/engine/engine_physics.ts +74 -57
  77. package/src/engine/engine_serialization.ts +3 -1
  78. package/src/engine/engine_setup.ts +6 -0
  79. package/src/engine/engine_utils.ts +34 -8
  80. package/src/engine/extensions/NEEDLE_deferred_texture.ts +25 -19
  81. package/src/engine/extensions/extension_utils.ts +24 -12
  82. package/src/engine/extensions/extensions.ts +3 -2
  83. package/src/engine-components/Camera.ts +9 -2
  84. package/src/engine-components/Component.ts +58 -0
  85. package/src/engine-components/OrbitControls.ts +2 -1
  86. package/src/engine-components/Renderer.ts +11 -3
  87. package/src/engine-components/RigidBody.ts +2 -2
  88. package/src/engine-components/ScreenCapture.ts +610 -28
  89. package/src/engine-components/SpectatorCamera.ts +28 -5
  90. package/src/engine-components/SyncedRoom.ts +1 -0
  91. package/src/engine-components/VideoPlayer.ts +123 -23
  92. package/src/engine-components/Volume.ts +47 -4
  93. package/src/engine-components/WebARSessionRoot.ts +78 -28
  94. package/src/engine-components/WebXR.ts +50 -15
  95. package/src/engine-components/WebXRAvatar.ts +5 -0
  96. package/src/engine-components/WebXRController.ts +20 -14
  97. package/src/engine-components/ui/CanvasGroup.ts +2 -0
  98. package/src/engine-components/ui/EventSystem.ts +21 -15
  99. package/src/engine-components/ui/Graphic.ts +3 -0
  100. package/src/engine-components/ui/Interfaces.ts +2 -0
  101. package/src/needle-engine.ts +1 -0
@@ -137,6 +137,8 @@ export class SpectatorCamera extends Behaviour {
137
137
  onXRSessionStart(_evt) {
138
138
  if (!this.isSupportedPlatform())
139
139
  return;
140
+ if (debug)
141
+ console.log(this.context.mainCamera);
140
142
  if (this.context.mainCamera) {
141
143
  this.followSelf();
142
144
  }
@@ -153,6 +155,8 @@ export class SpectatorCamera extends Behaviour {
153
155
  }
154
156
  followSelf() {
155
157
  this.target = this.context.players.getPlayerView(this.context.connection.connectionId);
158
+ if (debug)
159
+ console.log("Follow self", this.target);
156
160
  }
157
161
  // TODO: only show Spectator cam for DesktopVR;
158
162
  // don't show for AR, don't show on Quest
@@ -177,6 +181,7 @@ export class SpectatorCamera extends Behaviour {
177
181
  renderer.state.bindXRFramebuffer(null);
178
182
  }
179
183
  this.setAvatarFlagsBeforeRender();
184
+ const mainCam = this.context.mainCameraComponent;
180
185
  // these should not be needed if we don't override viewport/scissor
181
186
  // renderer.getViewport(this.currentViewport);
182
187
  // renderer.getScissor(this.currentScissor);
@@ -189,7 +194,17 @@ export class SpectatorCamera extends Behaviour {
189
194
  // renderer.setViewport(left, bottom, width, height);
190
195
  // renderer.setScissor(left, bottom, width, height);
191
196
  // renderer.setScissorTest(true);
192
- renderer.setClearColor(new THREE.Color(1, 1, 1));
197
+ if (mainCam) {
198
+ const backgroundColor = mainCam.backgroundColor;
199
+ if (backgroundColor)
200
+ renderer.setClearColor(backgroundColor, backgroundColor.alpha);
201
+ this.cam.backgroundColor = backgroundColor;
202
+ this.cam.clearFlags = mainCam.clearFlags;
203
+ this.cam.nearClipPlane = mainCam.nearClipPlane;
204
+ this.cam.farClipPlane = mainCam.farClipPlane;
205
+ }
206
+ else
207
+ renderer.setClearColor(new THREE.Color(1, 1, 1));
193
208
  renderer.setRenderTarget(null); // null: direct to Canvas
194
209
  renderer.xr.enabled = false;
195
210
  const cam = this.cam?.cam;
@@ -325,8 +340,16 @@ class SpectatorHandler {
325
340
  return;
326
341
  switch (mode) {
327
342
  case SpectatorMode.FirstPerson:
328
- this.follow.followFactor = 20;
329
- this.follow.rotateFactor = 20;
343
+ if (this.view?.viewDevice !== ViewDevice.Browser) {
344
+ // soft follow for AR and VR
345
+ this.follow.followFactor = 5;
346
+ this.follow.rotateFactor = 5;
347
+ }
348
+ else {
349
+ // snappy follow for desktop
350
+ this.follow.followFactor = 50;
351
+ this.follow.rotateFactor = 50;
352
+ }
330
353
  target.position.set(0, 0, 0);
331
354
  break;
332
355
  case SpectatorMode.ThirdPerson:
@@ -362,10 +385,11 @@ class SpectatorSelectionController {
362
385
  downTime = this.context.time.time;
363
386
  });
364
387
  this.context.input.addEventListener(InputEvents.PointerUp, _ => {
365
- if (this.context.time.time - downTime > 1) {
388
+ const dt = this.context.time.time - downTime;
389
+ if (dt > 1) {
366
390
  this.spectator.stopSpectating();
367
391
  }
368
- else
392
+ else if (this.context.input.getPointerClicked(0) && dt < .3)
369
393
  this.trySelectObject();
370
394
  });
371
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SpectatorCamera.js","sourceRoot":"","sources":["../../../engine-components/SpectatorCamera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpectatorCamera.js","sourceRoot":"","sources":["../../../engine-components/SpectatorCamera.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ export class SyncedRoom extends Behaviour {
37
37
  this.context.connection.leaveRoom(this.roomName);
38
38
  }
39
39
  tryJoinRoom(call = 0) {
40
+ if (call === undefined)
41
+ call = 0;
40
42
  let hasRoomParameter = false;
41
43
  if (this.urlParameterName) {
42
44
  const val = utils.getParam(this.urlParameterName);
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../../engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../../engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Behaviour } from "./Component";
2
2
  import * as THREE from "three";
3
+ import { Object3D } from "three";
3
4
  export declare enum VideoSource {
4
5
  VideoClip = 0,
5
6
  Url = 1
@@ -10,11 +11,20 @@ export declare enum VideoAudioOutputMode {
10
11
  Direct = 2,
11
12
  APIOnly = 3
12
13
  }
14
+ export declare enum VideoRenderMode {
15
+ CameraFarPlane = 0,
16
+ CameraNearPlane = 1,
17
+ RenderTexture = 2,
18
+ MaterialOverride = 3
19
+ }
13
20
  export declare class VideoPlayer extends Behaviour {
14
21
  renderer: THREE.Object3D | null;
15
22
  playOnAwake: boolean;
16
23
  playOnEnable?: boolean;
17
- targetMaterialProperty?: string;
24
+ private renderMode?;
25
+ private targetMaterialProperty?;
26
+ private targetMaterialRenderer?;
27
+ private targetTexture?;
18
28
  private time;
19
29
  private _playbackSpeed;
20
30
  get playbackSpeed(): number;
@@ -37,6 +47,7 @@ export declare class VideoPlayer extends Behaviour {
37
47
  private videoMaterial;
38
48
  private _isPlaying;
39
49
  private wasPlaying;
50
+ setVideo(video: MediaStream): void;
40
51
  setClipURL(url: string): void;
41
52
  awake(): void;
42
53
  onEnable(): void;
@@ -48,6 +59,8 @@ export declare class VideoPlayer extends Behaviour {
48
59
  stop(): void;
49
60
  pause(): void;
50
61
  create(playAutomatically: boolean): void;
62
+ private _targetObjects;
63
+ getTargetObjects(): Array<Object3D>;
51
64
  private createVideoElement;
52
65
  private handleBeginPlaying;
53
66
  private updateVideoElementSettings;
@@ -7,9 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Behaviour } from "./Component";
8
8
  import * as THREE from "three";
9
9
  import { serializeable } from "../engine/engine_serialization_decorator";
10
- import { Object3D } from "three";
10
+ import { Object3D, Texture } from "three";
11
11
  import { awaitInput } from "../engine/engine_input_utils";
12
12
  import { getParam } from "../engine/engine_utils";
13
+ import { Renderer } from "./Renderer";
13
14
  const debug = getParam("debugvideo");
14
15
  export var VideoSource;
15
16
  (function (VideoSource) {
@@ -24,28 +25,26 @@ export var VideoSource;
24
25
  })(VideoSource || (VideoSource = {}));
25
26
  export var VideoAudioOutputMode;
26
27
  (function (VideoAudioOutputMode) {
27
- /// <summary>
28
- /// <para>Disable the embedded audio.</para>
29
- /// </summary>
30
28
  VideoAudioOutputMode[VideoAudioOutputMode["None"] = 0] = "None";
31
- /// <summary>
32
- /// <para>Send the embedded audio into a specified AudioSource.</para>
33
- /// </summary>
34
29
  VideoAudioOutputMode[VideoAudioOutputMode["AudioSource"] = 1] = "AudioSource";
35
- /// <summary>
36
- /// <para>Send the embedded audio direct to the platform's audio hardware.</para>
37
- /// </summary>
38
30
  VideoAudioOutputMode[VideoAudioOutputMode["Direct"] = 2] = "Direct";
39
- /// <summary>
40
- /// <para>Send the embedded audio to the associated AudioSampleProvider.</para>
41
- /// </summary>
42
31
  VideoAudioOutputMode[VideoAudioOutputMode["APIOnly"] = 3] = "APIOnly";
43
32
  })(VideoAudioOutputMode || (VideoAudioOutputMode = {}));
33
+ export var VideoRenderMode;
34
+ (function (VideoRenderMode) {
35
+ VideoRenderMode[VideoRenderMode["CameraFarPlane"] = 0] = "CameraFarPlane";
36
+ VideoRenderMode[VideoRenderMode["CameraNearPlane"] = 1] = "CameraNearPlane";
37
+ VideoRenderMode[VideoRenderMode["RenderTexture"] = 2] = "RenderTexture";
38
+ VideoRenderMode[VideoRenderMode["MaterialOverride"] = 3] = "MaterialOverride";
39
+ })(VideoRenderMode || (VideoRenderMode = {}));
44
40
  export class VideoPlayer extends Behaviour {
45
41
  renderer = null;
46
42
  playOnAwake = true;
47
43
  playOnEnable;
44
+ renderMode;
48
45
  targetMaterialProperty;
46
+ targetMaterialRenderer;
47
+ targetTexture;
49
48
  time = 0;
50
49
  _playbackSpeed = 1;
51
50
  get playbackSpeed() {
@@ -105,6 +104,18 @@ export class VideoPlayer extends Behaviour {
105
104
  videoMaterial = null;
106
105
  _isPlaying = false;
107
106
  wasPlaying = false;
107
+ setVideo(video) {
108
+ this.clip = video;
109
+ this.source = VideoSource.VideoClip;
110
+ if (!this.videoElement)
111
+ this.create(true);
112
+ else {
113
+ // TODO: how to prevent interruption error when another video is already playing
114
+ this.videoElement.srcObject = video;
115
+ if (this._isPlaying)
116
+ this.videoElement.play();
117
+ }
118
+ }
108
119
  setClipURL(url) {
109
120
  if (this.url === url)
110
121
  return;
@@ -113,7 +124,9 @@ export class VideoPlayer extends Behaviour {
113
124
  this.source = VideoSource.Url;
114
125
  if (debug)
115
126
  console.log("set url", url);
116
- if (this.videoElement) {
127
+ if (!this.videoElement)
128
+ this.create(true);
129
+ else {
117
130
  this.videoElement.src = url;
118
131
  if (this._isPlaying)
119
132
  this.videoElement.play();
@@ -159,6 +172,7 @@ export class VideoPlayer extends Behaviour {
159
172
  this._receivedInput = true;
160
173
  this.updateVideoElementSettings();
161
174
  });
175
+ this._targetObjects = [];
162
176
  }
163
177
  play() {
164
178
  if (!this.videoElement)
@@ -215,6 +229,10 @@ export class VideoPlayer extends Behaviour {
215
229
  this.videoTexture.encoding = THREE.sRGBEncoding;
216
230
  this.handleBeginPlaying(playAutomatically);
217
231
  }
232
+ _targetObjects;
233
+ getTargetObjects() {
234
+ return Array.from(this._targetObjects);
235
+ }
218
236
  createVideoElement() {
219
237
  const video = document.createElement("video");
220
238
  if (this._crossOrigin)
@@ -228,11 +246,26 @@ export class VideoPlayer extends Behaviour {
228
246
  return;
229
247
  if (!this.videoElement)
230
248
  return;
231
- const mat = this.gameObject["material"];
249
+ this._targetObjects.length = 0;
250
+ let target = this.gameObject;
251
+ switch (this.renderMode) {
252
+ case VideoRenderMode.MaterialOverride:
253
+ target = this.targetMaterialRenderer?.gameObject;
254
+ break;
255
+ case VideoRenderMode.RenderTexture:
256
+ console.error("VideoPlayer renderTexture not implemented yet. Please use material override instead");
257
+ return;
258
+ }
259
+ if (!target) {
260
+ console.error("Missing target for video material renderer", this);
261
+ return;
262
+ }
263
+ const mat = target["material"];
232
264
  if (mat) {
265
+ this._targetObjects.push(target);
233
266
  if (mat !== this.videoMaterial) {
234
267
  this.videoMaterial = mat.clone();
235
- this.gameObject["material"] = this.videoMaterial;
268
+ target["material"] = this.videoMaterial;
236
269
  }
237
270
  if (!this.targetMaterialProperty) {
238
271
  this.videoMaterial.map = this.videoTexture;
@@ -292,9 +325,18 @@ __decorate([
292
325
  __decorate([
293
326
  serializeable()
294
327
  ], VideoPlayer.prototype, "playOnEnable", void 0);
328
+ __decorate([
329
+ serializeable()
330
+ ], VideoPlayer.prototype, "renderMode", void 0);
295
331
  __decorate([
296
332
  serializeable()
297
333
  ], VideoPlayer.prototype, "targetMaterialProperty", void 0);
334
+ __decorate([
335
+ serializeable(Renderer)
336
+ ], VideoPlayer.prototype, "targetMaterialRenderer", void 0);
337
+ __decorate([
338
+ serializeable(Texture)
339
+ ], VideoPlayer.prototype, "targetTexture", void 0);
298
340
  __decorate([
299
341
  serializeable()
300
342
  ], VideoPlayer.prototype, "time", void 0);
@@ -304,4 +346,32 @@ __decorate([
304
346
  __decorate([
305
347
  serializeable()
306
348
  ], VideoPlayer.prototype, "isLooping", null);
349
+ // class VideoTexture extends Texture {
350
+ // get isVideoTexture() { return true; }
351
+ // constructor( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {
352
+ // super( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
353
+ // this.minFilter = minFilter !== undefined ? minFilter : LinearFilter;
354
+ // this.magFilter = magFilter !== undefined ? magFilter : LinearFilter;
355
+ // this.generateMipmaps = false;
356
+ // const scope = this;
357
+ // function updateVideo() {
358
+ // scope.needsUpdate = true;
359
+ // video.requestVideoFrameCallback( updateVideo );
360
+ // }
361
+ // if ( 'requestVideoFrameCallback' in video ) {
362
+ // video.requestVideoFrameCallback( updateVideo );
363
+ // }
364
+ // }
365
+ // // clone() {
366
+ // // return new this.constructor( this.image ).copy( this );
367
+ // // }
368
+ // update() {
369
+ // const video = this.image;
370
+ // const hasVideoFrameCallback = 'requestVideoFrameCallback' in video;
371
+ // if ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) {
372
+ // this.needsUpdate = true;
373
+ // }
374
+ // }
375
+ // }
376
+ // export { VideoTexture };
307
377
  //# sourceMappingURL=VideoPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../engine-components/VideoPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../engine-components/VideoPlayer.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,12 @@ export declare class ColorAdjustments extends VolumeComponent {
23
23
  export declare class VolumeProfile {
24
24
  components?: VolumeComponent[];
25
25
  apply(context: Context): void;
26
+ unapply(context: Context): void;
27
+ private onUpdate;
26
28
  }
27
29
  export declare class Volume extends Behaviour {
28
30
  sharedProfile?: VolumeProfile;
31
+ awake(): void;
29
32
  onEnable(): void;
33
+ onDisable(): void;
30
34
  }
@@ -7,6 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Behaviour } from "./Component";
8
8
  import { LinearToneMapping, ACESFilmicToneMapping, ReinhardToneMapping } from "three";
9
9
  import { serializeable } from "../engine/engine_serialization_decorator";
10
+ import { getParam } from "../engine/engine_utils";
11
+ const debug = getParam("debugvolume");
10
12
  export var TonemappingMode;
11
13
  (function (TonemappingMode) {
12
14
  TonemappingMode[TonemappingMode["None"] = 0] = "None";
@@ -36,18 +38,38 @@ function resolveComponentType(data) {
36
38
  return ColorAdjustments;
37
39
  return VolumeComponent;
38
40
  }
41
+ const volumeKey = Symbol("volumeprofile");
39
42
  export class VolumeProfile {
40
43
  components;
41
44
  apply(context) {
45
+ this.onUpdate(context, false);
46
+ }
47
+ unapply(context) {
48
+ this.onUpdate(context, true);
49
+ }
50
+ onUpdate(context, remove) {
42
51
  if (!this.components)
43
52
  return;
53
+ const renderer = context.renderer;
54
+ const currentProfile = renderer[volumeKey];
55
+ const isActive = currentProfile !== undefined;
56
+ if (remove) {
57
+ // can not remove volume profile that is not active
58
+ if (!isActive)
59
+ return;
60
+ }
61
+ else {
62
+ renderer[volumeKey] = this;
63
+ }
44
64
  for (const component of this.components) {
45
65
  if (component instanceof ToneMapping) {
46
66
  const tonemapping = component;
47
- if (!component.active) {
67
+ if (!component.active || remove) {
48
68
  context.renderer.toneMapping = LinearToneMapping;
49
69
  continue;
50
70
  }
71
+ if (debug)
72
+ console.log("VOLUME:", TonemappingMode[tonemapping.mode?.value ?? 0]);
51
73
  switch (tonemapping.mode?.value ?? 0) {
52
74
  case TonemappingMode.None:
53
75
  context.renderer.toneMapping = LinearToneMapping;
@@ -64,9 +86,11 @@ export class VolumeProfile {
64
86
  const colorAdjustments = component;
65
87
  // unity range goes from -15..15
66
88
  // three.js range goes from 0..inf
67
- console.log(colorAdjustments.postExposure);
89
+ if (debug)
90
+ console.log(colorAdjustments.postExposure);
68
91
  const exposure = Math.pow(2, colorAdjustments.postExposure?.value ?? 0);
69
- context.renderer.toneMappingExposure = colorAdjustments.postExposure?.overrideState ? exposure : 1;
92
+ const useExposure = colorAdjustments.postExposure?.overrideState && !remove;
93
+ context.renderer.toneMappingExposure = useExposure ? exposure : 1;
70
94
  }
71
95
  }
72
96
  }
@@ -76,9 +100,26 @@ __decorate([
76
100
  ], VolumeProfile.prototype, "components", void 0);
77
101
  export class Volume extends Behaviour {
78
102
  sharedProfile;
103
+ awake() {
104
+ if (debug) {
105
+ console.log(this);
106
+ console.log("Press P to toggle post processing");
107
+ window.addEventListener("keydown", (e) => {
108
+ if (e.key === "p") {
109
+ console.log("Toggle volume: " + this.name, !this.enabled);
110
+ this.enabled = !this.enabled;
111
+ }
112
+ });
113
+ }
114
+ }
79
115
  onEnable() {
116
+ if (debug)
117
+ console.log("APPLY VOLUME", this);
80
118
  this.sharedProfile?.apply(this.context);
81
119
  }
120
+ onDisable() {
121
+ this.sharedProfile?.unapply(this.context);
122
+ }
82
123
  }
83
124
  __decorate([
84
125
  serializeable(VolumeProfile)
@@ -1 +1 @@
1
- {"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../engine-components/Volume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../engine-components/Volume.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,26 @@
1
1
  import { Behaviour } from "./Component";
2
2
  import * as THREE from 'three';
3
- import { XRPose } from "three";
3
+ import { Matrix4, XRPose } from "three";
4
4
  import { WebAR } from "./WebXR";
5
5
  export declare class WebARSessionRoot extends Behaviour {
6
6
  webAR: WebAR | null;
7
+ get rig(): THREE.Object3D | undefined;
7
8
  invertForward: boolean;
8
9
  get arScale(): number;
9
10
  set arScale(val: number);
11
+ private readonly _initalMatrix;
12
+ private readonly _selectStartFn;
13
+ private readonly _selectEndFn;
14
+ start(): void;
10
15
  private _arScale;
11
16
  private _rig;
12
17
  private _startPose;
13
18
  private _placementPose;
14
19
  private _isTouching;
20
+ private _rigStartPose;
15
21
  onBegin(session: THREE.XRSession): void;
16
- onUpdate(rig: THREE.Object3D | null, _session: THREE.XRSession, pose: XRPose | null | undefined): void;
22
+ onUpdate(rig: THREE.Object3D | null, _session: THREE.XRSession, pose: XRPose | null | undefined): boolean;
23
+ placeAt(rig: THREE.Object3D | null, mat: Matrix4): void;
17
24
  onEnd(rig: THREE.Object3D | null, _session: THREE.XRSession): void;
18
25
  private onSelectStart;
19
26
  private onSelectEnd;