@needle-tools/engine 3.19.2 → 3.19.4
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 +10 -0
- package/dist/needle-engine.js +8937 -8894
- package/dist/needle-engine.light.js +8639 -8596
- package/dist/needle-engine.light.min.js +183 -183
- package/dist/needle-engine.light.umd.cjs +188 -188
- package/dist/needle-engine.min.js +184 -184
- package/dist/needle-engine.umd.cjs +189 -189
- package/lib/engine/extensions/NEEDLE_progressive.js +14 -12
- package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
- package/lib/engine-components/Animation.js +6 -6
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +2 -0
- package/lib/engine-components/Collider.js +4 -0
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Interactable.js +0 -1
- package/lib/engine-components/Interactable.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +11 -1
- package/lib/engine-components/OrbitControls.js +53 -3
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/Renderer.js +4 -1
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +1 -2
- package/lib/engine-components/VideoPlayer.js +9 -7
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.js +50 -36
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineModels.d.ts +2 -2
- package/lib/engine-components/webxr/WebARSessionRoot.js +2 -2
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXRController.d.ts +0 -1
- package/lib/engine-components/webxr/WebXRController.js +0 -14
- package/lib/engine-components/webxr/WebXRController.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/extensions/NEEDLE_progressive.ts +14 -12
- package/src/engine-components/Animation.ts +5 -4
- package/src/engine-components/Collider.ts +5 -0
- package/src/engine-components/Interactable.ts +1 -10
- package/src/engine-components/OrbitControls.ts +29 -3
- package/src/engine-components/Renderer.ts +4 -1
- package/src/engine-components/VideoPlayer.ts +7 -5
- package/src/engine-components/timeline/PlayableDirector.ts +48 -34
- package/src/engine-components/timeline/TimelineModels.ts +2 -2
- package/src/engine-components/webxr/WebARSessionRoot.ts +2 -2
- package/src/engine-components/webxr/WebXRController.ts +1141 -1156
|
@@ -286,7 +286,6 @@ export class WebXRController extends Behaviour {
|
|
|
286
286
|
this.input = e.data;
|
|
287
287
|
if (this.type === ControllerType.Touch) {
|
|
288
288
|
this.onSelectStart();
|
|
289
|
-
this.createPointerEvent("down");
|
|
290
289
|
}
|
|
291
290
|
}
|
|
292
291
|
onSourceDisconnected(_e) {
|
|
@@ -297,22 +296,9 @@ export class WebXRController extends Behaviour {
|
|
|
297
296
|
this._isConnected = false;
|
|
298
297
|
if (this.type === ControllerType.Touch) {
|
|
299
298
|
this.onSelectEnd();
|
|
300
|
-
this.createPointerEvent("up");
|
|
301
299
|
}
|
|
302
300
|
this.input = null;
|
|
303
301
|
}
|
|
304
|
-
createPointerEvent(type) {
|
|
305
|
-
switch (type) {
|
|
306
|
-
case "down":
|
|
307
|
-
this.context.input.createPointerDown({ clientX: 0, clientY: 0, button: this.index, pointerType: "touch" });
|
|
308
|
-
break;
|
|
309
|
-
case "move":
|
|
310
|
-
break;
|
|
311
|
-
case "up":
|
|
312
|
-
this.context.input.createPointerUp({ clientX: 0, clientY: 0, button: this.index, pointerType: "touch" });
|
|
313
|
-
break;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
302
|
rayRotation = new Quaternion();
|
|
317
303
|
raycastUpdate(raycastLine, wp) {
|
|
318
304
|
const allowRaycastLineVisible = this.showRaycastLine && this.type !== ControllerType.Touch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXRController.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebXRController.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRController.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.19.
|
|
3
|
+
"version": "3.19.4",
|
|
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",
|
|
@@ -3,7 +3,7 @@ import { GLTF, GLTFLoader, GLTFLoaderPlugin, GLTFParser } from "three/examples/j
|
|
|
3
3
|
import { SourceIdentifier } from "../engine_types.js";
|
|
4
4
|
import { Context } from "../engine_setup.js";
|
|
5
5
|
import { addDracoAndKTX2Loaders } from "../engine_loaders.js";
|
|
6
|
-
import { delay, getParam, resolveUrl } from "../engine_utils.js";
|
|
6
|
+
import { PromiseAllWithErrors, PromiseErrorResult, delay, getParam, resolveUrl } from "../engine_utils.js";
|
|
7
7
|
|
|
8
8
|
export const EXTENSION_NAME = "NEEDLE_progressive";
|
|
9
9
|
|
|
@@ -47,16 +47,9 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
|
47
47
|
|
|
48
48
|
const promises: Array<Promise<Texture | null>> = [];
|
|
49
49
|
|
|
50
|
-
for (const slot of Object.keys(material)) {
|
|
51
|
-
const val = material[slot];
|
|
52
|
-
if (val instanceof Texture) {
|
|
53
|
-
const task = this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
54
|
-
promises.push(task);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
50
|
|
|
58
51
|
if (material instanceof RawShaderMaterial) {
|
|
59
|
-
// iterate uniforms
|
|
52
|
+
// iterate uniforms of custom shaders
|
|
60
53
|
for (const slot of Object.keys(material.uniforms)) {
|
|
61
54
|
const val = material.uniforms[slot].value;
|
|
62
55
|
if (val instanceof Texture) {
|
|
@@ -65,8 +58,17 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
|
65
58
|
}
|
|
66
59
|
}
|
|
67
60
|
}
|
|
61
|
+
else {
|
|
62
|
+
for (const slot of Object.keys(material)) {
|
|
63
|
+
const val = material[slot];
|
|
64
|
+
if (val instanceof Texture) {
|
|
65
|
+
const task = this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
66
|
+
promises.push(task);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
68
70
|
|
|
69
|
-
return
|
|
71
|
+
return PromiseAllWithErrors(promises);
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
private static assignTextureLODForSlot(context: Context, source: SourceIdentifier | undefined, material: Material, level: number, slot: string, val: any): Promise<Texture | null> {
|
|
@@ -166,13 +168,13 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
|
166
168
|
if (this.resolved[resolveKey]) {
|
|
167
169
|
let res = this.resolved[resolveKey];
|
|
168
170
|
// check if the texture has been disposed or not
|
|
169
|
-
if (res.image
|
|
171
|
+
if (res.image?.data || res.source?.data) {
|
|
170
172
|
if (debug) console.log("Texture has already been loaded: " + resolveKey, material.name, slot, current.name, res);
|
|
171
173
|
res = this.copySettings(current, res);
|
|
172
174
|
return res;
|
|
173
175
|
}
|
|
174
176
|
else if (res) {
|
|
175
|
-
if(debug) console.
|
|
177
|
+
if(debug) console.warn("Texture has been disposed, will load again: " + resolveKey, material.name, slot, current.name, res.source.data);
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
|
|
@@ -41,12 +41,12 @@ export class Animation extends Behaviour {
|
|
|
41
41
|
}
|
|
42
42
|
set clip(val: AnimationClip | null) {
|
|
43
43
|
if (!this.__didAwake) {
|
|
44
|
-
if (debug) console.
|
|
44
|
+
if (debug) console.warn("Assign clip during serialization", val);
|
|
45
45
|
this._tempAnimationClipBeforeGameObjectExisted = val;
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
if (!val) return;
|
|
49
|
-
if (debug) console.log("Assign clip", val, Boolean(this.gameObject));
|
|
49
|
+
// if (debug) console.log("Assign clip", val, Boolean(this.gameObject));
|
|
50
50
|
if (!this.gameObject.animations) this.gameObject.animations = [];
|
|
51
51
|
if (this.animations.includes(val)) return;
|
|
52
52
|
if (this.animations.length > 0) {
|
|
@@ -62,7 +62,8 @@ export class Animation extends Behaviour {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
set animations(animations: AnimationClip[]) {
|
|
65
|
-
if
|
|
65
|
+
if(animations === null || animations === undefined || !Array.isArray(animations)) return;
|
|
66
|
+
// if (debug) console.warn("assign animations", this.name, animations, this.gameObject);
|
|
66
67
|
this.gameObject.animations = animations;
|
|
67
68
|
}
|
|
68
69
|
|
|
@@ -98,7 +99,7 @@ export class Animation extends Behaviour {
|
|
|
98
99
|
private _handles: AnimationHandle[] = [];
|
|
99
100
|
|
|
100
101
|
awake() {
|
|
101
|
-
if (debug) console.log(this);
|
|
102
|
+
if (debug) console.log("Animation Awake", this.name, this);
|
|
102
103
|
if (this._tempAnimationClipBeforeGameObjectExisted) {
|
|
103
104
|
this.clip = this._tempAnimationClipBeforeGameObjectExisted;
|
|
104
105
|
this._tempAnimationClipBeforeGameObjectExisted = null;
|
|
@@ -43,6 +43,11 @@ export class Collider extends Behaviour implements ICollider {
|
|
|
43
43
|
this.context.physics.engine?.removeBody(this);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
/** Returns the underlying physics body from the physics engine (if any) - the component must be enabled and active in the scene */
|
|
47
|
+
get body() {
|
|
48
|
+
return this.context.physics.engine?.getBody(this);
|
|
49
|
+
}
|
|
50
|
+
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Behaviour } from "./Component.js";
|
|
2
|
-
import { IPointerClickHandler,
|
|
2
|
+
import { IPointerClickHandler, PointerEventData } from "./ui/PointerEvents.js";
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
export class Interactable extends Behaviour implements IPointerClickHandler {
|
|
@@ -7,16 +7,7 @@ export class Interactable extends Behaviour implements IPointerClickHandler {
|
|
|
7
7
|
canGrab : boolean = true;
|
|
8
8
|
|
|
9
9
|
onPointerClick(_args: PointerEventData) {
|
|
10
|
-
// console.log("CLICK");
|
|
11
10
|
}
|
|
12
|
-
|
|
13
|
-
// OnPointerEnter(args: PointerEventData) {
|
|
14
|
-
// console.log("ENTER");
|
|
15
|
-
// }
|
|
16
|
-
|
|
17
|
-
// OnPointerExit(args: PointerEventData) {
|
|
18
|
-
// console.log("Exit");
|
|
19
|
-
// }
|
|
20
11
|
}
|
|
21
12
|
|
|
22
13
|
|
|
@@ -27,34 +27,49 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
/** The underlying three.js OrbitControls */
|
|
30
31
|
public get controls() {
|
|
31
32
|
return this._controls;
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
/** The object being controlled by the OrbitControls (usually the camera) */
|
|
34
36
|
public get controllerObject(): Object3D | null {
|
|
35
37
|
return this._cameraObject;
|
|
36
38
|
}
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
/** Register callback when user starts interacting with the orbit controls */
|
|
41
|
+
public onStartInteraction(callback: Function) {
|
|
42
|
+
this.controls?.addEventListener("start", callback as any);
|
|
40
43
|
}
|
|
41
44
|
|
|
45
|
+
@serializable()
|
|
42
46
|
autoRotate: boolean = false;
|
|
47
|
+
@serializable()
|
|
43
48
|
autoRotateSpeed: number = 1.0;
|
|
44
49
|
/** When enabled the scene will be automatically fitted into the camera view in onEnable */
|
|
45
50
|
@serializable()
|
|
46
51
|
autoFit: boolean = false;
|
|
52
|
+
@serializable()
|
|
47
53
|
enableKeys: boolean = true;
|
|
54
|
+
@serializable()
|
|
48
55
|
enableDamping: boolean = true;
|
|
56
|
+
@serializable()
|
|
49
57
|
dampingFactor: number = 0.1;
|
|
58
|
+
@serializable()
|
|
50
59
|
enableZoom: boolean = true;
|
|
60
|
+
@serializable()
|
|
51
61
|
minZoom: number = 0;
|
|
62
|
+
@serializable()
|
|
52
63
|
maxZoom: number = Infinity;
|
|
64
|
+
@serializable()
|
|
53
65
|
enablePan: boolean = true;
|
|
54
66
|
@serializable(LookAtConstraint)
|
|
55
67
|
lookAtConstraint: LookAtConstraint | null = null;
|
|
68
|
+
@serializable()
|
|
56
69
|
lookAtConstraint01: number = 1;
|
|
70
|
+
@serializable()
|
|
57
71
|
middleClickToFocus: boolean = true;
|
|
72
|
+
@serializable()
|
|
58
73
|
doubleClickToFocus: boolean = true;
|
|
59
74
|
|
|
60
75
|
// remove once slerp works correctly
|
|
@@ -103,6 +118,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
103
118
|
const worldPosition = getWorldPosition(camGo.cam);
|
|
104
119
|
const distanceToCenter = worldPosition.length();
|
|
105
120
|
const forward = new Vector3(0, 0, -distanceToCenter).applyMatrix4(camGo.cam.matrixWorld);
|
|
121
|
+
this.setTarget(forward, true);
|
|
106
122
|
}
|
|
107
123
|
if (this.autoTarget && !this.setFromTargetPosition()) {
|
|
108
124
|
const opts = new RaycastOptions();
|
|
@@ -298,7 +314,14 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
298
314
|
}
|
|
299
315
|
}
|
|
300
316
|
|
|
317
|
+
/** Moves the camera to position smoothly. @deprecated use `setCameraTargetPosition` */
|
|
301
318
|
public setCameraTarget(position?: Vector3 | null, immediate: boolean = false) {
|
|
319
|
+
return this.setCameraTargetPosition(position, immediate);
|
|
320
|
+
}
|
|
321
|
+
/** Moves the camera to position smoothly.
|
|
322
|
+
* @param position The position in local space of the controllerObject to move the camera to. If null the camera will stop lerping to the target.
|
|
323
|
+
*/
|
|
324
|
+
public setCameraTargetPosition(position?: Vector3 | null, immediate: boolean = false) {
|
|
302
325
|
if (!position) this._lerpCameraToTarget = false;
|
|
303
326
|
else {
|
|
304
327
|
this._lerpCameraToTarget = true;
|
|
@@ -309,6 +332,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
309
332
|
}
|
|
310
333
|
}
|
|
311
334
|
|
|
335
|
+
/** Sets the look at target from an assigned lookAtConstraint source by index */
|
|
312
336
|
public setFromTargetPosition(index: number = 0, t: number = 1): boolean {
|
|
313
337
|
if (!this._controls) return false;
|
|
314
338
|
const sources = this.lookAtConstraint?.sources;
|
|
@@ -323,6 +347,7 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
323
347
|
return false;
|
|
324
348
|
}
|
|
325
349
|
|
|
350
|
+
/** Moves the camera look-at target to a position smoothly. */
|
|
326
351
|
public setTarget(position: Vector3 | null = null, immediate: boolean = false) {
|
|
327
352
|
if (!this._controls) return;
|
|
328
353
|
if (position !== null) this._lookTargetPosition.copy(position);
|
|
@@ -415,7 +440,8 @@ export class OrbitControls extends Behaviour implements ICameraController {
|
|
|
415
440
|
// If we encountered some geometry that should be ignored
|
|
416
441
|
// Then we don't want to use that for expanding the view
|
|
417
442
|
if (allowExpanding) {
|
|
418
|
-
|
|
443
|
+
if (debugCameraFit)
|
|
444
|
+
console.log(obj.name, obj.type, obj);
|
|
419
445
|
// Temporary override children
|
|
420
446
|
const children_length = obj.children;
|
|
421
447
|
obj.children = emptyChildren;
|
|
@@ -608,6 +608,10 @@ export class Renderer extends Behaviour implements IRenderer {
|
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
610
|
|
|
611
|
+
for (const mat of this.sharedMaterials) {
|
|
612
|
+
if (mat)
|
|
613
|
+
this.loadProgressiveTextures(mat);
|
|
614
|
+
}
|
|
611
615
|
|
|
612
616
|
if (this.reflectionProbeUsage !== ReflectionProbeUsage.Off && this._reflectionProbe) {
|
|
613
617
|
this._reflectionProbe.onSet(this);
|
|
@@ -618,7 +622,6 @@ export class Renderer extends Behaviour implements IRenderer {
|
|
|
618
622
|
|
|
619
623
|
private onBeforeRenderThree = (_renderer, _scene, _camera, _geometry, material, _group) => {
|
|
620
624
|
|
|
621
|
-
this.loadProgressiveTextures(material);
|
|
622
625
|
|
|
623
626
|
if (material.envMapIntensity !== undefined) {
|
|
624
627
|
const factor = this.hasLightmap ? Math.PI : 1;
|
|
@@ -45,8 +45,6 @@ export enum VideoRenderMode {
|
|
|
45
45
|
|
|
46
46
|
export class VideoPlayer extends Behaviour {
|
|
47
47
|
|
|
48
|
-
@serializable(Object3D)
|
|
49
|
-
renderer: Object3D | null = null;
|
|
50
48
|
@serializable()
|
|
51
49
|
playOnAwake: boolean = true;
|
|
52
50
|
|
|
@@ -166,8 +164,8 @@ export class VideoPlayer extends Behaviour {
|
|
|
166
164
|
|
|
167
165
|
private _crossOrigin: string | null = "anonymous";
|
|
168
166
|
|
|
169
|
-
|
|
170
|
-
private source
|
|
167
|
+
// set a default src, this should not be undefined
|
|
168
|
+
private source: VideoSource = VideoSource.Url;
|
|
171
169
|
private url?: string | null = null;
|
|
172
170
|
|
|
173
171
|
private _videoElement: HTMLVideoElement | null = null;
|
|
@@ -207,6 +205,7 @@ export class VideoPlayer extends Behaviour {
|
|
|
207
205
|
}
|
|
208
206
|
|
|
209
207
|
onEnable(): void {
|
|
208
|
+
if(debug) console.log("VideoPlayer.onEnable", this)
|
|
210
209
|
window.addEventListener('visibilitychange', this.visibilityChanged);
|
|
211
210
|
|
|
212
211
|
if (this.playOnAwake === true) {
|
|
@@ -316,7 +315,10 @@ export class VideoPlayer extends Behaviour {
|
|
|
316
315
|
break;
|
|
317
316
|
}
|
|
318
317
|
|
|
319
|
-
if (!src)
|
|
318
|
+
if (!src) {
|
|
319
|
+
if(debug) console.warn("No video source set", this);
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
320
322
|
|
|
321
323
|
|
|
322
324
|
if (!this._videoElement) {
|