@needle-tools/engine 2.49.1-pre → 2.51.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.
- package/CHANGELOG.md +24 -0
- package/dist/needle-engine.d.ts +19 -17
- package/dist/needle-engine.js +517 -3590
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +22 -22
- package/dist/needle-engine.min.js.map +3 -3
- package/lib/engine/engine_addressables.d.ts +1 -1
- package/lib/engine/engine_create_objects.d.ts +1 -1
- package/lib/engine/engine_element.d.ts +5 -4
- package/lib/engine/engine_element.js.map +1 -1
- package/lib/engine/engine_element_overlay.d.ts +3 -2
- package/lib/engine/engine_element_overlay.js.map +1 -1
- package/lib/engine/engine_gameobject.js +6 -0
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_input.js +15 -9
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +1 -1
- package/lib/engine/engine_physics.js +1 -1
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_scenetools.d.ts +1 -1
- package/lib/engine/engine_serialization_core.d.ts +1 -1
- package/lib/engine/engine_setup.d.ts +2 -1
- package/lib/engine/engine_setup.js +28 -5
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_three_utils.d.ts +1 -0
- package/lib/engine/engine_three_utils.js +6 -0
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/engine_types.d.ts +10 -9
- package/lib/engine/engine_utils.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_components.js +15 -11
- package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
- package/lib/engine-components/Animator.js +4 -2
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.js +22 -2
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/Component.d.ts +2 -1
- package/lib/engine-components/DragControls.js +10 -4
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/Light.js +15 -12
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/OrbitControls.js +19 -14
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +1 -1
- package/lib/engine-components/RigidBody.js +19 -10
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/ScreenCapture.js +2 -0
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.js +5 -1
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.js +14 -2
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/VideoPlayer.js +2 -1
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/WebARSessionRoot.d.ts +2 -2
- package/lib/engine-components/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/WebXR.d.ts +2 -1
- package/lib/engine-components/WebXR.js +9 -3
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/WebXRAvatar.d.ts +1 -1
- package/lib/engine-components/WebXRAvatar.js +6 -1
- package/lib/engine-components/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/WebXRController.d.ts +2 -1
- package/lib/engine-components/WebXRController.js +3 -2
- package/lib/engine-components/WebXRController.js.map +1 -1
- package/lib/engine-components/WebXRSync.js +5 -0
- package/lib/engine-components/WebXRSync.js.map +1 -1
- package/lib/engine-components/XRFlag.js +6 -6
- package/lib/engine-components/XRFlag.js.map +1 -1
- package/lib/engine-components/js-extensions/Vector.js +2 -5
- package/lib/engine-components/js-extensions/Vector.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -1
- package/lib/engine-components/timeline/PlayableDirector.js +1 -5
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +2 -1
- package/lib/engine-components/ui/EventSystem.js +9 -1
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/Utils.d.ts +1 -1
- package/package.json +2 -4
- package/src/engine/engine_element.ts +5 -5
- package/src/engine/engine_element_overlay.ts +2 -2
- package/src/engine/engine_gameobject.ts +7 -1
- package/src/engine/engine_input.ts +12 -8
- package/src/engine/engine_physics.ts +1 -1
- package/src/engine/engine_setup.ts +25 -6
- package/src/engine/engine_three_utils.ts +7 -0
- package/src/engine/engine_types.ts +3 -3
- package/src/engine/extensions/NEEDLE_components.ts +13 -9
- package/src/engine-components/Animator.ts +3 -3
- package/src/engine-components/AnimatorController.ts +27 -7
- package/src/engine-components/Component.ts +1 -1
- package/src/engine-components/DragControls.ts +8 -4
- package/src/engine-components/Light.ts +15 -10
- package/src/engine-components/OrbitControls.ts +19 -14
- package/src/engine-components/RigidBody.ts +19 -11
- package/src/engine-components/ScreenCapture.ts +1 -0
- package/src/engine-components/ShadowCatcher.ts +6 -1
- package/src/engine-components/Skybox.ts +15 -3
- package/src/engine-components/VideoPlayer.ts +2 -1
- package/src/engine-components/WebARSessionRoot.ts +1 -2
- package/src/engine-components/WebXR.ts +10 -4
- package/src/engine-components/WebXRAvatar.ts +6 -1
- package/src/engine-components/WebXRController.ts +4 -3
- package/src/engine-components/WebXRSync.ts +6 -1
- package/src/engine-components/XRFlag.ts +7 -6
- package/src/engine-components/js-extensions/Vector.ts +2 -5
- package/src/engine-components/timeline/PlayableDirector.ts +1 -4
- package/src/engine-components/ui/EventSystem.ts +12 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../../engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../../engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FrameEvent } from "../../engine/engine_setup";
|
|
2
2
|
import { Behaviour } from "../Component";
|
|
3
3
|
export declare function isUIObject(obj: THREE.Object3D): boolean;
|
|
4
|
-
export
|
|
4
|
+
export type RenderSettings = {
|
|
5
5
|
renderOnTop?: boolean;
|
|
6
6
|
doubleSided?: boolean;
|
|
7
7
|
depthWrite?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.51.0-pre",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible, and collaboration and XR come naturally.",
|
|
5
5
|
"main": "dist/needle-engine.js",
|
|
6
6
|
"module": "src/needle-engine.ts",
|
|
@@ -42,15 +42,13 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@dimforge/rapier3d-compat": "^0.9.0",
|
|
45
|
-
"dat.gui.image": "^1.0.4",
|
|
46
45
|
"flatbuffers": "2.0.4",
|
|
47
46
|
"md5": "^2.3.0",
|
|
48
47
|
"peerjs": "1.3.2",
|
|
49
48
|
"simplex-noise": "^4.0.1",
|
|
50
49
|
"stats.js": "^0.17.0",
|
|
51
|
-
"three": "npm:@needle-tools/three@^0.
|
|
50
|
+
"three": "npm:@needle-tools/three@^0.146.1",
|
|
52
51
|
"three-mesh-ui": "^6.4.5",
|
|
53
|
-
"three-nebula": "^10.0.3",
|
|
54
52
|
"three.meshline": "^1.4.0",
|
|
55
53
|
"three.quarks": "^0.7.3",
|
|
56
54
|
"uuid": "^9.0.0",
|
|
@@ -294,24 +294,24 @@ export class EngineElement extends HTMLElement implements INeedleEngineComponent
|
|
|
294
294
|
return null;
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
onEnterAR(session:
|
|
297
|
+
onEnterAR(session: XRSession, overlayContainer: HTMLElement) {
|
|
298
298
|
this.onSetupAR();
|
|
299
299
|
this._overlay_ar.onBegin(this._context!, overlayContainer, session);
|
|
300
300
|
this.dispatchEvent(new CustomEvent("enter-ar", { detail: { session: session, context: this._context, htmlContainer: this._overlay_ar?.ARContainer } }));
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
onExitAR(session:
|
|
303
|
+
onExitAR(session: XRSession) {
|
|
304
304
|
this._overlay_ar.onEnd(this._context!);
|
|
305
305
|
this.onSetupDesktop();
|
|
306
306
|
this.dispatchEvent(new CustomEvent("exit-ar", { detail: { session: session, context: this._context, htmlContainer: this._overlay_ar?.ARContainer } }));
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
onEnterVR(session:
|
|
309
|
+
onEnterVR(session: XRSession) {
|
|
310
310
|
this.onSetupVR();
|
|
311
311
|
this.dispatchEvent(new CustomEvent("enter-vr", { detail: { session: session, context: this._context } }));
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
onExitVR(session:
|
|
314
|
+
onExitVR(session: XRSession) {
|
|
315
315
|
this.onSetupDesktop();
|
|
316
316
|
this.dispatchEvent(new CustomEvent("exit-vr", { detail: { session: session, context: this._context } }));
|
|
317
317
|
}
|
|
@@ -348,7 +348,7 @@ export class EngineElement extends HTMLElement implements INeedleEngineComponent
|
|
|
348
348
|
this.foreachHtmlElement(ch => this.setupElementsForMode(ch, desktopContainerClassname));
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
private setupElementsForMode(el: HTMLElement, currentSessionType: string, _session:
|
|
351
|
+
private setupElementsForMode(el: HTMLElement, currentSessionType: string, _session: XRSession | null = null) {
|
|
352
352
|
if (el === this._context?.renderer.domElement) return;
|
|
353
353
|
if (el.id === "VRButton" || el.id === "ARButton") return;
|
|
354
354
|
el.style.position = "absolute";
|
|
@@ -15,7 +15,7 @@ export class AROverlayHandler {
|
|
|
15
15
|
|
|
16
16
|
private arContainer: HTMLElement | null = null;
|
|
17
17
|
closeARCallback: any;
|
|
18
|
-
currentSession:
|
|
18
|
+
currentSession: XRSession | null = null;
|
|
19
19
|
registeredCloseEventElements: Element[] = [];
|
|
20
20
|
|
|
21
21
|
private _createdAROnlyElements: Array<any> = [];
|
|
@@ -25,7 +25,7 @@ export class AROverlayHandler {
|
|
|
25
25
|
this.onRequestedEndAR();
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
onBegin(context: Context, overlayContainer: HTMLElement, session:
|
|
28
|
+
onBegin(context: Context, overlayContainer: HTMLElement, session: XRSession) {
|
|
29
29
|
this.currentSession = session;
|
|
30
30
|
this.arContainer = overlayContainer;
|
|
31
31
|
|
|
@@ -480,7 +480,7 @@ function resolveReferences(newObjectsMap: { [key: string]: NewGameObjectReferenc
|
|
|
480
480
|
|
|
481
481
|
}
|
|
482
482
|
|
|
483
|
-
function postProcessNewInstance(copy: THREE.Object3D, key: string, value: IComponent | Object3D, newObjectsMap: { [key: string]: NewGameObjectReferenceInfo }) {
|
|
483
|
+
function postProcessNewInstance(copy: THREE.Object3D, key: string, value: IComponent | Object3D | any, newObjectsMap: { [key: string]: NewGameObjectReferenceInfo }) {
|
|
484
484
|
if (value === null || value === undefined) return;
|
|
485
485
|
if ((value as IComponent).isComponent === true) {
|
|
486
486
|
const originalGameObjectReference = value["gameObject"];
|
|
@@ -519,4 +519,10 @@ function postProcessNewInstance(copy: THREE.Object3D, key: string, value: ICompo
|
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
|
+
else {
|
|
523
|
+
// create new instances for some types that we know should usually not be shared and can safely be cloned
|
|
524
|
+
if (value.isVector4 || value.isVector3 || value.isVector2 || value.isQuaternion || value.isEuler) {
|
|
525
|
+
return value.clone();
|
|
526
|
+
}
|
|
527
|
+
}
|
|
522
528
|
}
|
|
@@ -428,17 +428,20 @@ export class Input extends EventTarget {
|
|
|
428
428
|
this.onUp({ button: i, clientX: evt.clientX, clientY: evt.clientY, pointerType: PointerType.Mouse, source: evt });
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
-
private isInRect(
|
|
431
|
+
private isInRect(e: { clientX: number, clientY: number }): boolean {
|
|
432
|
+
if(this.context.isInXR) return true;
|
|
432
433
|
const rect = this.context.domElement.getBoundingClientRect();
|
|
433
|
-
const px =
|
|
434
|
-
const py =
|
|
435
|
-
|
|
434
|
+
const px = e.clientX;
|
|
435
|
+
const py = e.clientY;
|
|
436
|
+
const isInRect = px >= rect.x && px <= rect.right && py >= rect.y && py <= rect.bottom;
|
|
437
|
+
if(debug && !isInRect) console.log("Not in rect", rect, px, py);
|
|
438
|
+
return isInRect;
|
|
436
439
|
|
|
437
440
|
}
|
|
438
441
|
|
|
439
442
|
private onDown(evt: PointerEventArgs) {
|
|
440
|
-
if (!this.isInRect(evt)) return;
|
|
441
443
|
if (debug) console.log(evt.pointerType, "DOWN", evt.button);
|
|
444
|
+
if (!this.isInRect(evt)) return;
|
|
442
445
|
this.setPointerState(evt.button, this._pointerPressed, true);
|
|
443
446
|
this.setPointerState(evt.button, this._pointerDown, true);
|
|
444
447
|
this.setPointerStateT(evt.button, this._pointerEvent, evt.source);
|
|
@@ -462,7 +465,7 @@ export class Input extends EventTarget {
|
|
|
462
465
|
const isDown = this.getPointerPressed(evt.button);
|
|
463
466
|
if (isDown === false && !this.isInRect(evt)) return;
|
|
464
467
|
if (evt.pointerType === PointerType.Touch && !isDown) return;
|
|
465
|
-
if (debug
|
|
468
|
+
if (debug) console.log(evt.pointerType, "MOVE", evt.button)
|
|
466
469
|
this.updatePointerPosition(evt);
|
|
467
470
|
this.setPointerStateT(evt.button, this._pointerEvent, evt.source);
|
|
468
471
|
this.onDispatchEvent(InputEvents.PointerMove, evt);
|
|
@@ -530,12 +533,13 @@ export class Input extends EventTarget {
|
|
|
530
533
|
this._pointerPositions[evt.button].y = evt.clientY;
|
|
531
534
|
|
|
532
535
|
// we want to have the position 01 on the canvas for raycasting
|
|
533
|
-
const px = evt.clientX
|
|
534
|
-
const py = evt.clientY
|
|
536
|
+
const px = evt.clientX;
|
|
537
|
+
const py = evt.clientY;
|
|
535
538
|
while (evt.button >= this._pointerPositionsRC.length) this._pointerPositionsRC.push(new THREE.Vector2());
|
|
536
539
|
const rc = this._pointerPositionsRC[evt.button];
|
|
537
540
|
rc.set(px, py);
|
|
538
541
|
this.convertScreenspaceToRaycastSpace(rc);
|
|
542
|
+
// console.log(this.context.alias, rc);
|
|
539
543
|
// this._pointerPositionsRC[evt.button].x = (px - this.context.domX) / this.context.domWidth * 2 - 1;
|
|
540
544
|
// this._pointerPositionsRC[evt.button].y = -((py - this.context.domY) / this.context.domHeight) * 2 + 1;
|
|
541
545
|
// console.log(evt.button)
|
|
@@ -405,10 +405,10 @@ export class Physics {
|
|
|
405
405
|
matrix.decompose(this._tempPosition, this._tempQuaternion, this._tempScale);
|
|
406
406
|
getWorldScale(collider.gameObject, this._tempScale);
|
|
407
407
|
if (center) {
|
|
408
|
+
center.multiply( this._tempScale);
|
|
408
409
|
this._tempPosition.x -= center.x;
|
|
409
410
|
this._tempPosition.y += center.y;
|
|
410
411
|
this._tempPosition.z += center.z;
|
|
411
|
-
this._tempPosition.multiply(this._tempScale);
|
|
412
412
|
}
|
|
413
413
|
desc.setTranslation(this._tempPosition.x, this._tempPosition.y, this._tempPosition.z);
|
|
414
414
|
desc.setRotation(this._tempQuaternion);
|
|
@@ -30,7 +30,7 @@ import { destroy, foreachComponent } from './engine_gameobject';
|
|
|
30
30
|
|
|
31
31
|
const debug = utils.getParam("debugSetup");
|
|
32
32
|
const stats = utils.getParam("stats");
|
|
33
|
-
|
|
33
|
+
const debugActive = utils.getParam("debugactive");
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
// this is where functions that setup unity scenes will be pushed into
|
|
@@ -132,6 +132,12 @@ export class Context {
|
|
|
132
132
|
private _boundingClientRect: DOMRect | null = null;
|
|
133
133
|
private _domX; private _domY;
|
|
134
134
|
private calculateBoundingClientRect() {
|
|
135
|
+
// workaround for mozilla webXR viewer
|
|
136
|
+
if (this.isInAR) {
|
|
137
|
+
this._domX = window.innerWidth;
|
|
138
|
+
this._domY = window.innerHeight;
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
135
141
|
if (this._boundingClientRectFrame === this.time.frame) return;
|
|
136
142
|
this._boundingClientRectFrame = this.time.frame;
|
|
137
143
|
this._boundingClientRect = this.domElement.getBoundingClientRect();
|
|
@@ -139,8 +145,16 @@ export class Context {
|
|
|
139
145
|
this._domY = this._boundingClientRect.y;
|
|
140
146
|
}
|
|
141
147
|
|
|
142
|
-
get domWidth(): number {
|
|
143
|
-
|
|
148
|
+
get domWidth(): number {
|
|
149
|
+
// for mozilla XR
|
|
150
|
+
if(this.isInAR) return window.innerWidth;
|
|
151
|
+
return this.domElement.clientWidth;
|
|
152
|
+
}
|
|
153
|
+
get domHeight(): number {
|
|
154
|
+
// for mozilla XR
|
|
155
|
+
if(this.isInAR) return window.innerHeight;
|
|
156
|
+
return this.domElement.clientHeight;
|
|
157
|
+
}
|
|
144
158
|
get domX(): number {
|
|
145
159
|
this.calculateBoundingClientRect();
|
|
146
160
|
return this._domX;
|
|
@@ -274,11 +288,11 @@ export class Context {
|
|
|
274
288
|
|
|
275
289
|
const resizeObserver = new ResizeObserver(_ => this._sizeChanged = true);
|
|
276
290
|
resizeObserver.observe(this.domElement);
|
|
277
|
-
this._disposeCallbacks.push(resizeObserver.disconnect);
|
|
291
|
+
this._disposeCallbacks.push(() => resizeObserver.disconnect());
|
|
278
292
|
|
|
279
293
|
const intersectionObserver = new IntersectionObserver(entries => { this._isVisible = entries[0].isIntersecting; });
|
|
280
294
|
intersectionObserver.observe(this.domElement);
|
|
281
|
-
this._disposeCallbacks.push(intersectionObserver.disconnect);
|
|
295
|
+
this._disposeCallbacks.push(() => intersectionObserver.disconnect());
|
|
282
296
|
}
|
|
283
297
|
|
|
284
298
|
private _disposeCallbacks: Function[] = [];
|
|
@@ -339,9 +353,12 @@ export class Context {
|
|
|
339
353
|
cb();
|
|
340
354
|
}
|
|
341
355
|
catch (e) {
|
|
342
|
-
console.error(e);
|
|
356
|
+
console.error("Error in on dispose callback:", e, cb);
|
|
343
357
|
}
|
|
344
358
|
}
|
|
359
|
+
if (this.domElement?.parentElement) {
|
|
360
|
+
this.domElement.parentElement.removeChild(this.domElement);
|
|
361
|
+
}
|
|
345
362
|
}
|
|
346
363
|
|
|
347
364
|
registerCoroutineUpdate(script: IComponent, coroutine: Generator, evt: FrameEvent): Generator {
|
|
@@ -721,6 +738,7 @@ export class Context {
|
|
|
721
738
|
private onHandlePaused(): boolean {
|
|
722
739
|
const paused = this.evaluatePaused();
|
|
723
740
|
if (this._wasPaused !== paused) {
|
|
741
|
+
if(debugActive) console.log("Paused?", paused, "context:" + this.alias);
|
|
724
742
|
for (let i = 0; i < this.scripts_pausedChanged.length; i++) {
|
|
725
743
|
const script = this.scripts_pausedChanged[i];
|
|
726
744
|
if (!script.activeAndEnabled) continue;
|
|
@@ -776,6 +794,7 @@ export class Context {
|
|
|
776
794
|
const evts = this.coroutines[evt];
|
|
777
795
|
for (let i = 0; i < evts.length; i++) {
|
|
778
796
|
const evt = evts[i];
|
|
797
|
+
// TODO we might want to keep coroutines playing even if the component is disabled or inactive
|
|
779
798
|
const remove = !evt.comp || evt.comp.destroyed || !evt.main || evt.comp["enabled"] === false;
|
|
780
799
|
if (remove) {
|
|
781
800
|
evts.splice(i, 1);
|
|
@@ -4,6 +4,13 @@ import { WebGLRenderTarget, WebGLRenderer, Vector3, Quaternion, Uniform, Texture
|
|
|
4
4
|
import { CircularBuffer } from "./engine_utils";
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
export function slerp(vec: Vector3, end: Vector3, t: number) {
|
|
8
|
+
const len1 = vec.length();
|
|
9
|
+
const len2 = end.length();
|
|
10
|
+
const targetLen = Mathf.lerp(len1, len2, t);
|
|
11
|
+
return vec.lerp(end, t).normalize().multiplyScalar(targetLen);
|
|
12
|
+
}
|
|
13
|
+
|
|
7
14
|
const flipYQuat: Quaternion = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
|
|
8
15
|
export function lookAtInverse(obj: THREE.Object3D, target: Vector3) {
|
|
9
16
|
|
|
@@ -22,8 +22,8 @@ export interface UIDProvider {
|
|
|
22
22
|
|
|
23
23
|
export declare interface INeedleEngineComponent extends HTMLElement {
|
|
24
24
|
getAROverlayContainer(): HTMLElement;
|
|
25
|
-
onEnterAR(session:
|
|
26
|
-
onExitAR(session:
|
|
25
|
+
onEnterAR(session: XRSession, overlayContainer: HTMLElement);
|
|
26
|
+
onExitAR(session: XRSession);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export declare interface IGameObject extends Object3D {
|
|
@@ -84,7 +84,7 @@ export interface IComponent {
|
|
|
84
84
|
earlyUpdate?(): void;
|
|
85
85
|
update?(): void;
|
|
86
86
|
lateUpdate?(): void;
|
|
87
|
-
onBeforeRender?(frame:
|
|
87
|
+
onBeforeRender?(frame: XRFrame | null): void;
|
|
88
88
|
onAfterRender?(): void;
|
|
89
89
|
|
|
90
90
|
onCollisionEnter?(col: Collision);
|
|
@@ -53,15 +53,19 @@ export class NEEDLE_components implements GLTFLoaderPlugin {
|
|
|
53
53
|
// the write node callback is called after user data is serialized
|
|
54
54
|
// we could also traverse everything before export and remove components
|
|
55
55
|
// but doing it like that we avoid traversing multiple times
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
if("serializeUserData" in writer){
|
|
57
|
+
//@ts-ignore
|
|
58
|
+
const originalFunction = writer.serializeUserData.bind(writer);
|
|
59
|
+
this.writer = writer;
|
|
60
|
+
//@ts-ignore
|
|
61
|
+
writer.serializeUserData = (o, def) => {
|
|
62
|
+
try {
|
|
63
|
+
this.serializeUserData(o, def);
|
|
64
|
+
originalFunction(o, def);
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.afterSerializeUserData(o, def);
|
|
68
|
+
}
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
return this;
|
|
@@ -39,6 +39,7 @@ export class Animator extends Behaviour {
|
|
|
39
39
|
}
|
|
40
40
|
if (val) {
|
|
41
41
|
if (!(val instanceof AnimatorController)) {
|
|
42
|
+
if(debug) console.log("Assign animator controller", val, this);
|
|
42
43
|
this._animatorController = new AnimatorController(val);
|
|
43
44
|
}
|
|
44
45
|
else this._animatorController = val;
|
|
@@ -119,6 +120,8 @@ export class Animator extends Behaviour {
|
|
|
119
120
|
private _animatorController?: AnimatorController | null = null;
|
|
120
121
|
|
|
121
122
|
awake() {
|
|
123
|
+
if (debug)
|
|
124
|
+
console.log("ANIMATOR", this.name, this);
|
|
122
125
|
if (!this.gameObject) return;
|
|
123
126
|
if (this.runtimeAnimatorController) {
|
|
124
127
|
const clone = this.runtimeAnimatorController.clone();
|
|
@@ -129,9 +132,6 @@ export class Animator extends Behaviour {
|
|
|
129
132
|
this.runtimeAnimatorController.SetSpeed(this.speed);
|
|
130
133
|
this.runtimeAnimatorController.normalizedStartOffset = this.normalizedStartOffset;
|
|
131
134
|
}
|
|
132
|
-
|
|
133
|
-
if (debug)
|
|
134
|
-
console.log("ANIMATOR", this.name, this);
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
onDisable() {
|
|
@@ -185,6 +185,11 @@ export class AnimatorController {
|
|
|
185
185
|
private setStartTransition() {
|
|
186
186
|
for (const layer of this.model.layers) {
|
|
187
187
|
const sm = layer.stateMachine;
|
|
188
|
+
if (sm.defaultState === undefined) {
|
|
189
|
+
if (debug)
|
|
190
|
+
console.warn("AnimatorController default state is undefined, will assign state 0 as default", layer);
|
|
191
|
+
sm.defaultState = 0;
|
|
192
|
+
}
|
|
188
193
|
const start = sm.states[sm.defaultState];
|
|
189
194
|
this.transitionTo(start, 0, this.normalizedStartOffset);
|
|
190
195
|
}
|
|
@@ -209,7 +214,7 @@ export class AnimatorController {
|
|
|
209
214
|
// transition without exit time and without condition that transition to itself are ignored
|
|
210
215
|
if (!transition.hasExitTime && transition.conditions.length <= 0) {
|
|
211
216
|
// if (this._activeState && this.getState(transition.destinationState, currentLayer)?.hash === this._activeState.hash)
|
|
212
|
-
|
|
217
|
+
continue;
|
|
213
218
|
}
|
|
214
219
|
|
|
215
220
|
let allConditionsAreMet = true;
|
|
@@ -242,8 +247,7 @@ export class AnimatorController {
|
|
|
242
247
|
// if (transition.hasExitTime && transition.exitTime >= .9999)
|
|
243
248
|
action.clampWhenFinished = true;
|
|
244
249
|
// else action.clampWhenFinished = false;
|
|
245
|
-
if (debug)
|
|
246
|
-
{
|
|
250
|
+
if (debug) {
|
|
247
251
|
console.log("transition to " + transition.destinationState, transition, normalizedTime, transition.exitTime, transition.hasExitTime);
|
|
248
252
|
// console.log(action.time, transition.exitTime);
|
|
249
253
|
}
|
|
@@ -288,9 +292,16 @@ export class AnimatorController {
|
|
|
288
292
|
|
|
289
293
|
}
|
|
290
294
|
|
|
291
|
-
private getState(state
|
|
295
|
+
private getState(state: State | number, layerIndex: number): State | null {
|
|
292
296
|
if (typeof state === "number") {
|
|
293
|
-
if (state == -1)
|
|
297
|
+
if (state == -1) {
|
|
298
|
+
state = this.model.layers[layerIndex].stateMachine.defaultState; // exit state -> entry state
|
|
299
|
+
if (state === undefined) {
|
|
300
|
+
if (debug)
|
|
301
|
+
console.warn("AnimatorController default state is undefined: ", this.model, "Layer: " + layerIndex);
|
|
302
|
+
state = 0;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
294
305
|
state = this.model.layers[layerIndex].stateMachine.states[state];
|
|
295
306
|
}
|
|
296
307
|
return state;
|
|
@@ -303,7 +314,7 @@ export class AnimatorController {
|
|
|
303
314
|
const layerIndex = 0;
|
|
304
315
|
|
|
305
316
|
state = this.getState(state, layerIndex) as State;
|
|
306
|
-
|
|
317
|
+
|
|
307
318
|
if (!state?.motion || !state.motion.clip) {
|
|
308
319
|
// if(debug) console.warn("State has no clip or motion", state);
|
|
309
320
|
return;
|
|
@@ -429,6 +440,15 @@ export class AnimatorController {
|
|
|
429
440
|
for (let index = 0; index < sm.states.length; index++) {
|
|
430
441
|
const state = sm.states[index];
|
|
431
442
|
|
|
443
|
+
// ensure we have a transitions array
|
|
444
|
+
if (!state.transitions) {
|
|
445
|
+
state.transitions = [];
|
|
446
|
+
}
|
|
447
|
+
for(const t of state.transitions) {
|
|
448
|
+
// can happen if conditions are empty in blender - the exporter seems to skip empty arrays
|
|
449
|
+
if(!t.conditions) t.conditions = [];
|
|
450
|
+
}
|
|
451
|
+
|
|
432
452
|
// ensure we have a motion even if none was exported
|
|
433
453
|
if (!state.motion) {
|
|
434
454
|
state.motion = createMotion(state.name);
|
|
@@ -447,7 +467,7 @@ export class AnimatorController {
|
|
|
447
467
|
|
|
448
468
|
// ensure we have a clip to blend to
|
|
449
469
|
if (!state.motion.clip) {
|
|
450
|
-
const clip = new AnimationClip();
|
|
470
|
+
const clip = new AnimationClip(undefined, undefined, []);
|
|
451
471
|
state.motion.clip = clip;
|
|
452
472
|
}
|
|
453
473
|
|
|
@@ -326,7 +326,7 @@ class Component implements IComponent, EventTarget {
|
|
|
326
326
|
earlyUpdate?(): void;
|
|
327
327
|
update?(): void;
|
|
328
328
|
lateUpdate?(): void;
|
|
329
|
-
onBeforeRender?(frame:
|
|
329
|
+
onBeforeRender?(frame: XRFrame | null): void;
|
|
330
330
|
onAfterRender?(): void;
|
|
331
331
|
|
|
332
332
|
onCollisionEnter?(col: Collision);
|
|
@@ -35,8 +35,8 @@ export interface IDragEventListener {
|
|
|
35
35
|
|
|
36
36
|
export class DragControls extends Interactable implements IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler {
|
|
37
37
|
|
|
38
|
-
private static _active:
|
|
39
|
-
public static get HasAnySelected(): boolean { return this._active
|
|
38
|
+
private static _active: number = 0;
|
|
39
|
+
public static get HasAnySelected(): boolean { return this._active > 0; }
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
public transformSelf: boolean = true;
|
|
@@ -106,20 +106,24 @@ export class DragControls extends Interactable implements IPointerDownHandler, I
|
|
|
106
106
|
onPointerDown(args: PointerEventData) {
|
|
107
107
|
if (!this.allowEdit(this.gameObject)) return;
|
|
108
108
|
if (WebXR.IsInWebXR) return;
|
|
109
|
+
DragControls._active += 1;
|
|
109
110
|
this._dragDelta.set(0, 0);
|
|
110
111
|
this._didDrag = false;
|
|
111
112
|
this._waitingForDragStart = args;
|
|
112
113
|
args.StopPropagation();
|
|
113
|
-
//
|
|
114
|
+
// disabling pointer controls here already, otherwise we get a few frames of movement event in orbit controls and this will rotate the camera sligthly AFTER drag controls dragging ends.
|
|
115
|
+
if (this.orbit) this.orbit.enabled = false;
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
onPointerUp(args: PointerEventData) {
|
|
117
119
|
this._waitingForDragStart = null;
|
|
118
120
|
if (!this.allowEdit(this.gameObject)) return;
|
|
121
|
+
if(DragControls._active > 0)
|
|
122
|
+
DragControls._active -= 1;
|
|
119
123
|
if (WebXR.IsInWebXR) return;
|
|
120
124
|
this.onDragEnd(args);
|
|
121
125
|
args.StopPropagation();
|
|
122
|
-
|
|
126
|
+
if (this.orbit) this.orbit.enabled = true;
|
|
123
127
|
}
|
|
124
128
|
|
|
125
129
|
|
|
@@ -9,6 +9,7 @@ import { WebXR, WebXREvent } from "./WebXR";
|
|
|
9
9
|
import { WebARSessionRoot } from "./WebARSessionRoot";
|
|
10
10
|
import { ILight } from "../engine/engine_types";
|
|
11
11
|
import { Mathf } from "../engine/engine_math";
|
|
12
|
+
import { isLocalNetwork } from "../engine/engine_networking_utils";
|
|
12
13
|
|
|
13
14
|
// https://threejs.org/examples/webgl_shadowmap_csm.html
|
|
14
15
|
|
|
@@ -439,16 +440,20 @@ export class Light extends Behaviour implements ILight {
|
|
|
439
440
|
private updateShadowSoftHard() {
|
|
440
441
|
if (!this.light) return;
|
|
441
442
|
if (this.shadows === LightShadows.Soft) {
|
|
442
|
-
const radius = this.light.shadow.mapSize.width / 1024 * 5;
|
|
443
|
-
const samples = Mathf.clamp(Math.round(radius), 2, 10);
|
|
444
|
-
this.light.shadow.radius = radius;
|
|
445
|
-
this.light.shadow.blurSamples = samples;
|
|
446
|
-
if (isMobileDevice()) {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
}
|
|
450
|
-
if (Light.allowChangingRendererShadowMapType)
|
|
451
|
-
|
|
443
|
+
// const radius = this.light.shadow.mapSize.width / 1024 * 5;
|
|
444
|
+
// const samples = Mathf.clamp(Math.round(radius), 2, 10);
|
|
445
|
+
// this.light.shadow.radius = radius;
|
|
446
|
+
// this.light.shadow.blurSamples = samples;
|
|
447
|
+
// if (isMobileDevice()) {
|
|
448
|
+
// this.light.shadow.radius *= .5;
|
|
449
|
+
// this.light.shadow.blurSamples = Math.floor(this.light.shadow.blurSamples * .5);
|
|
450
|
+
// }
|
|
451
|
+
// if (Light.allowChangingRendererShadowMapType) {
|
|
452
|
+
// if(this.context.renderer.shadowMap.type !== THREE.VSMShadowMap){
|
|
453
|
+
// if(isLocalNetwork()) console.warn("Changing renderer shadow map type to VSMShadowMap because a light with soft shadows enabled was found (this will cause all shadow receivers to also cast shadows). If you don't want this behaviour either set the shadow type to hard or set Light.allowChangingRendererShadowMapType to false.", this);
|
|
454
|
+
// this.context.renderer.shadowMap.type = THREE.VSMShadowMap;
|
|
455
|
+
// }
|
|
456
|
+
// }
|
|
452
457
|
}
|
|
453
458
|
else {
|
|
454
459
|
this.light.shadow.radius = 1;
|