@needle-tools/engine 2.34.0-pre → 2.35.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 +11 -0
- package/dist/needle-engine.d.ts +2960 -2794
- package/dist/needle-engine.js +456 -456
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +67 -67
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/api.d.ts +3 -0
- package/lib/engine/api.js +4 -0
- package/lib/engine/api.js.map +1 -0
- package/lib/engine/engine.d.ts +4 -3
- package/lib/engine/engine_addressables.d.ts +5 -4
- package/lib/engine/engine_addressables.js +8 -7
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_components.d.ts +16 -0
- package/lib/engine/engine_components.js +223 -0
- package/lib/engine/engine_components.js.map +1 -0
- package/lib/engine/engine_element.js +2 -2
- package/lib/engine/engine_element.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +33 -0
- package/lib/engine/engine_gameobject.js +449 -0
- package/lib/engine/engine_gameobject.js.map +1 -0
- package/lib/engine/engine_gltf.d.ts +13 -2
- package/lib/engine/engine_gltf.js +7 -1
- package/lib/engine/engine_gltf.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.d.ts +3 -3
- package/lib/engine/engine_gltf_builtin_components.js +2 -3
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_lightdata.d.ts +1 -1
- package/lib/engine/engine_lightdata.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +2 -2
- package/lib/engine/engine_mainloop_utils.js +7 -6
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +2 -11
- package/lib/engine/engine_networking.js +1 -7
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking_files.d.ts +1 -1
- package/lib/engine/engine_networking_files.js +8 -7
- package/lib/engine/engine_networking_files.js.map +1 -1
- package/lib/engine/engine_networking_files_default_components.d.ts +2 -2
- package/lib/engine/engine_networking_files_default_components.js +38 -43
- package/lib/engine/engine_networking_files_default_components.js.map +1 -1
- package/lib/engine/engine_networking_instantiate.d.ts +8 -6
- package/lib/engine/engine_networking_instantiate.js +12 -9
- package/lib/engine/engine_networking_instantiate.js.map +1 -1
- package/lib/engine/engine_networking_types.d.ts +14 -0
- package/lib/engine/engine_networking_types.js +8 -0
- package/lib/engine/engine_networking_types.js.map +1 -0
- package/lib/engine/engine_physics.d.ts +1 -25
- package/lib/engine/engine_physics.js +17 -61
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_rendererdata.d.ts +1 -1
- package/lib/engine/engine_rendererdata.js.map +1 -1
- package/lib/engine/engine_scenetools.d.ts +2 -2
- package/lib/engine/engine_scenetools.js +22 -5
- package/lib/engine/engine_scenetools.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +1 -1
- package/lib/engine/engine_serialization_core.d.ts +1 -1
- package/lib/engine/engine_serialization_decorator.d.ts +1 -1
- package/lib/engine/engine_setup.d.ts +14 -15
- package/lib/engine/engine_setup.js +34 -23
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_three_utils.js +0 -6
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/engine_types.d.ts +103 -0
- package/lib/engine/engine_types.js +49 -0
- package/lib/engine/engine_types.js.map +1 -0
- package/lib/engine/engine_utils.d.ts +1 -1
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_components.js +2 -2
- package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +2 -2
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -2
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
- package/lib/engine/extensions/extensions.d.ts +1 -1
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AvatarLoader.js +6 -5
- package/lib/engine-components/AvatarLoader.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +2 -2
- package/lib/engine-components/Camera.js +6 -12
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CameraUtils.d.ts +3 -0
- package/lib/engine-components/CameraUtils.js +15 -0
- package/lib/engine-components/CameraUtils.js.map +1 -0
- package/lib/engine-components/Component.d.ts +16 -50
- package/lib/engine-components/Component.js +67 -466
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/Duplicatable.js +2 -1
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +2 -1
- package/lib/engine-components/Light.js +2 -2
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/NestedGltf.js +2 -1
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/OrbitControls.js +4 -2
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +3 -2
- package/lib/engine-components/Renderer.js +2 -0
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/{Rigidbody.d.ts → RigidBody.d.ts} +2 -1
- package/lib/engine-components/{Rigidbody.js → RigidBody.js} +1 -1
- package/lib/engine-components/{Rigidbody.js.map → RigidBody.js.map} +1 -1
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedCamera.js +2 -1
- package/lib/engine-components/SyncedCamera.js.map +1 -1
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TestRunner.js.map +1 -1
- package/lib/engine-components/Voip.js +2 -1
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/WebXRController.js +28 -8
- package/lib/engine-components/WebXRController.js.map +1 -1
- package/lib/engine-components/WebXRGrabRendering.d.ts +1 -1
- package/lib/engine-components/WebXRGrabRendering.js +1 -1
- package/lib/engine-components/WebXRGrabRendering.js.map +1 -1
- package/lib/engine-components/WebXRSync.js +1 -1
- package/lib/engine-components/WebXRSync.js.map +1 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +1 -1
- package/lib/engine-components/codegen/components.js +1 -1
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/js-extensions/ExtensionUtils.d.ts +4 -0
- package/lib/engine-components/js-extensions/ExtensionUtils.js +56 -0
- package/lib/engine-components/js-extensions/ExtensionUtils.js.map +1 -0
- package/lib/engine-components/js-extensions/Object3D.js +16 -41
- package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
- package/lib/engine-components/js-extensions/Vector.d.ts +2 -0
- package/lib/engine-components/js-extensions/Vector.js +16 -0
- package/lib/engine-components/js-extensions/Vector.js.map +1 -0
- package/lib/engine-components/timeline/PlayableDirector.d.ts +2 -1
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/ui/BaseUIComponent.d.ts +1 -0
- package/lib/engine-components/ui/BaseUIComponent.js +11 -5
- package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +3 -0
- package/lib/engine-components/ui/Canvas.js +12 -1
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasScaler.d.ts +0 -0
- package/lib/engine-components/ui/CanvasScaler.js +17 -0
- package/lib/engine-components/ui/CanvasScaler.js.map +1 -0
- package/lib/engine-components/ui/EventSystem.d.ts +1 -1
- package/lib/engine-components/ui/EventSystem.js +11 -31
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/Graphic.js +2 -1
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Keyboard.js +2 -1
- package/lib/engine-components/ui/Keyboard.js.map +1 -1
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -0
- package/lib/engine-components/ui/RaycastUtils.js +62 -0
- package/lib/engine-components/ui/RaycastUtils.js.map +1 -0
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/ui/Text.js +8 -3
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/ui/Utils.js +3 -2
- package/lib/engine-components/ui/Utils.js.map +1 -1
- package/lib/needle-engine.d.ts +3 -1
- package/lib/needle-engine.js +4 -2
- package/lib/needle-engine.js.map +1 -1
- package/package.json +12 -1
- package/src/engine/api.ts +3 -0
- package/src/engine/codegen/register_types.js +2 -2
- package/src/engine/engine_addressables.ts +12 -10
- package/src/engine/{engine_components.js → engine_components.ts} +37 -47
- package/src/engine/engine_element.ts +2 -2
- package/src/engine/engine_gameobject.ts +506 -0
- package/src/engine/engine_gltf.ts +21 -2
- package/src/engine/engine_gltf_builtin_components.ts +8 -7
- package/src/engine/engine_lightdata.ts +1 -1
- package/src/engine/engine_mainloop_utils.ts +13 -11
- package/src/engine/engine_networking.ts +3 -14
- package/src/engine/engine_networking_files.ts +14 -11
- package/src/engine/engine_networking_files_default_components.ts +53 -52
- package/src/engine/engine_networking_instantiate.ts +24 -14
- package/src/engine/engine_networking_types.ts +19 -0
- package/src/engine/engine_physics.ts +20 -82
- package/src/engine/engine_rendererdata.ts +1 -1
- package/src/engine/engine_scenetools.ts +30 -6
- package/src/engine/engine_serialization_core.ts +1 -1
- package/src/engine/engine_serialization_decorator.ts +1 -1
- package/src/engine/engine_setup.ts +51 -37
- package/src/engine/engine_three_utils.ts +0 -8
- package/src/engine/engine_types.ts +180 -0
- package/src/engine/engine_utils.ts +1 -3
- package/src/engine/extensions/NEEDLE_components.ts +2 -2
- package/src/engine/extensions/NEEDLE_deferred_texture.ts +1 -1
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +1 -1
- package/src/engine/extensions/NEEDLE_lightmaps.ts +1 -1
- package/src/engine/extensions/NEEDLE_render_objects.ts +4 -4
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +5 -4
- package/src/engine/extensions/extensions.ts +1 -1
- package/src/engine-components/Animator.ts +3 -3
- package/src/engine-components/AvatarLoader.ts +6 -5
- package/src/engine-components/Camera.ts +10 -13
- package/src/engine-components/CameraUtils.ts +15 -0
- package/src/engine-components/Component.ts +83 -536
- package/src/engine-components/Duplicatable.ts +4 -3
- package/src/engine-components/LODGroup.ts +1 -1
- package/src/engine-components/Light.ts +3 -2
- package/src/engine-components/NestedGltf.ts +2 -1
- package/src/engine-components/OrbitControls.ts +5 -5
- package/src/engine-components/Renderer.ts +5 -1
- package/src/engine-components/RigidBody.ts +2 -1
- package/src/engine-components/ScreenCapture.ts +1 -1
- package/src/engine-components/SpectatorCamera.ts +7 -5
- package/src/engine-components/SyncedCamera.ts +2 -1
- package/src/engine-components/SyncedTransform.ts +1 -1
- package/src/engine-components/TestRunner.ts +1 -2
- package/src/engine-components/Voip.ts +2 -1
- package/src/engine-components/WebXR.ts +2 -2
- package/src/engine-components/WebXRController.ts +30 -10
- package/src/engine-components/WebXRGrabRendering.ts +1 -1
- package/src/engine-components/WebXRSync.ts +1 -1
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +2 -1
- package/src/engine-components/codegen/components.ts +1 -1
- package/src/engine-components/js-extensions/ExtensionUtils.ts +66 -0
- package/src/engine-components/js-extensions/Object3D.ts +22 -48
- package/src/engine-components/js-extensions/Vector.ts +17 -0
- package/src/engine-components/timeline/PlayableDirector.ts +2 -1
- package/src/engine-components/ui/BaseUIComponent.ts +17 -6
- package/src/engine-components/ui/Canvas.ts +14 -2
- package/src/engine-components/ui/CanvasScaler.ts +21 -0
- package/src/engine-components/ui/EventSystem.ts +11 -25
- package/src/engine-components/ui/Graphic.ts +2 -1
- package/src/engine-components/ui/Keyboard.ts +2 -1
- package/src/engine-components/ui/RaycastUtils.ts +64 -0
- package/src/engine-components/ui/Raycaster.ts +2 -0
- package/src/engine-components/ui/Text.ts +8 -4
- package/src/engine-components/ui/Utils.ts +3 -2
- package/src/needle-engine.ts +7 -2
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import * as CANNON from 'cannon-es';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { Context } from './engine_setup';
|
|
4
|
-
import { Rigidbody } from '
|
|
5
|
-
import { GameObject } from '../engine-components/Component';
|
|
6
|
-
import { Object3D, Vector3 } from 'three';
|
|
7
|
-
import { Collider } from '../engine-components/Collider';
|
|
4
|
+
import { IGameObject as GameObject, IRigidbody as Rigidbody } from './engine_types';
|
|
8
5
|
export declare class BodyOptions {
|
|
9
6
|
mass: number;
|
|
10
7
|
kinematic: boolean;
|
|
@@ -13,12 +10,6 @@ export declare class BodyOptions {
|
|
|
13
10
|
angularDrag: number;
|
|
14
11
|
sleepThreshold: number;
|
|
15
12
|
}
|
|
16
|
-
declare type CannonCollision = {
|
|
17
|
-
body: CANNON.Body;
|
|
18
|
-
contact: CANNON.ContactEquation;
|
|
19
|
-
target: CANNON.Body;
|
|
20
|
-
type: string;
|
|
21
|
-
};
|
|
22
13
|
export declare class RaycastOptions {
|
|
23
14
|
ray: THREE.Ray | undefined;
|
|
24
15
|
cam: THREE.Camera | undefined | null;
|
|
@@ -89,18 +80,3 @@ export declare class Physics {
|
|
|
89
80
|
private raiseCollisionEvents;
|
|
90
81
|
private onEndContact;
|
|
91
82
|
}
|
|
92
|
-
export declare class Collision {
|
|
93
|
-
get __internalCollision(): CannonCollision;
|
|
94
|
-
get __internalInvertedSourceReceiver(): boolean;
|
|
95
|
-
private readonly invert;
|
|
96
|
-
private readonly collision;
|
|
97
|
-
private readonly targetBody;
|
|
98
|
-
readonly me: Object3D;
|
|
99
|
-
private _normal?;
|
|
100
|
-
get normal(): Vector3;
|
|
101
|
-
private _collider?;
|
|
102
|
-
get collider(): Collider;
|
|
103
|
-
get gameObject(): Object3D;
|
|
104
|
-
constructor(obj: Object3D, collision: CannonCollision, invert?: boolean);
|
|
105
|
-
}
|
|
106
|
-
export {};
|
|
@@ -3,10 +3,9 @@ import * as THREE from 'three';
|
|
|
3
3
|
import cannonDebugger from 'cannon-es-debugger';
|
|
4
4
|
import * as utils from "./engine_utils";
|
|
5
5
|
import * as threeutils from "./engine_three_utils";
|
|
6
|
-
import {
|
|
7
|
-
import { Vector3 } from 'three';
|
|
8
|
-
import { Collider } from '../engine-components/Collider';
|
|
6
|
+
import { $physicsKey, Collision } from './engine_types';
|
|
9
7
|
import { InstancingUtil } from './engine_instancing';
|
|
8
|
+
import { foreachComponent } from './engine_gameobject';
|
|
10
9
|
const debugPhysics = utils.getParam("debugphysics");
|
|
11
10
|
const debugCollisions = utils.getParam("debugcollisions");
|
|
12
11
|
export class BodyOptions {
|
|
@@ -17,7 +16,6 @@ export class BodyOptions {
|
|
|
17
16
|
angularDrag = 0.05;
|
|
18
17
|
sleepThreshold = .01;
|
|
19
18
|
}
|
|
20
|
-
const bodyObjectKey = Symbol("object");
|
|
21
19
|
// TODO: refactor to return some kind of handle for adding/removing
|
|
22
20
|
class PhysicsObject {
|
|
23
21
|
obj;
|
|
@@ -32,7 +30,7 @@ class PhysicsObject {
|
|
|
32
30
|
this.parent = obj.parent;
|
|
33
31
|
this.body = body;
|
|
34
32
|
if (this.body)
|
|
35
|
-
this.body[
|
|
33
|
+
this.body[$physicsKey] = obj;
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
export class RaycastOptions {
|
|
@@ -553,13 +551,13 @@ export class Physics {
|
|
|
553
551
|
const collision = new Collision(obj, event);
|
|
554
552
|
if (debugCollisions)
|
|
555
553
|
console.log("collision between", event.contact.bi, event.contact.bj, obj, event);
|
|
556
|
-
|
|
554
|
+
foreachComponent(obj, (c) => {
|
|
557
555
|
c.__internalHandleCollision(collision, false);
|
|
558
556
|
});
|
|
559
557
|
// handle triggers
|
|
560
558
|
if (collision.collider && !collision.collider.attachedRigidbody && collision.collider.isTrigger) {
|
|
561
559
|
const collision2 = new Collision(collision.gameObject, event, true);
|
|
562
|
-
|
|
560
|
+
foreachComponent(collision.gameObject, (c) => {
|
|
563
561
|
c.__internalHandleCollision(collision2, true);
|
|
564
562
|
});
|
|
565
563
|
}
|
|
@@ -567,63 +565,21 @@ export class Physics {
|
|
|
567
565
|
onEndContact(args) {
|
|
568
566
|
// if(args.bodyB.sleepState !== CANNON.Body.AWAKE) return;
|
|
569
567
|
// console.log("END", CANNON.BODY_SLEEP_STATES, args.bodyB.sleepState);
|
|
570
|
-
const obj1 = args.bodyA[
|
|
571
|
-
const obj2 = args.bodyB[
|
|
568
|
+
const obj1 = args.bodyA[$physicsKey];
|
|
569
|
+
const obj2 = args.bodyB[$physicsKey];
|
|
572
570
|
// console.log(obj2);
|
|
573
|
-
|
|
571
|
+
foreachComponent(obj2, (c) => {
|
|
574
572
|
c.__internalHandleExitCollisionEvent(obj1, false);
|
|
575
573
|
});
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
get __internalCollision() {
|
|
586
|
-
return this.collision;
|
|
587
|
-
}
|
|
588
|
-
get __internalInvertedSourceReceiver() {
|
|
589
|
-
return this.invert;
|
|
590
|
-
}
|
|
591
|
-
invert;
|
|
592
|
-
collision;
|
|
593
|
-
targetBody;
|
|
594
|
-
me;
|
|
595
|
-
_normal;
|
|
596
|
-
get normal() {
|
|
597
|
-
if (!this._normal) {
|
|
598
|
-
const vec = this.collision.contact.ni;
|
|
599
|
-
this._normal = new Vector3(vec.x, vec.y, vec.z);
|
|
600
|
-
}
|
|
601
|
-
return this._normal;
|
|
602
|
-
}
|
|
603
|
-
_collider;
|
|
604
|
-
get collider() {
|
|
605
|
-
if (this._collider === undefined) {
|
|
606
|
-
this._collider = GameObject.getComponentInChildren(this.gameObject, Collider);
|
|
607
|
-
}
|
|
608
|
-
return this._collider;
|
|
609
|
-
}
|
|
610
|
-
get gameObject() {
|
|
611
|
-
return this.targetBody[bodyObjectKey];
|
|
612
|
-
}
|
|
613
|
-
// private _point?: Vector3;
|
|
614
|
-
// get point(): Vector3 {
|
|
615
|
-
// if (!this._point) {
|
|
616
|
-
// const c = this.collision.contact;
|
|
617
|
-
// const point = c.bi.position.clone().vadd(c.ri);
|
|
618
|
-
// this._point = new Vector3(point.x, point.y, point.z);
|
|
619
|
-
// }
|
|
620
|
-
// return this._point;
|
|
621
|
-
// }
|
|
622
|
-
constructor(obj, collision, invert = false) {
|
|
623
|
-
this.invert = invert;
|
|
624
|
-
this.me = obj;
|
|
625
|
-
this.collision = collision;
|
|
626
|
-
this.targetBody = this.invert ? collision.target : collision.body;
|
|
574
|
+
// TODO: stop iterating when we found the collider
|
|
575
|
+
foreachComponent(obj1, c => {
|
|
576
|
+
const collider = c;
|
|
577
|
+
if (collider.isCollider && !collider.attachedRigidbody && collider.isTrigger) {
|
|
578
|
+
foreachComponent(collider.gameObject, (c) => {
|
|
579
|
+
c.__internalHandleExitCollisionEvent(obj2, true);
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
});
|
|
627
583
|
}
|
|
628
584
|
}
|
|
629
585
|
//# sourceMappingURL=engine_physics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../../engine/engine_physics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../../engine/engine_physics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SourceIdentifier } from "./engine_gltf";
|
|
2
1
|
import { Vector4, Texture, LightProbe } from "three";
|
|
3
2
|
import { Context } from "./engine_setup";
|
|
4
3
|
import { SceneLightSettings } from "./extensions/NEEDLE_lighting_settings";
|
|
4
|
+
import { SourceIdentifier } from "./engine_types";
|
|
5
5
|
export declare type SphericalHarmonicsData = {
|
|
6
6
|
array: number[];
|
|
7
7
|
texture: THREE.WebGLCubeRenderTarget | THREE.Texture;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_rendererdata.js","sourceRoot":"","sources":["../../../engine/engine_rendererdata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine_rendererdata.js","sourceRoot":"","sources":["../../../engine/engine_rendererdata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Context } from "./engine_setup";
|
|
2
2
|
import { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
3
|
-
import { UIDProvider } from "
|
|
3
|
+
import { UIDProvider } from "./engine_types";
|
|
4
4
|
export declare enum GltfLoadEventType {
|
|
5
5
|
BeforeLoad = 0,
|
|
6
6
|
AfterLoaded = 1,
|
|
@@ -22,4 +22,4 @@ export declare function findAnimationsLate(_context: Context, gltf: any, callbac
|
|
|
22
22
|
export declare function findAnimations(gltf: GLTF, allowAddingAnimator?: boolean): void;
|
|
23
23
|
export declare function tryFindObjectByName(name: any, obj: any, recursive?: boolean): any;
|
|
24
24
|
export declare function tryFindObject(globalObjectIdentifier: any, obj: any, recursive?: boolean): any;
|
|
25
|
-
export declare function tryFindScript(globalObjectIdentifier: any, list?: null): import("
|
|
25
|
+
export declare function tryFindScript(globalObjectIdentifier: any, list?: null): import("./engine_types").IComponent | null;
|
|
@@ -2,11 +2,28 @@ import { Context } from "./engine_setup";
|
|
|
2
2
|
import { Animator } from '../engine-components/Animator';
|
|
3
3
|
import { Animation } from '../engine-components/Animation';
|
|
4
4
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
5
|
-
import * as object from "./engine_gltf_builtin_components";
|
|
5
|
+
// import * as object from "./engine_gltf_builtin_components";
|
|
6
6
|
import * as loaders from "./engine_loaders";
|
|
7
|
-
import { GameObject } from "../engine-components/Component";
|
|
8
7
|
import * as utils from "./engine_utils";
|
|
9
8
|
import { registerComponentExtension, registerExtensions } from "./extensions/extensions";
|
|
9
|
+
import { getLoader, registerLoader } from "./engine_gltf";
|
|
10
|
+
import { createBuiltinComponents, writeBuiltinComponentData } from "./engine_gltf_builtin_components";
|
|
11
|
+
import { addNewComponentInstance, getComponentInChildren } from "./engine_components";
|
|
12
|
+
class NeedleGltfLoader {
|
|
13
|
+
createBuiltinComponents(context, gltfId, gltf, seed, extension) {
|
|
14
|
+
return createBuiltinComponents(context, gltfId, gltf, seed, extension);
|
|
15
|
+
}
|
|
16
|
+
writeBuiltinComponentData(comp, context) {
|
|
17
|
+
return writeBuiltinComponentData(comp, context);
|
|
18
|
+
}
|
|
19
|
+
parseSync(context, data, path, seed) {
|
|
20
|
+
return parseSync(context, data, path, seed);
|
|
21
|
+
}
|
|
22
|
+
loadSync(context, url, seed, _allowAddingAnimator, prog) {
|
|
23
|
+
return loadSync(context, url, seed, _allowAddingAnimator, prog);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
registerLoader(new NeedleGltfLoader());
|
|
10
27
|
const printGltf = utils.getParam("printGltf");
|
|
11
28
|
// const loader = new GLTFLoader();
|
|
12
29
|
// registerExtensions(loader);
|
|
@@ -52,7 +69,7 @@ async function handleLoadedGltf(context, gltfId, gltf, seed, componentsExtension
|
|
|
52
69
|
if (printGltf)
|
|
53
70
|
console.log(gltf);
|
|
54
71
|
await context.assets.registerGltf(gltf);
|
|
55
|
-
await
|
|
72
|
+
await getLoader().createBuiltinComponents(context, gltfId, gltf, seed, componentsExtension);
|
|
56
73
|
// load and assign animation
|
|
57
74
|
// we still need this for Animation component
|
|
58
75
|
// findAnimationsLate(context, gltf, context.new_scripts_pre_setup_callbacks, false);
|
|
@@ -132,7 +149,7 @@ export function findAnimations(gltf, allowAddingAnimator = false) {
|
|
|
132
149
|
if (!allowAddingAnimator) {
|
|
133
150
|
// we only need to search if any animation component is in the scene
|
|
134
151
|
// otherwise if we dont add anything there is no reason to search and log anything
|
|
135
|
-
if (!
|
|
152
|
+
if (!getComponentInChildren(gltf.scene, Animation))
|
|
136
153
|
return;
|
|
137
154
|
}
|
|
138
155
|
for (let i = 0; i < gltf.animations.length; i++) {
|
|
@@ -150,7 +167,7 @@ export function findAnimations(gltf, allowAddingAnimator = false) {
|
|
|
150
167
|
let animationComponent = findAnimationGameObjectInParent(obj);
|
|
151
168
|
if (!animationComponent) {
|
|
152
169
|
if (allowAddingAnimator)
|
|
153
|
-
animationComponent =
|
|
170
|
+
animationComponent = addNewComponentInstance(gltf.scene, new Animation());
|
|
154
171
|
else {
|
|
155
172
|
console.warn("Failed finding animator for", track.name, objectName);
|
|
156
173
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_scenetools.js","sourceRoot":"","sources":["../../../engine/engine_scenetools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAQ,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"engine_scenetools.js","sourceRoot":"","sources":["../../../engine/engine_scenetools.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ declare class ObjectSerializer extends TypeSerializer {
|
|
|
18
18
|
onSerialize(data: any, context: SerializationContext): {
|
|
19
19
|
node: number;
|
|
20
20
|
} | undefined;
|
|
21
|
-
onDeserialize(data: ObjectData, context: SerializationContext): THREE.Object3D<THREE.Event> |
|
|
21
|
+
onDeserialize(data: ObjectData, context: SerializationContext): THREE.Object3D<THREE.Event> | GameObject | Behaviour | null | undefined;
|
|
22
22
|
}
|
|
23
23
|
export declare const objectSerializer: ObjectSerializer;
|
|
24
24
|
declare class ComponentSerializer extends TypeSerializer {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GLTF } from "three/examples/jsm/loaders/GLTFLoader";
|
|
2
2
|
import { Object3D } from "three";
|
|
3
3
|
import { Context } from "./engine_setup";
|
|
4
|
-
import { SourceIdentifier } from "./
|
|
4
|
+
import { SourceIdentifier } from "./engine_types";
|
|
5
5
|
export declare type Constructor<T> = {
|
|
6
6
|
new (...args: any[]): T;
|
|
7
7
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Constructor } from "
|
|
1
|
+
import { Constructor } from "./engine_types";
|
|
2
2
|
export declare type TypeResolver<T> = (data: any) => Constructor<T> | null;
|
|
3
3
|
export declare const serializeable: <T>(type?: Constructor<T> | TypeResolver<T> | (Constructor<any> | TypeResolver<T>)[] | null | undefined) => (_target: any, _propertyKey: string) => void;
|
|
4
4
|
export declare const ALL_PROPERTIES_MARKER = "__NEEDLE__ALL_PROPERTIES";
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import { Behaviour, Component } from '../engine-components/Component';
|
|
3
2
|
import { Input } from './engine_input';
|
|
4
3
|
import { Physics } from './engine_physics';
|
|
5
4
|
import { Time } from './engine_time';
|
|
6
5
|
import { NetworkConnection } from './engine_networking';
|
|
7
|
-
import { Camera } from '../engine-components/Camera';
|
|
8
6
|
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
|
|
9
7
|
import { AssetDatabase } from './engine_assetdatabase';
|
|
10
|
-
import { Light } from '../engine-components/Light';
|
|
11
8
|
import { RendererData } from './engine_rendererdata';
|
|
12
9
|
import { Addressables } from './engine_addressables';
|
|
13
10
|
import { Application } from './engine_application';
|
|
14
11
|
import { ILightDataRegistry } from './engine_lightdata';
|
|
15
12
|
import { PlayerViewManager } from './engine_playerview';
|
|
13
|
+
import { ICamera as Camera, IComponent, ILight as Light } from "./engine_types";
|
|
16
14
|
export declare const build_scene_functions: {
|
|
17
15
|
[name: string]: (context: Context) => Promise<void>;
|
|
18
16
|
};
|
|
19
17
|
declare type CoroutineData = {
|
|
20
|
-
comp:
|
|
18
|
+
comp: IComponent;
|
|
21
19
|
main: Generator;
|
|
22
20
|
chained?: Array<Generator>;
|
|
23
21
|
};
|
|
@@ -50,6 +48,7 @@ export declare enum XRSessionMode {
|
|
|
50
48
|
ImmersiveAR = "immersive-ar"
|
|
51
49
|
}
|
|
52
50
|
export declare type OnBeforeRenderCallback = (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void;
|
|
51
|
+
export declare function registerComponent(script: IComponent, context?: Context): void;
|
|
53
52
|
export declare class Context {
|
|
54
53
|
private static _current;
|
|
55
54
|
static get Current(): Context;
|
|
@@ -73,13 +72,13 @@ export declare class Context {
|
|
|
73
72
|
scene: THREE.Scene;
|
|
74
73
|
renderer: THREE.WebGLRenderer;
|
|
75
74
|
composer: EffectComposer | null;
|
|
76
|
-
scripts:
|
|
77
|
-
scripts_earlyUpdate:
|
|
78
|
-
scripts_update:
|
|
79
|
-
scripts_lateUpdate:
|
|
80
|
-
scripts_onBeforeRender:
|
|
81
|
-
scripts_onAfterRender:
|
|
82
|
-
scripts_WithCorroutines:
|
|
75
|
+
scripts: IComponent[];
|
|
76
|
+
scripts_earlyUpdate: IComponent[];
|
|
77
|
+
scripts_update: IComponent[];
|
|
78
|
+
scripts_lateUpdate: IComponent[];
|
|
79
|
+
scripts_onBeforeRender: IComponent[];
|
|
80
|
+
scripts_onAfterRender: IComponent[];
|
|
81
|
+
scripts_WithCorroutines: IComponent[];
|
|
83
82
|
coroutines: {
|
|
84
83
|
[FrameEvent: number]: Array<CoroutineData>;
|
|
85
84
|
};
|
|
@@ -89,8 +88,8 @@ export declare class Context {
|
|
|
89
88
|
pre_update_callbacks: Function[];
|
|
90
89
|
pre_render_callbacks: Function[];
|
|
91
90
|
post_render_callbacks: Function[];
|
|
92
|
-
new_scripts:
|
|
93
|
-
new_script_start:
|
|
91
|
+
new_scripts: IComponent[];
|
|
92
|
+
new_script_start: IComponent[];
|
|
94
93
|
new_scripts_pre_setup_callbacks: Function[];
|
|
95
94
|
new_scripts_post_setup_callbacks: Function[];
|
|
96
95
|
application: Application;
|
|
@@ -115,9 +114,9 @@ export declare class Context {
|
|
|
115
114
|
updateAspect(camera: THREE.PerspectiveCamera): void;
|
|
116
115
|
onCreate(buildScene: (context: Context, loadingOptions?: LoadingOptions) => Promise<void>, opts?: LoadingOptions): Promise<void> | null;
|
|
117
116
|
onDestroy(): void;
|
|
118
|
-
registerCoroutineUpdate(script:
|
|
117
|
+
registerCoroutineUpdate(script: IComponent, coroutine: Generator, evt: FrameEvent): Generator;
|
|
119
118
|
unregisterCoroutineUpdate(coroutine: Generator, evt: FrameEvent): void;
|
|
120
|
-
stopAllCoroutinesFrom(script:
|
|
119
|
+
stopAllCoroutinesFrom(script: IComponent): void;
|
|
121
120
|
private _cameraStack;
|
|
122
121
|
setCurrentCamera(cam: Camera): void;
|
|
123
122
|
removeCamera(cam?: Camera | null): void;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DepthTexture, WebGLRenderer } from 'three';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
import { GameObject } from '../engine-components/Component';
|
|
4
3
|
import { Input } from './engine_input';
|
|
5
4
|
import { Physics } from './engine_physics';
|
|
6
5
|
import { Time } from './engine_time';
|
|
@@ -8,7 +7,6 @@ import { NetworkConnection } from './engine_networking';
|
|
|
8
7
|
import { beginListenDestroy, beginListenInstantiate } from './engine_networking_instantiate';
|
|
9
8
|
import * as looputils from './engine_mainloop_utils';
|
|
10
9
|
import * as utils from "./engine_utils";
|
|
11
|
-
import { Camera, createCameraWithOrbitControl } from '../engine-components/Camera';
|
|
12
10
|
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
|
|
13
11
|
import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass';
|
|
14
12
|
import { beginListenFileSpawn } from './engine_networking_files';
|
|
@@ -20,6 +18,7 @@ import { Addressables } from './engine_addressables';
|
|
|
20
18
|
import { Application } from './engine_application';
|
|
21
19
|
import { LightDataRegistry } from './engine_lightdata';
|
|
22
20
|
import { PlayerViewManager } from './engine_playerview';
|
|
21
|
+
import { destroy } from './engine_gameobject';
|
|
23
22
|
const debug = utils.getParam("debugSetup");
|
|
24
23
|
const stats = utils.getParam("stats");
|
|
25
24
|
// this is where functions that setup unity scenes will be pushed into
|
|
@@ -48,6 +47,14 @@ export var XRSessionMode;
|
|
|
48
47
|
XRSessionMode["ImmersiveVR"] = "immersive-vr";
|
|
49
48
|
XRSessionMode["ImmersiveAR"] = "immersive-ar";
|
|
50
49
|
})(XRSessionMode || (XRSessionMode = {}));
|
|
50
|
+
export function registerComponent(script, context) {
|
|
51
|
+
if (!script)
|
|
52
|
+
return;
|
|
53
|
+
const new_scripts = context?.new_scripts ?? Context.Current.new_scripts;
|
|
54
|
+
if (!new_scripts.includes(script)) {
|
|
55
|
+
new_scripts.push(script);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
51
58
|
export class Context {
|
|
52
59
|
static _current;
|
|
53
60
|
static get Current() {
|
|
@@ -221,7 +228,7 @@ export class Context {
|
|
|
221
228
|
if (!this._isCreated)
|
|
222
229
|
return;
|
|
223
230
|
this._isCreated = false;
|
|
224
|
-
|
|
231
|
+
destroy(this.scene, true);
|
|
225
232
|
this.renderer?.setAnimationLoop(null);
|
|
226
233
|
if (!this.isManagedExternally) {
|
|
227
234
|
this.renderer?.dispose();
|
|
@@ -382,28 +389,32 @@ export class Context {
|
|
|
382
389
|
}
|
|
383
390
|
}
|
|
384
391
|
if (!this.mainCamera) {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
//
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
392
|
+
// console.error("MISSING camera", this);
|
|
393
|
+
// return;
|
|
394
|
+
// Context._current = this;
|
|
395
|
+
// //@ts-ignore
|
|
396
|
+
// const cams = findObjectsOfType(Camera, this);
|
|
397
|
+
// console.log(cams);
|
|
398
|
+
// // get main camera, fallback to first camera
|
|
399
|
+
// const mc: Camera = cams.find(c => c.tag == "MainCamera") ?? cams.find(_ => true) as Camera;
|
|
400
|
+
// if (mc) {
|
|
401
|
+
// if (mc.tag !== "MainCamera")
|
|
402
|
+
// console.warn("No mainCamera configured. Some components rely on a mainCamera object being present. " +
|
|
403
|
+
// "When exporting your scene, make sure to set the mainCamera tag on your camera. Using \"" + mc.name + "\" as mainCamera now.");
|
|
404
|
+
// this.setCurrentCamera(mc);
|
|
405
|
+
// }
|
|
406
|
+
// else {
|
|
407
|
+
// console.error("No camera found");
|
|
408
|
+
// const cam = createCameraWithOrbitControl(this.scene);
|
|
409
|
+
// this.setCurrentCamera(cam);
|
|
410
|
+
// }
|
|
400
411
|
}
|
|
401
412
|
Context._current = this;
|
|
402
413
|
looputils.processNewScripts(this);
|
|
403
|
-
const mainCam = this.mainCameraComponent;
|
|
404
|
-
if (mainCam) {
|
|
405
|
-
|
|
406
|
-
}
|
|
414
|
+
// const mainCam = this.mainCameraComponent as Camera;
|
|
415
|
+
// if (mainCam) {
|
|
416
|
+
// mainCam.applyClearFlagsIfIsActiveCamera();
|
|
417
|
+
// }
|
|
407
418
|
if (!this.isManagedExternally && this.composer && this.mainCamera) {
|
|
408
419
|
const renderPass = new RenderPass(this.scene, this.mainCamera);
|
|
409
420
|
this.renderer.setSize(this.domWidth, this.domHeight);
|
|
@@ -465,7 +476,7 @@ export class Context {
|
|
|
465
476
|
script.lateUpdate();
|
|
466
477
|
}
|
|
467
478
|
}
|
|
468
|
-
this.mainLight = null;
|
|
479
|
+
// this.mainLight = null;
|
|
469
480
|
this.executeCoroutines(FrameEvent.LateUpdate);
|
|
470
481
|
try {
|
|
471
482
|
const physicsSteps = 2;
|