@needle-tools/engine 2.36.0-pre → 2.37.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 +12 -0
- package/dist/needle-engine.d.ts +171 -141
- package/dist/needle-engine.js +451 -437
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +82 -82
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/api.d.ts +1 -0
- package/lib/engine/api.js +1 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug.d.ts +1 -0
- package/lib/engine/debug/debug.js +3 -0
- package/lib/engine/debug/debug.js.map +1 -1
- package/lib/engine/engine_gameobject.js +2 -1
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +33 -42
- package/lib/engine/engine_physics.js +431 -383
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics.types.d.ts +16 -0
- package/lib/engine/engine_physics.types.js +19 -0
- package/lib/engine/engine_physics.types.js.map +1 -0
- package/lib/engine/engine_serialization_core.d.ts +3 -0
- package/lib/engine/engine_serialization_core.js +5 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_setup.js +3 -1
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_types.d.ts +45 -26
- package/lib/engine/engine_types.js +24 -37
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_util_decorator.d.ts +6 -0
- package/lib/engine/engine_util_decorator.js +54 -0
- package/lib/engine/engine_util_decorator.js.map +1 -0
- package/lib/engine/engine_utils.d.ts +1 -1
- package/lib/engine/engine_utils.js +1 -1
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +2 -0
- package/lib/engine/extensions/NEEDLE_gameobject_data.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +6 -5
- package/lib/engine-components/Animation.js +0 -7
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.js +1 -0
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +7 -2
- package/lib/engine-components/Collider.js +27 -15
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +6 -15
- package/lib/engine-components/Component.js +7 -112
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.js +9 -6
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/NavMesh.d.ts +0 -5
- package/lib/engine-components/NavMesh.js +100 -10
- package/lib/engine-components/NavMesh.js.map +1 -1
- package/lib/engine-components/NestedGltf.js +2 -0
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +40 -25
- package/lib/engine-components/RigidBody.js +253 -142
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.js +1 -1
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +1 -0
- package/lib/engine-components/SpectatorCamera.js +9 -2
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SpringJoint.d.ts +0 -13
- package/lib/engine-components/SpringJoint.js +42 -41
- package/lib/engine-components/SpringJoint.js.map +1 -1
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/WebXR.d.ts +1 -0
- package/lib/engine-components/WebXR.js +10 -2
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/WebXRController.js +12 -6
- package/lib/engine-components/WebXRController.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +1 -3
- package/lib/engine-components/codegen/components.js +1 -3
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/package.json +3 -4
- package/src/engine/api.ts +2 -1
- package/src/engine/codegen/register_types.js +4 -12
- package/src/engine/debug/debug.ts +4 -0
- package/src/engine/engine_gameobject.ts +4 -4
- package/src/engine/engine_physics.ts +460 -421
- package/src/engine/engine_physics.types.ts +19 -0
- package/src/engine/engine_serialization_core.ts +8 -1
- package/src/engine/engine_setup.ts +5 -1
- package/src/engine/engine_types.ts +82 -56
- package/src/engine/engine_util_decorator.ts +69 -0
- package/src/engine/engine_utils.ts +3 -3
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +2 -0
- package/src/engine-components/Animation.ts +10 -12
- package/src/engine-components/BoxHelperComponent.ts +1 -0
- package/src/engine-components/Collider.ts +29 -29
- package/src/engine-components/Component.ts +15 -130
- package/src/engine-components/DragControls.ts +9 -5
- package/src/engine-components/NavMesh.ts +114 -115
- package/src/engine-components/NestedGltf.ts +2 -0
- package/src/engine-components/RigidBody.ts +258 -149
- package/src/engine-components/SpatialTrigger.ts +1 -1
- package/src/engine-components/SpectatorCamera.ts +10 -2
- package/src/engine-components/SpringJoint.ts +41 -41
- package/src/engine-components/VideoPlayer.ts +1 -2
- package/src/engine-components/WebXR.ts +12 -2
- package/src/engine-components/WebXRController.ts +16 -7
- package/src/engine-components/codegen/components.ts +1 -3
|
@@ -2,12 +2,14 @@ import { BoxHelper, BufferGeometry, Color, Euler, Group, Intersection, Layers, L
|
|
|
2
2
|
import { OculusHandModel } from 'three/examples/jsm/webxr/OculusHandModel.js';
|
|
3
3
|
import { OculusHandPointerModel } from 'three/examples/jsm/webxr/OculusHandPointerModel.js';
|
|
4
4
|
import { XRControllerModel, XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
|
|
5
|
+
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'
|
|
5
6
|
|
|
6
7
|
import { InstancingUtil } from "../engine/engine_instancing";
|
|
7
8
|
import { Mathf } from "../engine/engine_math";
|
|
8
9
|
import { RaycastOptions } from "../engine/engine_physics";
|
|
9
10
|
import { getWorldPosition, getWorldQuaternion, setWorldPosition, setWorldQuaternion } from "../engine/engine_three_utils";
|
|
10
11
|
import { getParam, getPath } from "../engine/engine_utils";
|
|
12
|
+
import { addDracoAndKTX2Loaders } from "../engine/engine_loaders";
|
|
11
13
|
|
|
12
14
|
import { Avatar_POI } from "./avatar/Avatar_Brain_LookAt";
|
|
13
15
|
import { Behaviour, GameObject } from "./Component";
|
|
@@ -79,9 +81,14 @@ export class WebXRController extends Behaviour {
|
|
|
79
81
|
ctrl.controllerGrip.add(ctrl.controllerModel);
|
|
80
82
|
|
|
81
83
|
ctrl.hand = context.renderer.xr.getHand(index);
|
|
82
|
-
|
|
84
|
+
|
|
85
|
+
const loader = new GLTFLoader();
|
|
86
|
+
addDracoAndKTX2Loaders(loader, context);
|
|
83
87
|
if (ctrl.webXR.handModelPath && ctrl.webXR.handModelPath !== "")
|
|
84
|
-
|
|
88
|
+
loader.setPath("/" + getPath(owner.sourceId, ctrl.webXR.handModelPath));
|
|
89
|
+
//@ts-ignore
|
|
90
|
+
const hand = new OculusHandModel(ctrl.hand, loader);
|
|
91
|
+
|
|
85
92
|
ctrl.hand.add(hand);
|
|
86
93
|
ctrl.hand.traverse(x => x.layers.set(2));
|
|
87
94
|
|
|
@@ -738,7 +745,7 @@ export class WebXRController extends Behaviour {
|
|
|
738
745
|
|
|
739
746
|
if (debug) {
|
|
740
747
|
if (!this.closeGrabBoundingBoxHelper && overlapCenter) {
|
|
741
|
-
this.closeGrabBoundingBoxHelper = new BoxHelper(
|
|
748
|
+
this.closeGrabBoundingBoxHelper = new BoxHelper(overlapCenter, 0xffff00);
|
|
742
749
|
this.scene.add(this.closeGrabBoundingBoxHelper);
|
|
743
750
|
}
|
|
744
751
|
|
|
@@ -825,7 +832,7 @@ export class AttachedObject {
|
|
|
825
832
|
return null;
|
|
826
833
|
}
|
|
827
834
|
else candidate = interactable.gameObject;
|
|
828
|
-
|
|
835
|
+
|
|
829
836
|
|
|
830
837
|
let objectToAttach = candidate;
|
|
831
838
|
const sync = GameObject.getComponentInParent(candidate, SyncedTransform);
|
|
@@ -981,12 +988,11 @@ export class AttachedObject {
|
|
|
981
988
|
this.sync = null;
|
|
982
989
|
|
|
983
990
|
|
|
984
|
-
// TODO:
|
|
991
|
+
// TODO: make throwing work again
|
|
985
992
|
if (this.rigidbodies) {
|
|
986
993
|
for (const rb of this.rigidbodies) {
|
|
987
994
|
rb.wakeUp();
|
|
988
|
-
|
|
989
|
-
rb.setVelocity(rb.smoothedVelocity.x, rb.smoothedVelocity.y, rb.smoothedVelocity.z);
|
|
995
|
+
rb.setVelocity(rb.smoothedVelocity);
|
|
990
996
|
}
|
|
991
997
|
}
|
|
992
998
|
this.rigidbodies = null;
|
|
@@ -1039,6 +1045,9 @@ export class AttachedObject {
|
|
|
1039
1045
|
}
|
|
1040
1046
|
|
|
1041
1047
|
public update() {
|
|
1048
|
+
if (this.rigidbodies)
|
|
1049
|
+
for (const rb of this.rigidbodies)
|
|
1050
|
+
rb.resetVelocities();
|
|
1042
1051
|
// TODO: add/use sync lost ownership event
|
|
1043
1052
|
if (this.sync && this.controller && this.controller.context.connection.isInRoom) {
|
|
1044
1053
|
const td = this.controller.context.time.time - this.grabTime;
|
|
@@ -16,6 +16,7 @@ export { Camera } from "../Camera";
|
|
|
16
16
|
export { Collider } from "../Collider";
|
|
17
17
|
export { SphereCollider } from "../Collider";
|
|
18
18
|
export { BoxCollider } from "../Collider";
|
|
19
|
+
export { MeshCollider } from "../Collider";
|
|
19
20
|
export { DeleteBox } from "../DeleteBox";
|
|
20
21
|
export { Deletable } from "../DeleteBox";
|
|
21
22
|
export { DeviceFlag } from "../DeviceFlag";
|
|
@@ -38,8 +39,6 @@ export { Light } from "../Light";
|
|
|
38
39
|
export { LODModel } from "../LODGroup";
|
|
39
40
|
export { LODGroup } from "../LODGroup";
|
|
40
41
|
export { LookAtConstraint } from "../LookAtConstraint";
|
|
41
|
-
export { NavMesh } from "../NavMesh";
|
|
42
|
-
export { NavMeshAgent } from "../NavMesh";
|
|
43
42
|
export { NestedGltf } from "../NestedGltf";
|
|
44
43
|
export { Networking } from "../Networking";
|
|
45
44
|
export { OffsetConstraint } from "../OffsetConstraint";
|
|
@@ -64,7 +63,6 @@ export { SmoothFollow } from "../SmoothFollow";
|
|
|
64
63
|
export { SpatialTriggerReceiver } from "../SpatialTrigger";
|
|
65
64
|
export { SpatialTrigger } from "../SpatialTrigger";
|
|
66
65
|
export { SpectatorCamera } from "../SpectatorCamera";
|
|
67
|
-
export { SpringJoint } from "../SpringJoint";
|
|
68
66
|
export { Sprite } from "../SpriteRenderer";
|
|
69
67
|
export { SpriteRenderer } from "../SpriteRenderer";
|
|
70
68
|
export { SyncedCamera } from "../SyncedCamera";
|