@needle-tools/engine 3.2.4-alpha.2 → 3.2.5-alpha
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.js +18982 -18841
- package/dist/needle-engine.min.js +281 -281
- package/dist/needle-engine.umd.cjs +275 -275
- 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/codegen/register_types.js +23 -17
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_element_loading.js +14 -3
- package/lib/engine/engine_element_loading.js.map +1 -1
- package/lib/engine/engine_networking_auto.js +1 -1
- package/lib/engine/engine_networking_auto.js.map +1 -1
- package/lib/engine-components/DragControls.js +1 -1
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/Duplicatable.js +1 -1
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/Light.js +2 -2
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/PlayerColor.js +1 -1
- package/lib/engine-components/PlayerColor.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.d.ts +3 -1
- package/lib/engine-components/ShadowCatcher.js +14 -0
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.js +2 -2
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedCamera.js +2 -2
- package/lib/engine-components/SyncedCamera.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -0
- package/lib/engine-components/api.js +1 -0
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +1 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +1 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +1 -1
- package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +1 -1
- package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +20 -17
- package/lib/engine-components/codegen/components.js +20 -17
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +2 -2
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.js +2 -2
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/InputField.js +2 -1
- package/lib/engine-components/ui/InputField.js.map +1 -1
- package/lib/engine-components/{WebARCameraBackground.d.ts → webxr/WebARCameraBackground.d.ts} +2 -2
- package/lib/engine-components/{WebARCameraBackground.js → webxr/WebARCameraBackground.js} +4 -4
- package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -0
- package/lib/engine-components/{WebARSessionRoot.d.ts → webxr/WebARSessionRoot.d.ts} +1 -1
- package/lib/engine-components/{WebARSessionRoot.js → webxr/WebARSessionRoot.js} +3 -3
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -0
- package/lib/engine-components/{WebXR.d.ts → webxr/WebXR.d.ts} +2 -2
- package/lib/engine-components/{WebXR.js → webxr/WebXR.js} +12 -12
- package/lib/engine-components/webxr/WebXR.js.map +1 -0
- package/lib/engine-components/{WebXRAvatar.d.ts → webxr/WebXRAvatar.d.ts} +3 -3
- package/lib/engine-components/{WebXRAvatar.js → webxr/WebXRAvatar.js} +7 -7
- package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -0
- package/lib/engine-components/{WebXRController.d.ts → webxr/WebXRController.d.ts} +2 -2
- package/lib/engine-components/{WebXRController.js → webxr/WebXRController.js} +12 -12
- package/lib/engine-components/webxr/WebXRController.js.map +1 -0
- package/lib/engine-components/{WebXRGrabRendering.d.ts → webxr/WebXRGrabRendering.d.ts} +3 -3
- package/lib/engine-components/{WebXRGrabRendering.js → webxr/WebXRGrabRendering.js} +4 -4
- package/lib/engine-components/webxr/WebXRGrabRendering.js.map +1 -0
- package/lib/engine-components/{WebXRImageTracking.d.ts → webxr/WebXRImageTracking.d.ts} +1 -1
- package/lib/engine-components/{WebXRImageTracking.js → webxr/WebXRImageTracking.js} +5 -4
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -0
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +29 -0
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +210 -0
- package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -0
- package/lib/engine-components/{WebXRRig.d.ts → webxr/WebXRRig.d.ts} +1 -1
- package/lib/engine-components/{WebXRRig.js → webxr/WebXRRig.js} +3 -3
- package/lib/engine-components/webxr/WebXRRig.js.map +1 -0
- package/lib/engine-components/{WebXRSync.d.ts → webxr/WebXRSync.d.ts} +3 -3
- package/lib/engine-components/{WebXRSync.js → webxr/WebXRSync.js} +8 -8
- package/lib/engine-components/webxr/WebXRSync.js.map +1 -0
- package/lib/engine-components/webxr/index.d.ts +2 -0
- package/lib/engine-components/webxr/index.js +3 -0
- package/lib/engine-components/webxr/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/engine/api.ts +1 -0
- package/src/engine/codegen/register_types.js +25 -19
- package/src/engine/engine_element_loading.ts +25 -10
- package/src/engine/engine_networking_auto.ts +1 -1
- package/src/engine-components/DragControls.ts +1 -1
- package/src/engine-components/Duplicatable.ts +1 -1
- package/src/engine-components/Light.ts +2 -2
- package/src/engine-components/PlayerColor.ts +1 -1
- package/src/engine-components/ShadowCatcher.ts +15 -0
- package/src/engine-components/SpectatorCamera.ts +2 -2
- package/src/engine-components/SyncedCamera.ts +2 -2
- package/src/engine-components/api.ts +1 -0
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +1 -1
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +1 -1
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +1 -1
- package/src/engine-components/codegen/components.ts +20 -17
- package/src/engine-components/export/usdz/USDZExporter.ts +2 -2
- package/src/engine-components/ui/EventSystem.ts +2 -2
- package/src/engine-components/ui/InputField.ts +2 -1
- package/src/engine-components/{WebARCameraBackground.ts → webxr/WebARCameraBackground.ts} +4 -4
- package/src/engine-components/{WebARSessionRoot.ts → webxr/WebARSessionRoot.ts} +3 -3
- package/src/engine-components/{WebXR.ts → webxr/WebXR.ts} +15 -15
- package/src/engine-components/{WebXRAvatar.ts → webxr/WebXRAvatar.ts} +9 -9
- package/src/engine-components/{WebXRController.ts → webxr/WebXRController.ts} +13 -13
- package/src/engine-components/{WebXRGrabRendering.ts → webxr/WebXRGrabRendering.ts} +5 -5
- package/src/engine-components/{WebXRImageTracking.ts → webxr/WebXRImageTracking.ts} +5 -4
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +254 -0
- package/src/engine-components/{WebXRRig.ts → webxr/WebXRRig.ts} +4 -4
- package/src/engine-components/{WebXRSync.ts → webxr/WebXRSync.ts} +8 -8
- package/src/engine-components/webxr/index.ts +2 -0
- package/lib/engine-components/WebARCameraBackground.js.map +0 -1
- package/lib/engine-components/WebARSessionRoot.js.map +0 -1
- package/lib/engine-components/WebXR.js.map +0 -1
- package/lib/engine-components/WebXRAvatar.js.map +0 -1
- package/lib/engine-components/WebXRController.js.map +0 -1
- package/lib/engine-components/WebXRGrabRendering.js.map +0 -1
- package/lib/engine-components/WebXRImageTracking.js.map +0 -1
- package/lib/engine-components/WebXRRig.js.map +0 -1
- package/lib/engine-components/WebXRSync.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getWorldPosition, setWorldPosition } from "
|
|
2
|
-
import { Behaviour, GameObject } from "
|
|
1
|
+
import { getWorldPosition, setWorldPosition } from "../../engine/engine_three_utils";
|
|
2
|
+
import { Behaviour, GameObject } from "../Component";
|
|
3
3
|
import { AttachedObject, AttachedObjectEvents } from "./WebXRController";
|
|
4
4
|
import { Vector3 } from "three";
|
|
5
|
-
import { PlayerColor } from "
|
|
6
|
-
import { SendQueue } from "
|
|
5
|
+
import { PlayerColor } from "../PlayerColor";
|
|
6
|
+
import { SendQueue } from "../../engine/engine_networking_types";
|
|
7
7
|
var XRGrabEvent;
|
|
8
8
|
(function (XRGrabEvent) {
|
|
9
9
|
XRGrabEvent["StartOrUpdate"] = "xr-grab-visual-start-or-update";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRGrabRendering.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRGrabRendering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAuB,MAAM,iCAAiC,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAY,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAU,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEzE,IAAK,WAGJ;AAHD,WAAK,WAAW;IACZ,+DAAgD,CAAA;IAChD,yCAA0B,CAAA;AAC9B,CAAC,EAHI,WAAW,KAAX,WAAW,QAGf;AAED,MAAM,OAAO,WAAW;IACpB,IAAI,CAAO;IACX,QAAQ,GAAY,IAAI,CAAC;IAEzB,MAAM,CAA6B;IACnC,KAAK,GAAwC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClE,MAAM,GAAwC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnE,MAAM,CAAqB;IAE3B,MAAM,CAAC,OAAiB,EAAE,KAAc,EAAE,MAAe,EAAE,SAA6B,SAAS;QAC7F,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED,iEAAiE;AACjE,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC1C,MAAM,GAAoB,IAAI,CAAC;IAEvB,WAAW,GAAuB,EAAE,CAAC;IACrC,qBAAqB,GAAkB,EAAE,CAAC;IAC1C,eAAe,GAAoB,IAAI,CAAC;IACxC,OAAO,GAAoB,IAAI,CAAC;IAChC,QAAQ,GAAoB,IAAI,CAAC;IACjC,UAAU,GAA8D,EAAE,CAAC;IAEnF,KAAK;QACD,IAAG,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzH,CAAC;IAED,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,cAAc,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,KAAkB;QAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,KAAkB;QACtB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAEO,yBAAyB,CAAC,IAAiB;QAC/C,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAG,CAAC,IAAI,EACR;YACI,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAa,CAAC;YACjE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC,QAAQ,EAAE,KAAK,EAAC,IAAI,EAAC,CAAC;YACpD,IAAG,IAAI,CAAC,MAAM,EAAC;gBACX,MAAM,WAAW,GAAG,UAAU,CAAC,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC9E,IAAG,WAAW,EAAE,MAAM,GAAG,CAAC,EAC1B;oBACI,KAAI,MAAM,EAAE,IAAI,WAAW,EAAC;wBACxB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;qBAClC;iBACJ;aACJ;YACD,OAAO;SACV;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,eAAe,CAAC,IAAiB;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EACtB;YACI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC9B;IACL,CAAC;IAEO,oBAAoB,CAAC,GAAmB;QAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,cAAc;QACV,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;YAAE,OAAO;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEtC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,SAAS;YAE/C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC/B;IACL,CAAC;IAEO,WAAW,CAAC,KAAkB,EAAE,GAAmB;QACvD,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,OAAO;QAC7C,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC1F,CAAC;IAEO,IAAI,GAAa,IAAI,OAAO,EAAE,CAAC;IAC/B,eAAe;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC9C,KAAI,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAC;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjD,IAAG,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,SAAS;YACjC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YACxB,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAClC;IACL,CAAC;CACJ"}
|
|
@@ -5,10 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { WebXR } from "./WebXR";
|
|
8
|
-
import { serializable } from "
|
|
9
|
-
import { Behaviour } from "
|
|
8
|
+
import { serializable } from "../../engine/engine_serialization";
|
|
9
|
+
import { Behaviour } from "../Component";
|
|
10
10
|
import { Quaternion, Vector3 } from "three";
|
|
11
|
-
import { CircularBuffer, getParam } from "
|
|
11
|
+
import { CircularBuffer, getParam } from "../../engine/engine_utils";
|
|
12
12
|
// https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
|
|
13
13
|
const debug = getParam("debugimagetracking");
|
|
14
14
|
const _scaleTemp = new Vector3();
|
|
@@ -114,7 +114,8 @@ export class WebXRImageTracking extends Behaviour {
|
|
|
114
114
|
onModifyAROptions = (event) => {
|
|
115
115
|
const options = event.detail;
|
|
116
116
|
const features = options.optionalFeatures || [];
|
|
117
|
-
features.
|
|
117
|
+
if (!features.includes("image-tracking"))
|
|
118
|
+
features.push("image-tracking");
|
|
118
119
|
options.optionalFeatures = features;
|
|
119
120
|
options.trackedImages = [];
|
|
120
121
|
for (const trackedImage of this.trackedImages) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
import { BufferGeometry, Group, Mesh, Object3D } from "three";
|
|
3
|
+
import { MeshCollider } from "../Collider";
|
|
4
|
+
import { Behaviour } from "../Component";
|
|
5
|
+
import { Vec3 } from "../../engine/engine_types";
|
|
6
|
+
export declare type XRPlaneContext = {
|
|
7
|
+
id: number;
|
|
8
|
+
xrPlane: XRPlane;
|
|
9
|
+
timestamp: number;
|
|
10
|
+
mesh?: Mesh | Group;
|
|
11
|
+
collider?: MeshCollider;
|
|
12
|
+
};
|
|
13
|
+
export declare type WebXRPlaneTrackingEvent = {
|
|
14
|
+
type: "plane-added" | "plane-updated" | "plane-removed";
|
|
15
|
+
context: XRPlaneContext;
|
|
16
|
+
};
|
|
17
|
+
export declare class WebXRPlaneTracking extends Behaviour {
|
|
18
|
+
/** Optional: if assigned it will be instantiated per tracked plane */
|
|
19
|
+
planeTemplate?: Object3D;
|
|
20
|
+
get trackedPlanes(): IterableIterator<XRPlaneContext>;
|
|
21
|
+
onEnable(): void;
|
|
22
|
+
onDisable(): void;
|
|
23
|
+
private onModifyAROptions;
|
|
24
|
+
private onXRUpdate;
|
|
25
|
+
private _planeId;
|
|
26
|
+
private readonly _allPlanes;
|
|
27
|
+
private processPlanes;
|
|
28
|
+
createGeometry(polygon: Vec3[]): BufferGeometry;
|
|
29
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { BufferAttribute, BufferGeometry, Group, Mesh, Object3D, Vector3 } from "three";
|
|
8
|
+
import { MeshCollider } from "../Collider";
|
|
9
|
+
import { Behaviour, GameObject } from "../Component";
|
|
10
|
+
import { WebXR, WebXREvent } from "./WebXR";
|
|
11
|
+
import { serializable } from "../../engine/engine_serialization";
|
|
12
|
+
import { disposeObjectResources } from "../../engine/engine_assetdatabase";
|
|
13
|
+
import { getParam } from "../../engine/engine_utils";
|
|
14
|
+
const debug = getParam("debugplanetracking");
|
|
15
|
+
export class WebXRPlaneTracking extends Behaviour {
|
|
16
|
+
/** Optional: if assigned it will be instantiated per tracked plane */
|
|
17
|
+
planeTemplate;
|
|
18
|
+
get trackedPlanes() { return this._allPlanes.values(); }
|
|
19
|
+
onEnable() {
|
|
20
|
+
WebXR.addEventListener(WebXREvent.XRUpdate, this.onXRUpdate);
|
|
21
|
+
WebXR.addEventListener("modify-ar-options", this.onModifyAROptions);
|
|
22
|
+
}
|
|
23
|
+
onDisable() {
|
|
24
|
+
WebXR.removeEventListener(WebXREvent.XRUpdate, this.onXRUpdate);
|
|
25
|
+
WebXR.removeEventListener("modify-ar-options", this.onModifyAROptions);
|
|
26
|
+
}
|
|
27
|
+
onModifyAROptions = (event) => {
|
|
28
|
+
const options = event.detail;
|
|
29
|
+
const features = options.optionalFeatures || [];
|
|
30
|
+
if (!features.includes("plane-detection"))
|
|
31
|
+
features.push("plane-detection");
|
|
32
|
+
options.optionalFeatures = features;
|
|
33
|
+
};
|
|
34
|
+
onXRUpdate = (evt) => {
|
|
35
|
+
this.processPlanes(evt.rig, evt.frame);
|
|
36
|
+
};
|
|
37
|
+
_planeId = 1;
|
|
38
|
+
_allPlanes = new Map();
|
|
39
|
+
processPlanes(rig, frame) {
|
|
40
|
+
const renderer = this.context.renderer;
|
|
41
|
+
// parenting tracked planes to the XR rig ensures that they synced with the real-world user data;
|
|
42
|
+
// otherwise they would "swim away" when the user rotates / moves / teleports and so on.
|
|
43
|
+
// There may be cases where we want that! E.g. a user walks around on their own table in castle builder
|
|
44
|
+
if (!rig)
|
|
45
|
+
return;
|
|
46
|
+
// If we dont have the detectedPlanes field this means the user didnt add the option
|
|
47
|
+
if (frame.detectedPlanes === undefined)
|
|
48
|
+
return;
|
|
49
|
+
const referenceSpace = renderer.xr.getReferenceSpace();
|
|
50
|
+
if (!referenceSpace)
|
|
51
|
+
return;
|
|
52
|
+
for (const plane of this._allPlanes.keys()) {
|
|
53
|
+
if (!frame.detectedPlanes.has(plane)) {
|
|
54
|
+
const planeContext = this._allPlanes.get(plane);
|
|
55
|
+
// plane was removed
|
|
56
|
+
this._allPlanes.delete(plane);
|
|
57
|
+
if (debug)
|
|
58
|
+
console.log("Plane no longer tracked, id=" + planeContext.id);
|
|
59
|
+
if (planeContext.mesh)
|
|
60
|
+
rig?.remove(planeContext.mesh);
|
|
61
|
+
const evt = new CustomEvent("plane-tracking", {
|
|
62
|
+
detail: {
|
|
63
|
+
type: "plane-removed",
|
|
64
|
+
context: planeContext
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
this.dispatchEvent(evt);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const plane of frame.detectedPlanes) {
|
|
71
|
+
const planePose = frame.getPose(plane.planeSpace, referenceSpace);
|
|
72
|
+
let planeMesh;
|
|
73
|
+
// If the plane already existed just update it
|
|
74
|
+
if (this._allPlanes.has(plane)) {
|
|
75
|
+
const planeContext = this._allPlanes.get(plane);
|
|
76
|
+
planeMesh = planeContext.mesh;
|
|
77
|
+
if (planeContext.timestamp < plane.lastChangedTime) {
|
|
78
|
+
planeContext.timestamp = plane.lastChangedTime;
|
|
79
|
+
// Update the mesh geometry
|
|
80
|
+
if (planeContext.mesh) {
|
|
81
|
+
const geometry = this.createGeometry(plane.polygon);
|
|
82
|
+
if (planeContext.mesh instanceof Mesh) {
|
|
83
|
+
planeContext.mesh.geometry.dispose();
|
|
84
|
+
planeContext.mesh.geometry = geometry;
|
|
85
|
+
}
|
|
86
|
+
else if (planeContext.mesh instanceof Group) {
|
|
87
|
+
for (const ch of planeContext.mesh.children) {
|
|
88
|
+
if (ch instanceof Mesh) {
|
|
89
|
+
ch.geometry.dispose();
|
|
90
|
+
ch.geometry = geometry;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Update the mesh collider if it exists
|
|
95
|
+
if (planeContext.collider) {
|
|
96
|
+
planeContext.collider.sharedMesh = planeContext.mesh;
|
|
97
|
+
planeContext.collider.convex = true;
|
|
98
|
+
planeContext.collider.onDisable();
|
|
99
|
+
planeContext.collider.onEnable();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const evt = new CustomEvent("plane-tracking", {
|
|
103
|
+
detail: {
|
|
104
|
+
type: "plane-updated",
|
|
105
|
+
context: planeContext
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
this.dispatchEvent(evt);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Otherwise we create a new plane instance
|
|
112
|
+
else {
|
|
113
|
+
// if we don't have any template assigned we just use a simple mesh object
|
|
114
|
+
if (!this.planeTemplate) {
|
|
115
|
+
this.planeTemplate = new Mesh();
|
|
116
|
+
}
|
|
117
|
+
if (this.planeTemplate) {
|
|
118
|
+
// Create instance
|
|
119
|
+
const newPlane = GameObject.instantiate(this.planeTemplate);
|
|
120
|
+
planeMesh = newPlane;
|
|
121
|
+
if (newPlane instanceof Mesh) {
|
|
122
|
+
disposeObjectResources(newPlane.geometry);
|
|
123
|
+
newPlane.geometry = this.createGeometry(plane.polygon);
|
|
124
|
+
}
|
|
125
|
+
const mc = newPlane.getComponent(MeshCollider);
|
|
126
|
+
if (mc) {
|
|
127
|
+
mc.sharedMesh = newPlane;
|
|
128
|
+
mc.convex = true;
|
|
129
|
+
mc.onDisable();
|
|
130
|
+
mc.onEnable();
|
|
131
|
+
}
|
|
132
|
+
// doesn't seem to work as MeshCollider doesn't have a clear way to refresh itself
|
|
133
|
+
// after the geometry has changed
|
|
134
|
+
// newPlane.getComponent(MeshCollider)!.sharedMesh = newPlane as unknown as Mesh;
|
|
135
|
+
newPlane.matrixAutoUpdate = false;
|
|
136
|
+
newPlane.matrixWorldNeedsUpdate = true; // force update of rendering settings and so on
|
|
137
|
+
rig.add(newPlane);
|
|
138
|
+
const planeContext = {
|
|
139
|
+
id: this._planeId++,
|
|
140
|
+
xrPlane: plane,
|
|
141
|
+
timestamp: plane.lastChangedTime,
|
|
142
|
+
mesh: newPlane,
|
|
143
|
+
collider: mc
|
|
144
|
+
};
|
|
145
|
+
this._allPlanes.set(plane, planeContext);
|
|
146
|
+
if (debug)
|
|
147
|
+
console.log("New plane detected, id=" + planeContext.id);
|
|
148
|
+
try {
|
|
149
|
+
const evt = new CustomEvent("plane-tracking", {
|
|
150
|
+
detail: {
|
|
151
|
+
type: "plane-added",
|
|
152
|
+
context: planeContext
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
this.dispatchEvent(evt);
|
|
156
|
+
}
|
|
157
|
+
catch (e) {
|
|
158
|
+
console.error(e);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (planeMesh) {
|
|
163
|
+
if (planePose) {
|
|
164
|
+
planeMesh.visible = true;
|
|
165
|
+
planeMesh.matrix.fromArray(planePose.transform.matrix);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
planeMesh.visible = false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
;
|
|
173
|
+
}
|
|
174
|
+
createGeometry(polygon) {
|
|
175
|
+
const geometry = new BufferGeometry();
|
|
176
|
+
const vertices = [];
|
|
177
|
+
const uvs = [];
|
|
178
|
+
polygon.forEach(point => {
|
|
179
|
+
vertices.push(point.x, point.y, point.z);
|
|
180
|
+
uvs.push(point.x, point.z);
|
|
181
|
+
});
|
|
182
|
+
// get the normal of the plane by using the cross product of B-A and C-A
|
|
183
|
+
const a = new Vector3(vertices[0], vertices[1], vertices[2]);
|
|
184
|
+
const b = new Vector3(vertices[3], vertices[4], vertices[5]);
|
|
185
|
+
const c = new Vector3(vertices[6], vertices[7], vertices[8]);
|
|
186
|
+
const ab = new Vector3();
|
|
187
|
+
const ac = new Vector3();
|
|
188
|
+
ab.subVectors(b, a);
|
|
189
|
+
ac.subVectors(c, a);
|
|
190
|
+
ab.cross(ac);
|
|
191
|
+
ab.normalize();
|
|
192
|
+
const normals = [];
|
|
193
|
+
for (let i = 0; i < vertices.length / 3; i++) {
|
|
194
|
+
normals.push(ab.x, ab.y, ab.z);
|
|
195
|
+
}
|
|
196
|
+
const indices = [];
|
|
197
|
+
for (let i = 2; i < polygon.length; ++i) {
|
|
198
|
+
indices.push(0, i - 1, i);
|
|
199
|
+
}
|
|
200
|
+
geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
|
|
201
|
+
geometry.setAttribute('uv', new BufferAttribute(new Float32Array(uvs), 2));
|
|
202
|
+
geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3));
|
|
203
|
+
geometry.setIndex(indices);
|
|
204
|
+
return geometry;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
__decorate([
|
|
208
|
+
serializable(Object3D)
|
|
209
|
+
], WebXRPlaneTracking.prototype, "planeTemplate", void 0);
|
|
210
|
+
//# sourceMappingURL=WebXRPlaneTracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRPlaneTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRPlaneTracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Object3D } from "three";
|
|
2
|
-
import { getParam } from "
|
|
3
|
-
import { Behaviour } from "
|
|
4
|
-
import { BoxGizmo } from "
|
|
2
|
+
import { getParam } from "../../engine/engine_utils";
|
|
3
|
+
import { Behaviour } from "../Component";
|
|
4
|
+
import { BoxGizmo } from "../Gizmos";
|
|
5
5
|
const debug = getParam("debugrig");
|
|
6
6
|
export class XRRig extends Behaviour {
|
|
7
7
|
awake() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRRig.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRRig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnC,MAAM,OAAO,KAAM,SAAQ,SAAS;IAChC,KAAK;QACD,qCAAqC;QACrC,+BAA+B;QAC/B,IAAI,KAAK,EAAE;YACP,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAiB,CAAC;YAC/C,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK;gBACL,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;CACJ"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Behaviour } from "
|
|
2
|
-
import { NetworkConnection } from "
|
|
1
|
+
import { Behaviour } from "../Component";
|
|
2
|
+
import { NetworkConnection } from "../../engine/engine_networking";
|
|
3
3
|
import { WebXR } from "./WebXR";
|
|
4
4
|
import { Group, Quaternion, Vector3, Vector4 } from "three";
|
|
5
5
|
import { Builder } from "flatbuffers";
|
|
6
|
-
import { VrUserStateBuffer } from "
|
|
6
|
+
import { VrUserStateBuffer } from "../../engine-schemes/vr-user-state-buffer";
|
|
7
7
|
export declare class VRUserState {
|
|
8
8
|
guid: string;
|
|
9
9
|
time: number;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Behaviour, GameObject } from "
|
|
2
|
-
import { RoomEvents, OwnershipModel } from "
|
|
1
|
+
import { Behaviour, GameObject } from "../Component";
|
|
2
|
+
import { RoomEvents, OwnershipModel } from "../../engine/engine_networking";
|
|
3
3
|
import { WebXR, WebXREvent } from "./WebXR";
|
|
4
4
|
import { Quaternion, Vector3, Vector4 } from "three";
|
|
5
|
-
import { getParam } from "
|
|
6
|
-
import { Voip } from "
|
|
5
|
+
import { getParam } from "../../engine/engine_utils";
|
|
6
|
+
import { Voip } from "../Voip";
|
|
7
7
|
import { Builder, Long } from "flatbuffers";
|
|
8
|
-
import { VrUserStateBuffer } from "
|
|
9
|
-
import { Vec3 } from "
|
|
10
|
-
import { registerType } from "
|
|
11
|
-
import { Vec4 } from "
|
|
8
|
+
import { VrUserStateBuffer } from "../../engine-schemes/vr-user-state-buffer";
|
|
9
|
+
import { Vec3 } from "../../engine-schemes/vec3";
|
|
10
|
+
import { registerType } from "../../engine-schemes/schemes";
|
|
11
|
+
import { Vec4 } from "../../engine-schemes/vec4";
|
|
12
12
|
import { WebXRAvatar } from "./WebXRAvatar";
|
|
13
13
|
// for debug GUI
|
|
14
14
|
// import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRSync.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
|