@needle-tools/engine 2.40.0-pre → 2.41.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 +7 -0
- package/dist/needle-engine.d.ts +269 -123
- package/dist/needle-engine.js +389 -389
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +41 -41
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/engine_gizmos.d.ts +1 -0
- package/lib/engine/engine_gizmos.js +16 -4
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/engine_math.d.ts +9 -6
- package/lib/engine/engine_math.js +9 -0
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_physics.js +14 -6
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +2 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +1 -0
- package/lib/engine/engine_utils.js +3 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine-components/AnimationCurve.js +20 -5
- package/lib/engine-components/AnimationCurve.js.map +1 -1
- package/lib/engine-components/Light.d.ts +2 -0
- package/lib/engine-components/Light.js +33 -9
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/ParticleSystem.d.ts +15 -26
- package/lib/engine-components/ParticleSystem.js +251 -184
- package/lib/engine-components/ParticleSystem.js.map +1 -1
- package/lib/engine-components/ParticleSystemModules.d.ts +208 -63
- package/lib/engine-components/ParticleSystemModules.js +640 -153
- package/lib/engine-components/ParticleSystemModules.js.map +1 -1
- package/lib/engine-components/WebXR.js +8 -3
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +6 -0
- package/lib/engine-components/codegen/components.js +6 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/package.json +3 -1
- package/src/engine/codegen/register_types.js +24 -0
- package/src/engine/engine_gizmos.ts +19 -4
- package/src/engine/engine_math.ts +19 -6
- package/src/engine/engine_physics.ts +17 -7
- package/src/engine/engine_serialization_core.ts +1 -0
- package/src/engine/engine_utils.ts +5 -0
- package/src/engine-components/AnimationCurve.ts +25 -11
- package/src/engine-components/Light.ts +39 -8
- package/src/engine-components/ParticleSystem.ts +314 -194
- package/src/engine-components/ParticleSystemModules.ts +537 -154
- package/src/engine-components/WebXR.ts +11 -8
- package/src/engine-components/codegen/components.ts +6 -0
- package/src/engine/dist/engine_physics.js +0 -739
- package/src/engine/dist/engine_setup.js +0 -777
- package/src/engine-components/dist/CharacterController.js +0 -123
- package/src/engine-components/dist/RigidBody.js +0 -458
|
@@ -87,6 +87,8 @@ export class WebXR extends Behaviour {
|
|
|
87
87
|
if (!WebXR.XRSupported) {
|
|
88
88
|
console.warn("WebXR is not supported on this device");
|
|
89
89
|
}
|
|
90
|
+
else
|
|
91
|
+
webXR.__internalAwake();
|
|
90
92
|
const vrButton = VRButton.createButton(webXR.context.renderer);
|
|
91
93
|
vrButton.classList.add('webxr-ar-button');
|
|
92
94
|
vrButton.classList.add('webxr-button');
|
|
@@ -98,12 +100,14 @@ export class WebXR extends Behaviour {
|
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
public static createARButton(webXR: WebXR, opts?: CreateButtonOptions): HTMLButtonElement {
|
|
103
|
+
webXR.__internalAwake();
|
|
101
104
|
const domOverlayRoot = webXR.webAR?.getAROverlayContainer();
|
|
102
105
|
const features: any = {};
|
|
103
106
|
if (domOverlayRoot) {
|
|
104
107
|
features.domOverlay = { root: domOverlayRoot };
|
|
105
108
|
features.optionalFeatures = ['hit-test', 'dom-overlay'];
|
|
106
109
|
}
|
|
110
|
+
else console.warn("No dom overlay root found, AR will not work");
|
|
107
111
|
const arButton = ARButton.createButton(webXR.context.renderer, features);
|
|
108
112
|
arButton.classList.add('webxr-ar-button');
|
|
109
113
|
arButton.classList.add('webxr-button');
|
|
@@ -126,7 +130,7 @@ export class WebXR extends Behaviour {
|
|
|
126
130
|
}
|
|
127
131
|
|
|
128
132
|
public get Rig(): Object3D {
|
|
129
|
-
if(!this.rig) this.ensureRig();
|
|
133
|
+
if (!this.rig) this.ensureRig();
|
|
130
134
|
return this.rig;
|
|
131
135
|
}
|
|
132
136
|
|
|
@@ -184,6 +188,7 @@ export class WebXR extends Behaviour {
|
|
|
184
188
|
const sync = GameObject.addNewComponent(this.gameObject, WebXRSync, false) as WebXRSync;
|
|
185
189
|
sync.webXR = this;
|
|
186
190
|
}
|
|
191
|
+
this.webAR = new WebAR(this);
|
|
187
192
|
}
|
|
188
193
|
|
|
189
194
|
onEnable() {
|
|
@@ -192,7 +197,6 @@ export class WebXR extends Behaviour {
|
|
|
192
197
|
this.isInit = true;
|
|
193
198
|
|
|
194
199
|
this.context.renderer.xr.enabled = true;
|
|
195
|
-
this.webAR = new WebAR(this);
|
|
196
200
|
|
|
197
201
|
// general WebXR support?
|
|
198
202
|
const browserSupportsXR = WebXR.XRSupported;
|
|
@@ -490,7 +494,7 @@ export class WebAR {
|
|
|
490
494
|
getAROverlayContainer(): HTMLElement | null {
|
|
491
495
|
this.arDomOverlay = this.webxr.context.domElement as HTMLElement;
|
|
492
496
|
// for react cases we dont have an Engine Element
|
|
493
|
-
const element
|
|
497
|
+
const element: any = this.arDomOverlay;
|
|
494
498
|
if (element.getAROverlayContainer)
|
|
495
499
|
this.arOverlayElement = element.getAROverlayContainer();
|
|
496
500
|
else this.arOverlayElement = this.arDomOverlay;
|
|
@@ -523,9 +527,9 @@ export class WebAR {
|
|
|
523
527
|
session.requestReferenceSpace('viewer').then((referenceSpace) => {
|
|
524
528
|
session.requestHitTestSource({ space: referenceSpace }).then((source) => {
|
|
525
529
|
this.hitTestSource = source;
|
|
526
|
-
}).catch((
|
|
530
|
+
}).catch((err) => {
|
|
527
531
|
this.noHitTestAvailable = true;
|
|
528
|
-
console.warn("WebXR: Hit test not supported");
|
|
532
|
+
console.warn("WebXR: Hit test not supported", err);
|
|
529
533
|
});
|
|
530
534
|
});
|
|
531
535
|
|
|
@@ -544,7 +548,7 @@ export class WebAR {
|
|
|
544
548
|
this.reticleParent.matrixAutoUpdate = false;
|
|
545
549
|
this.reticleParent.add(this.reticle);
|
|
546
550
|
this.reticleParent.matrix.copy(this.sessionRoot.gameObject.matrixWorld);
|
|
547
|
-
|
|
551
|
+
|
|
548
552
|
if (this.webxr.scene) {
|
|
549
553
|
this.context.scene.add(this.reticleParent);
|
|
550
554
|
// this.context.scene.add(this.reticle);
|
|
@@ -583,8 +587,7 @@ export class WebAR {
|
|
|
583
587
|
if (this.sessionRoot) {
|
|
584
588
|
this.sessionRoot.onEnd(this.webxr.Rig, session);
|
|
585
589
|
}
|
|
586
|
-
if (this.arDomOverlay)
|
|
587
|
-
{
|
|
590
|
+
if (this.arDomOverlay) {
|
|
588
591
|
const el = this.arOverlayElement as INeedleEngineComponent;
|
|
589
592
|
el.onExitAR?.call(el, session);
|
|
590
593
|
}
|
|
@@ -50,9 +50,15 @@ export { OffsetConstraint } from "../OffsetConstraint";
|
|
|
50
50
|
export { OrbitControls } from "../OrbitControls";
|
|
51
51
|
export { ParticleSystemRenderer } from "../ParticleSystem";
|
|
52
52
|
export { ParticleSystem } from "../ParticleSystem";
|
|
53
|
+
export { Gradient } from "../ParticleSystemModules";
|
|
54
|
+
export { MinMaxCurve } from "../ParticleSystemModules";
|
|
55
|
+
export { MinMaxGradient } from "../ParticleSystemModules";
|
|
53
56
|
export { MainModule } from "../ParticleSystemModules";
|
|
54
57
|
export { EmissionModule } from "../ParticleSystemModules";
|
|
58
|
+
export { ColorOverLifetimeModule } from "../ParticleSystemModules";
|
|
59
|
+
export { SizeOverLifetimeModule } from "../ParticleSystemModules";
|
|
55
60
|
export { ShapeModule } from "../ParticleSystemModules";
|
|
61
|
+
export { NoiseModule } from "../ParticleSystemModules";
|
|
56
62
|
export { PlayerColor } from "../PlayerColor";
|
|
57
63
|
export { ReflectionProbe } from "../ReflectionProbe";
|
|
58
64
|
export { FieldWithDefault } from "../Renderer";
|