@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.5-alpha",
|
|
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",
|
package/src/engine/api.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from "./engine_gltf";
|
|
|
18
18
|
export * from "./engine_hot_reload";
|
|
19
19
|
export * from "./engine_gameobject";
|
|
20
20
|
export * from "./engine_networking";
|
|
21
|
+
export * from "./engine_networking_types";
|
|
21
22
|
export { syncField } from "./engine_networking_auto";
|
|
22
23
|
export * from "./engine_networking_files";
|
|
23
24
|
export * from "./engine_networking_instantiate";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypeStore } from "./../engine_typestore"
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
// Import types
|
|
4
4
|
import { __Ignore } from "../../engine-components/codegen/components";
|
|
5
5
|
import { AlignmentConstraint } from "../../engine-components/AlignmentConstraint";
|
|
@@ -10,7 +10,7 @@ import { AnimationTrackHandler } from "../../engine-components/timeline/Timeline
|
|
|
10
10
|
import { Animator } from "../../engine-components/Animator";
|
|
11
11
|
import { AnimatorController } from "../../engine-components/AnimatorController";
|
|
12
12
|
import { Antialiasing } from "../../engine-components/postprocessing/Effects/Antialiasing";
|
|
13
|
-
import { AttachedObject } from "../../engine-components/WebXRController";
|
|
13
|
+
import { AttachedObject } from "../../engine-components/webxr/WebXRController";
|
|
14
14
|
import { AudioListener } from "../../engine-components/AudioListener";
|
|
15
15
|
import { AudioSource } from "../../engine-components/AudioSource";
|
|
16
16
|
import { AudioTrackHandler } from "../../engine-components/timeline/TimelineTracks";
|
|
@@ -21,11 +21,12 @@ import { Avatar_POI } from "../../engine-components/avatar/Avatar_Brain_LookAt";
|
|
|
21
21
|
import { AvatarBlink_Simple } from "../../engine-components/avatar/AvatarBlink_Simple";
|
|
22
22
|
import { AvatarEyeLook_Rotation } from "../../engine-components/avatar/AvatarEyeLook_Rotation";
|
|
23
23
|
import { AvatarLoader } from "../../engine-components/AvatarLoader";
|
|
24
|
-
import { AvatarMarker } from "../../engine-components/WebXRAvatar";
|
|
24
|
+
import { AvatarMarker } from "../../engine-components/webxr/WebXRAvatar";
|
|
25
25
|
import { AvatarModel } from "../../engine-components/AvatarLoader";
|
|
26
26
|
import { AxesHelper } from "../../engine-components/AxesHelper";
|
|
27
27
|
import { BaseUIComponent } from "../../engine-components/ui/BaseUIComponent";
|
|
28
28
|
import { BasicIKConstraint } from "../../engine-components/BasicIKConstraint";
|
|
29
|
+
import { Behaviour } from "../../engine-components/Component";
|
|
29
30
|
import { Bloom } from "../../engine-components/postprocessing/Effects/Bloom";
|
|
30
31
|
import { BoxCollider } from "../../engine-components/Collider";
|
|
31
32
|
import { BoxGizmo } from "../../engine-components/Gizmos";
|
|
@@ -43,6 +44,7 @@ import { Collider } from "../../engine-components/Collider";
|
|
|
43
44
|
import { ColorAdjustments } from "../../engine-components/postprocessing/Effects/ColorAdjustments";
|
|
44
45
|
import { ColorBySpeedModule } from "../../engine-components/ParticleSystemModules";
|
|
45
46
|
import { ColorOverLifetimeModule } from "../../engine-components/ParticleSystemModules";
|
|
47
|
+
import { Component } from "../../engine-components/Component";
|
|
46
48
|
import { ControlTrackHandler } from "../../engine-components/timeline/TimelineTracks";
|
|
47
49
|
import { Deletable } from "../../engine-components/DeleteBox";
|
|
48
50
|
import { DeleteBox } from "../../engine-components/DeleteBox";
|
|
@@ -146,7 +148,7 @@ import { SubEmitterSystem } from "../../engine-components/ParticleSystem";
|
|
|
146
148
|
import { SyncedCamera } from "../../engine-components/SyncedCamera";
|
|
147
149
|
import { SyncedRoom } from "../../engine-components/SyncedRoom";
|
|
148
150
|
import { SyncedTransform } from "../../engine-components/SyncedTransform";
|
|
149
|
-
import { TeleportTarget } from "../../engine-components/WebXRController";
|
|
151
|
+
import { TeleportTarget } from "../../engine-components/webxr/WebXRController";
|
|
150
152
|
import { TestRunner } from "../../engine-components/TestRunner";
|
|
151
153
|
import { TestSimulateUserData } from "../../engine-components/TestRunner";
|
|
152
154
|
import { Text } from "../../engine-components/ui/Text";
|
|
@@ -168,23 +170,24 @@ import { Voip } from "../../engine-components/Voip";
|
|
|
168
170
|
import { Volume } from "../../engine-components/postprocessing/Volume";
|
|
169
171
|
import { VolumeParameter } from "../../engine-components/postprocessing/VolumeParameter";
|
|
170
172
|
import { VolumeProfile } from "../../engine-components/postprocessing/VolumeProfile";
|
|
171
|
-
import { VRUserState } from "../../engine-components/WebXRSync";
|
|
172
|
-
import { WebAR } from "../../engine-components/WebXR";
|
|
173
|
-
import { WebARCameraBackground } from "../../engine-components/WebARCameraBackground";
|
|
174
|
-
import { WebARSessionRoot } from "../../engine-components/WebARSessionRoot";
|
|
175
|
-
import { WebXR } from "../../engine-components/WebXR";
|
|
176
|
-
import { WebXRAvatar } from "../../engine-components/WebXRAvatar";
|
|
177
|
-
import { WebXRController } from "../../engine-components/WebXRController";
|
|
178
|
-
import { WebXRImageTracking } from "../../engine-components/WebXRImageTracking";
|
|
179
|
-
import { WebXRImageTrackingModel } from "../../engine-components/WebXRImageTracking";
|
|
180
|
-
import {
|
|
181
|
-
import {
|
|
173
|
+
import { VRUserState } from "../../engine-components/webxr/WebXRSync";
|
|
174
|
+
import { WebAR } from "../../engine-components/webxr/WebXR";
|
|
175
|
+
import { WebARCameraBackground } from "../../engine-components/webxr/WebARCameraBackground";
|
|
176
|
+
import { WebARSessionRoot } from "../../engine-components/webxr/WebARSessionRoot";
|
|
177
|
+
import { WebXR } from "../../engine-components/webxr/WebXR";
|
|
178
|
+
import { WebXRAvatar } from "../../engine-components/webxr/WebXRAvatar";
|
|
179
|
+
import { WebXRController } from "../../engine-components/webxr/WebXRController";
|
|
180
|
+
import { WebXRImageTracking } from "../../engine-components/webxr/WebXRImageTracking";
|
|
181
|
+
import { WebXRImageTrackingModel } from "../../engine-components/webxr/WebXRImageTracking";
|
|
182
|
+
import { WebXRPlaneTracking } from "../../engine-components/webxr/WebXRPlaneTracking";
|
|
183
|
+
import { WebXRSync } from "../../engine-components/webxr/WebXRSync";
|
|
184
|
+
import { WebXRTrackedImage } from "../../engine-components/webxr/WebXRImageTracking";
|
|
182
185
|
import { XRFlag } from "../../engine-components/XRFlag";
|
|
183
|
-
import { XRGrabModel } from "../../engine-components/WebXRGrabRendering";
|
|
184
|
-
import { XRGrabRendering } from "../../engine-components/WebXRGrabRendering";
|
|
185
|
-
import { XRRig } from "../../engine-components/WebXRRig";
|
|
186
|
+
import { XRGrabModel } from "../../engine-components/webxr/WebXRGrabRendering";
|
|
187
|
+
import { XRGrabRendering } from "../../engine-components/webxr/WebXRGrabRendering";
|
|
188
|
+
import { XRRig } from "../../engine-components/webxr/WebXRRig";
|
|
186
189
|
import { XRState } from "../../engine-components/XRFlag";
|
|
187
|
-
|
|
190
|
+
|
|
188
191
|
// Register types
|
|
189
192
|
TypeStore.add("__Ignore", __Ignore);
|
|
190
193
|
TypeStore.add("AlignmentConstraint", AlignmentConstraint);
|
|
@@ -211,6 +214,7 @@ TypeStore.add("AvatarModel", AvatarModel);
|
|
|
211
214
|
TypeStore.add("AxesHelper", AxesHelper);
|
|
212
215
|
TypeStore.add("BaseUIComponent", BaseUIComponent);
|
|
213
216
|
TypeStore.add("BasicIKConstraint", BasicIKConstraint);
|
|
217
|
+
TypeStore.add("Behaviour", Behaviour);
|
|
214
218
|
TypeStore.add("Bloom", Bloom);
|
|
215
219
|
TypeStore.add("BoxCollider", BoxCollider);
|
|
216
220
|
TypeStore.add("BoxGizmo", BoxGizmo);
|
|
@@ -228,6 +232,7 @@ TypeStore.add("Collider", Collider);
|
|
|
228
232
|
TypeStore.add("ColorAdjustments", ColorAdjustments);
|
|
229
233
|
TypeStore.add("ColorBySpeedModule", ColorBySpeedModule);
|
|
230
234
|
TypeStore.add("ColorOverLifetimeModule", ColorOverLifetimeModule);
|
|
235
|
+
TypeStore.add("Component", Component);
|
|
231
236
|
TypeStore.add("ControlTrackHandler", ControlTrackHandler);
|
|
232
237
|
TypeStore.add("Deletable", Deletable);
|
|
233
238
|
TypeStore.add("DeleteBox", DeleteBox);
|
|
@@ -362,6 +367,7 @@ TypeStore.add("WebXRAvatar", WebXRAvatar);
|
|
|
362
367
|
TypeStore.add("WebXRController", WebXRController);
|
|
363
368
|
TypeStore.add("WebXRImageTracking", WebXRImageTracking);
|
|
364
369
|
TypeStore.add("WebXRImageTrackingModel", WebXRImageTrackingModel);
|
|
370
|
+
TypeStore.add("WebXRPlaneTracking", WebXRPlaneTracking);
|
|
365
371
|
TypeStore.add("WebXRSync", WebXRSync);
|
|
366
372
|
TypeStore.add("WebXRTrackedImage", WebXRTrackedImage);
|
|
367
373
|
TypeStore.add("XRFlag", XRFlag);
|
|
@@ -8,6 +8,8 @@ import { hasProLicense } from "./engine_license";
|
|
|
8
8
|
const debug = getParam("debugloadingbar");
|
|
9
9
|
const debugRendering = getParam("debugloadingbarrendering");
|
|
10
10
|
|
|
11
|
+
declare type LoadingStyleOption = "dark" | "light";
|
|
12
|
+
|
|
11
13
|
export class LoadingElementOptions {
|
|
12
14
|
className?: string;
|
|
13
15
|
additionalClasses?: string[];
|
|
@@ -172,6 +174,10 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
172
174
|
private createLoadingElement(existing?: HTMLElement): HTMLElement {
|
|
173
175
|
if (debug && !existing) console.log("Creating loading element");
|
|
174
176
|
this._loadingElement = existing || document.createElement("div");
|
|
177
|
+
|
|
178
|
+
const loadingStyle: LoadingStyleOption = this._element.getAttribute("loading-style") as LoadingStyleOption;
|
|
179
|
+
console.log(loadingStyle);
|
|
180
|
+
|
|
175
181
|
const hasLicense = hasProLicense();
|
|
176
182
|
if (!existing) {
|
|
177
183
|
this._loadingElement.style.position = "fixed";
|
|
@@ -179,7 +185,10 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
179
185
|
this._loadingElement.style.height = "100%";
|
|
180
186
|
this._loadingElement.style.left = "0";
|
|
181
187
|
this._loadingElement.style.top = "0";
|
|
182
|
-
|
|
188
|
+
if (loadingStyle === "light")
|
|
189
|
+
this._loadingElement.style.backgroundColor = "#ddd";
|
|
190
|
+
else
|
|
191
|
+
this._loadingElement.style.backgroundColor = "#000";
|
|
183
192
|
this._loadingElement.style.display = "flex";
|
|
184
193
|
this._loadingElement.style.alignItems = "center";
|
|
185
194
|
this._loadingElement.style.justifyContent = "center";
|
|
@@ -187,6 +196,10 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
187
196
|
this._loadingElement.style.flexDirection = "column";
|
|
188
197
|
this._loadingElement.style.pointerEvents = "none";
|
|
189
198
|
this._loadingElement.style.color = "white";
|
|
199
|
+
if (loadingStyle === "light")
|
|
200
|
+
this._loadingElement.style.color = "rgba(0,0,0,.8)";
|
|
201
|
+
else
|
|
202
|
+
this._loadingElement.style.color = "rgba(255,255,255,.5)";
|
|
190
203
|
if (hasLicense && this._element) {
|
|
191
204
|
const loadingBackgroundColor = this._element.getAttribute("loading-background-color");
|
|
192
205
|
if (loadingBackgroundColor) {
|
|
@@ -213,7 +226,10 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
213
226
|
loadingBarContainer.style.display = "flex";
|
|
214
227
|
loadingBarContainer.style.width = maxWidth + "%";
|
|
215
228
|
loadingBarContainer.style.height = "2px";
|
|
216
|
-
|
|
229
|
+
if (loadingStyle === "light")
|
|
230
|
+
loadingBarContainer.style.backgroundColor = "rgba(0,0,0,.2)"
|
|
231
|
+
else
|
|
232
|
+
loadingBarContainer.style.backgroundColor = "rgba(255,255,255,.2)"
|
|
217
233
|
// loadingBarContainer.style.alignItems = "center";
|
|
218
234
|
this._loadingElement.appendChild(loadingBarContainer);
|
|
219
235
|
|
|
@@ -244,20 +260,20 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
244
260
|
return Mathf.lerp(maxWidth * .5, 100 - maxWidth * .5, t) + "%";
|
|
245
261
|
}
|
|
246
262
|
this._loadingBar.style.background =
|
|
247
|
-
|
|
263
|
+
`linear-gradient(90deg, #02022B ${getGradientPos(0)}, #0BA398 ${getGradientPos(.4)}, #99CC33 ${getGradientPos(.5)}, #D7DB0A ${getGradientPos(1)})`;
|
|
248
264
|
this._loadingBar.style.backgroundAttachment = "fixed";
|
|
249
265
|
this._loadingBar.style.width = "0%";
|
|
250
266
|
this._loadingBar.style.height = "100%";
|
|
251
|
-
if(hasLicense && this._element){
|
|
267
|
+
if (hasLicense && this._element) {
|
|
252
268
|
const primaryColor = this._element.getAttribute("primary-color");
|
|
253
269
|
const secondaryColor = this._element.getAttribute("secondary-color");
|
|
254
|
-
if(primaryColor && secondaryColor){
|
|
270
|
+
if (primaryColor && secondaryColor) {
|
|
255
271
|
this._loadingBar.style.background = `linear-gradient(90deg, ${primaryColor} ${getGradientPos(0)}, ${secondaryColor} ${getGradientPos(1)})`;
|
|
256
272
|
}
|
|
257
|
-
else if(primaryColor){
|
|
273
|
+
else if (primaryColor) {
|
|
258
274
|
this._loadingBar.style.background = primaryColor;
|
|
259
275
|
}
|
|
260
|
-
else if(secondaryColor){
|
|
276
|
+
else if (secondaryColor) {
|
|
261
277
|
this._loadingBar.style.background = secondaryColor;
|
|
262
278
|
}
|
|
263
279
|
}
|
|
@@ -273,16 +289,15 @@ export class EngineLoadingView implements ILoadingViewHandler {
|
|
|
273
289
|
messageContainer.style.display = "flex";
|
|
274
290
|
messageContainer.style.fontSize = ".8em";
|
|
275
291
|
messageContainer.style.paddingTop = ".5em";
|
|
276
|
-
messageContainer.style.color = "rgba(255,255,255,.5)";
|
|
277
292
|
messageContainer.style.fontWeight = "200";
|
|
278
293
|
messageContainer.style.fontFamily = "Roboto, sans-serif";
|
|
279
294
|
// messageContainer.style.border = "1px solid rgba(255,255,255,.1)";
|
|
280
295
|
messageContainer.style.justifyContent = "center";
|
|
281
296
|
this._loadingElement.appendChild(messageContainer);
|
|
282
297
|
|
|
283
|
-
if(hasLicense && this._element){
|
|
298
|
+
if (hasLicense && this._element) {
|
|
284
299
|
const loadingTextColor = this._element.getAttribute("loading-text-color");
|
|
285
|
-
if(loadingTextColor){
|
|
300
|
+
if (loadingTextColor) {
|
|
286
301
|
messageContainer.style.color = loadingTextColor;
|
|
287
302
|
}
|
|
288
303
|
}
|
|
@@ -121,8 +121,8 @@ class ComponentPropertiesSyncer {
|
|
|
121
121
|
this._isReceiving = true;
|
|
122
122
|
for (const key in val) {
|
|
123
123
|
if (key === "guid") continue;
|
|
124
|
+
// TODO: maybe use serializable here?!
|
|
124
125
|
const value = val[key];
|
|
125
|
-
// console.log("SET", key, value, this.comp.guid, this.comp);
|
|
126
126
|
this.comp[key] = value;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
@@ -4,7 +4,7 @@ import { IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointe
|
|
|
4
4
|
import { Context } from "../engine/engine_setup";
|
|
5
5
|
import { Interactable, UsageMarker } from "./Interactable";
|
|
6
6
|
import { Rigidbody } from "./RigidBody";
|
|
7
|
-
import { WebXR } from "./WebXR";
|
|
7
|
+
import { WebXR } from "./webxr/WebXR";
|
|
8
8
|
import { Avatar_POI } from "./avatar/Avatar_Brain_LookAt";
|
|
9
9
|
import { RaycastOptions } from "../engine/engine_physics";
|
|
10
10
|
import { getWorldPosition, setWorldPosition } from "../engine/engine_three_utils";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Behaviour, GameObject } from "./Component";
|
|
2
|
-
import { WebXRController, ControllerEvents } from "./WebXRController";
|
|
2
|
+
import { WebXRController, ControllerEvents } from "./webxr/WebXRController";
|
|
3
3
|
import { DragControls, DragEvents } from "./DragControls";
|
|
4
4
|
import { Interactable } from "./Interactable";
|
|
5
5
|
import { Animation } from "./Animation";
|
|
@@ -5,8 +5,8 @@ import { setWorldPositionXYZ } from "../engine/engine_three_utils";
|
|
|
5
5
|
import { FrameEvent } from "../engine/engine_setup";
|
|
6
6
|
import { serializable } from "../engine/engine_serialization_decorator";
|
|
7
7
|
import { Color, DirectionalLight, OrthographicCamera } from "three";
|
|
8
|
-
import { WebXR, WebXREvent } from "./WebXR";
|
|
9
|
-
import { WebARSessionRoot } from "./WebARSessionRoot";
|
|
8
|
+
import { WebXR, WebXREvent } from "./webxr/WebXR";
|
|
9
|
+
import { WebARSessionRoot } from "./webxr/WebARSessionRoot";
|
|
10
10
|
import { ILight } from "../engine/engine_types";
|
|
11
11
|
import { Mathf } from "../engine/engine_math";
|
|
12
12
|
import { isLocalNetwork } from "../engine/engine_networking_utils";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RoomEvents } from "../engine/engine_networking";
|
|
2
2
|
import { Behaviour, GameObject } from "./Component";
|
|
3
3
|
import * as THREE from "three";
|
|
4
|
-
import { AvatarMarker } from "./WebXRAvatar";
|
|
4
|
+
import { AvatarMarker } from "./webxr/WebXRAvatar";
|
|
5
5
|
import { WaitForSeconds } from "../engine/engine_coroutine";
|
|
6
6
|
|
|
7
7
|
|
|
@@ -7,6 +7,7 @@ import { serializable } from "../engine/engine_serialization_decorator";
|
|
|
7
7
|
enum ShadowMode {
|
|
8
8
|
ShadowMask = 0,
|
|
9
9
|
Additive = 1,
|
|
10
|
+
Occluder = 2,
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export class ShadowCatcher extends Behaviour {
|
|
@@ -28,6 +29,9 @@ export class ShadowCatcher extends Behaviour {
|
|
|
28
29
|
case ShadowMode.Additive:
|
|
29
30
|
this.applyLightBlendMaterial();
|
|
30
31
|
break;
|
|
32
|
+
case ShadowMode.Occluder:
|
|
33
|
+
this.applyOccluderMaterial();
|
|
34
|
+
break;
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
}
|
|
@@ -88,6 +92,17 @@ export class ShadowCatcher extends Behaviour {
|
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
|
|
95
|
+
applyOccluderMaterial() {
|
|
96
|
+
const renderer = GameObject.getComponent(this.gameObject, Renderer);
|
|
97
|
+
if (renderer) {
|
|
98
|
+
const material = renderer.sharedMaterial;
|
|
99
|
+
material.depthWrite = true;
|
|
100
|
+
material.stencilWrite = true;
|
|
101
|
+
material.colorWrite = false;
|
|
102
|
+
this.gameObject.renderOrder = -100;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
91
106
|
private applyMaterialOptions(material: Material) {
|
|
92
107
|
if (material) {
|
|
93
108
|
material.depthWrite = false;
|
|
@@ -2,8 +2,8 @@ import { Behaviour, Component, GameObject } from "./Component";
|
|
|
2
2
|
import { Camera } from "./Camera";
|
|
3
3
|
import * as THREE from "three";
|
|
4
4
|
import { OrbitControls } from "./OrbitControls";
|
|
5
|
-
import { WebXR, WebXREvent } from "./WebXR";
|
|
6
|
-
import { AvatarMarker } from "./WebXRAvatar";
|
|
5
|
+
import { WebXR, WebXREvent } from "./webxr/WebXR";
|
|
6
|
+
import { AvatarMarker } from "./webxr/WebXRAvatar";
|
|
7
7
|
import { XRStateFlag } from "./XRFlag";
|
|
8
8
|
import { SmoothFollow } from "./SmoothFollow";
|
|
9
9
|
import { Object3D } from "three";
|
|
@@ -2,7 +2,7 @@ import { NetworkConnection } from "../engine/engine_networking";
|
|
|
2
2
|
import { Behaviour, GameObject } from "./Component";
|
|
3
3
|
import { Camera } from "./Camera";
|
|
4
4
|
import * as utils from "../engine/engine_three_utils"
|
|
5
|
-
import { WebXR } from "./WebXR";
|
|
5
|
+
import { WebXR } from "./webxr/WebXR";
|
|
6
6
|
import { Builder } from "flatbuffers";
|
|
7
7
|
import { SyncedCameraModel } from "../engine-schemes/synced-camera-model";
|
|
8
8
|
import { Vec3 } from "../engine-schemes/vec3";
|
|
@@ -10,7 +10,7 @@ import { registerType } from "../engine-schemes/schemes";
|
|
|
10
10
|
import { InstancingUtil } from "../engine/engine_instancing";
|
|
11
11
|
import { serializable } from "../engine/engine_serialization_decorator";
|
|
12
12
|
import { Object3D } from "three";
|
|
13
|
-
import { AvatarMarker } from "./WebXRAvatar";
|
|
13
|
+
import { AvatarMarker } from "./webxr/WebXRAvatar";
|
|
14
14
|
import { AssetReference } from "../engine/engine_addressables";
|
|
15
15
|
import { ViewDevice } from "../engine/engine_playerview";
|
|
16
16
|
import { InstantiateOptions } from "../engine/engine_gameobject";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { TypeStore } from "../../engine/engine_typestore";
|
|
3
3
|
import { Behaviour, GameObject } from "../Component";
|
|
4
|
-
import { AvatarMarker } from "../WebXRAvatar";
|
|
4
|
+
import { AvatarMarker } from "../webxr/WebXRAvatar";
|
|
5
5
|
import * as utils from "../../engine/engine_three_utils";
|
|
6
6
|
import { OwnershipModel } from "../../engine/engine_networking";
|
|
7
7
|
import { Int8BufferAttribute } from "three";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Behaviour, GameObject } from "../Component";
|
|
2
2
|
import { Voip } from "../Voip";
|
|
3
|
-
import { AvatarMarker } from "../WebXRAvatar";
|
|
3
|
+
import { AvatarMarker } from "../webxr/WebXRAvatar";
|
|
4
4
|
import * as utils from "../../engine/engine_utils";
|
|
5
5
|
import { Object3D } from "three";
|
|
6
6
|
import { serializable } from "../../engine/engine_serialization_decorator";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Behaviour, GameObject } from "../Component";
|
|
2
2
|
import { Voip } from "../Voip";
|
|
3
|
-
import { AvatarMarker } from "../WebXRAvatar";
|
|
3
|
+
import { AvatarMarker } from "../webxr/WebXRAvatar";
|
|
4
4
|
|
|
5
5
|
export class Avatar_MustacheShake extends Behaviour {
|
|
6
6
|
private voip: Voip | null = null;
|
|
@@ -8,7 +8,7 @@ export { AnimationTrackHandler } from "../timeline/TimelineTracks";
|
|
|
8
8
|
export { Animator } from "../Animator";
|
|
9
9
|
export { AnimatorController } from "../AnimatorController";
|
|
10
10
|
export { Antialiasing } from "../postprocessing/Effects/Antialiasing";
|
|
11
|
-
export { AttachedObject } from "../WebXRController";
|
|
11
|
+
export { AttachedObject } from "../webxr/WebXRController";
|
|
12
12
|
export { AudioListener } from "../AudioListener";
|
|
13
13
|
export { AudioSource } from "../AudioSource";
|
|
14
14
|
export { AudioTrackHandler } from "../timeline/TimelineTracks";
|
|
@@ -19,11 +19,12 @@ export { Avatar_POI } from "../avatar/Avatar_Brain_LookAt";
|
|
|
19
19
|
export { AvatarBlink_Simple } from "../avatar/AvatarBlink_Simple";
|
|
20
20
|
export { AvatarEyeLook_Rotation } from "../avatar/AvatarEyeLook_Rotation";
|
|
21
21
|
export { AvatarLoader } from "../AvatarLoader";
|
|
22
|
-
export { AvatarMarker } from "../WebXRAvatar";
|
|
22
|
+
export { AvatarMarker } from "../webxr/WebXRAvatar";
|
|
23
23
|
export { AvatarModel } from "../AvatarLoader";
|
|
24
24
|
export { AxesHelper } from "../AxesHelper";
|
|
25
25
|
export { BaseUIComponent } from "../ui/BaseUIComponent";
|
|
26
26
|
export { BasicIKConstraint } from "../BasicIKConstraint";
|
|
27
|
+
export { Behaviour } from "../Component";
|
|
27
28
|
export { Bloom } from "../postprocessing/Effects/Bloom";
|
|
28
29
|
export { BoxCollider } from "../Collider";
|
|
29
30
|
export { BoxGizmo } from "../Gizmos";
|
|
@@ -41,6 +42,7 @@ export { Collider } from "../Collider";
|
|
|
41
42
|
export { ColorAdjustments } from "../postprocessing/Effects/ColorAdjustments";
|
|
42
43
|
export { ColorBySpeedModule } from "../ParticleSystemModules";
|
|
43
44
|
export { ColorOverLifetimeModule } from "../ParticleSystemModules";
|
|
45
|
+
export { Component } from "../Component";
|
|
44
46
|
export { ControlTrackHandler } from "../timeline/TimelineTracks";
|
|
45
47
|
export { Deletable } from "../DeleteBox";
|
|
46
48
|
export { DeleteBox } from "../DeleteBox";
|
|
@@ -141,7 +143,7 @@ export { SubEmitterSystem } from "../ParticleSystem";
|
|
|
141
143
|
export { SyncedCamera } from "../SyncedCamera";
|
|
142
144
|
export { SyncedRoom } from "../SyncedRoom";
|
|
143
145
|
export { SyncedTransform } from "../SyncedTransform";
|
|
144
|
-
export { TeleportTarget } from "../WebXRController";
|
|
146
|
+
export { TeleportTarget } from "../webxr/WebXRController";
|
|
145
147
|
export { TestRunner } from "../TestRunner";
|
|
146
148
|
export { TestSimulateUserData } from "../TestRunner";
|
|
147
149
|
export { Text } from "../ui/Text";
|
|
@@ -163,19 +165,20 @@ export { Voip } from "../Voip";
|
|
|
163
165
|
export { Volume } from "../postprocessing/Volume";
|
|
164
166
|
export { VolumeParameter } from "../postprocessing/VolumeParameter";
|
|
165
167
|
export { VolumeProfile } from "../postprocessing/VolumeProfile";
|
|
166
|
-
export { VRUserState } from "../WebXRSync";
|
|
167
|
-
export { WebAR } from "../WebXR";
|
|
168
|
-
export { WebARCameraBackground } from "../WebARCameraBackground";
|
|
169
|
-
export { WebARSessionRoot } from "../WebARSessionRoot";
|
|
170
|
-
export { WebXR } from "../WebXR";
|
|
171
|
-
export { WebXRAvatar } from "../WebXRAvatar";
|
|
172
|
-
export { WebXRController } from "../WebXRController";
|
|
173
|
-
export { WebXRImageTracking } from "../WebXRImageTracking";
|
|
174
|
-
export { WebXRImageTrackingModel } from "../WebXRImageTracking";
|
|
175
|
-
export {
|
|
176
|
-
export {
|
|
168
|
+
export { VRUserState } from "../webxr/WebXRSync";
|
|
169
|
+
export { WebAR } from "../webxr/WebXR";
|
|
170
|
+
export { WebARCameraBackground } from "../webxr/WebARCameraBackground";
|
|
171
|
+
export { WebARSessionRoot } from "../webxr/WebARSessionRoot";
|
|
172
|
+
export { WebXR } from "../webxr/WebXR";
|
|
173
|
+
export { WebXRAvatar } from "../webxr/WebXRAvatar";
|
|
174
|
+
export { WebXRController } from "../webxr/WebXRController";
|
|
175
|
+
export { WebXRImageTracking } from "../webxr/WebXRImageTracking";
|
|
176
|
+
export { WebXRImageTrackingModel } from "../webxr/WebXRImageTracking";
|
|
177
|
+
export { WebXRPlaneTracking } from "../webxr/WebXRPlaneTracking";
|
|
178
|
+
export { WebXRSync } from "../webxr/WebXRSync";
|
|
179
|
+
export { WebXRTrackedImage } from "../webxr/WebXRImageTracking";
|
|
177
180
|
export { XRFlag } from "../XRFlag";
|
|
178
|
-
export { XRGrabModel } from "../WebXRGrabRendering";
|
|
179
|
-
export { XRGrabRendering } from "../WebXRGrabRendering";
|
|
180
|
-
export { XRRig } from "../WebXRRig";
|
|
181
|
+
export { XRGrabModel } from "../webxr/WebXRGrabRendering";
|
|
182
|
+
export { XRGrabRendering } from "../webxr/WebXRGrabRendering";
|
|
183
|
+
export { XRRig } from "../webxr/WebXRRig";
|
|
181
184
|
export { XRState } from "../XRFlag";
|
|
@@ -8,11 +8,11 @@ import { getFormattedDate } from "./utils/timeutils";
|
|
|
8
8
|
import { registerAnimatorsImplictly } from "./utils/animationutils";
|
|
9
9
|
import { IUSDZExporterExtension } from "./Extension";
|
|
10
10
|
import { Behaviour, GameObject } from "../../Component";
|
|
11
|
-
import { WebXR } from "../../WebXR"
|
|
11
|
+
import { WebXR } from "../../webxr/WebXR"
|
|
12
12
|
import { serializable } from "../../../engine/engine_serialization";
|
|
13
13
|
import { showBalloonWarning } from "../../../engine/debug/debug";
|
|
14
14
|
import { Context } from "../../../engine/engine_setup";
|
|
15
|
-
import { WebARSessionRoot } from "../../WebARSessionRoot";
|
|
15
|
+
import { WebARSessionRoot } from "../../webxr/WebARSessionRoot";
|
|
16
16
|
|
|
17
17
|
const debug = getParam("debugusdz");
|
|
18
18
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RaycastOptions } from "../../engine/engine_physics";
|
|
2
2
|
import { Behaviour, Component, GameObject } from "../Component";
|
|
3
|
-
import { WebXR } from "../WebXR";
|
|
4
|
-
import { ControllerEvents, WebXRController } from "../WebXRController";
|
|
3
|
+
import { WebXR } from "../webxr/WebXR";
|
|
4
|
+
import { ControllerEvents, WebXRController } from "../webxr/WebXRController";
|
|
5
5
|
import * as ThreeMeshUI from 'three-mesh-ui'
|
|
6
6
|
import { Context } from "../../engine/engine_setup";
|
|
7
7
|
import { OrbitControls } from "../OrbitControls";
|
|
@@ -144,7 +144,8 @@ export class InputField extends Behaviour implements IPointerEventHandler {
|
|
|
144
144
|
if (this.placeholder && (!this.textComponent || this.textComponent.text.length <= 0))
|
|
145
145
|
GameObject.setActive(this.placeholder.gameObject, true);
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
if (InputField.htmlField)
|
|
148
|
+
this.onEndEdit?.invoke(InputField.htmlField.value);
|
|
148
149
|
}
|
|
149
150
|
|
|
150
151
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Behaviour } from "
|
|
2
|
-
import { serializable } from "
|
|
3
|
-
import { RGBAColor } from "../
|
|
4
|
-
import { WebXR } from "
|
|
1
|
+
import { Behaviour } from "../Component";
|
|
2
|
+
import { serializable } from "../../engine/engine_serialization_decorator";
|
|
3
|
+
import { RGBAColor } from "../js-extensions/RGBAColor"
|
|
4
|
+
import { WebXR } from "./WebXR";
|
|
5
5
|
import {
|
|
6
6
|
Camera as ThreeCamera,
|
|
7
7
|
Scene,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Behaviour, GameObject } from "
|
|
1
|
+
import { Behaviour, GameObject } from "../Component";
|
|
2
2
|
import { Matrix4, Object3D } from "three";
|
|
3
3
|
import { WebAR, WebXR } from "./WebXR";
|
|
4
|
-
import { InstancingUtil } from "
|
|
5
|
-
import { serializable } from "
|
|
4
|
+
import { InstancingUtil } from "../../engine/engine_instancing";
|
|
5
|
+
import { serializable } from "../../engine/engine_serialization_decorator";
|
|
6
6
|
|
|
7
7
|
// https://github.com/takahirox/takahirox.github.io/blob/master/js.mmdeditor/examples/js/controls/DeviceOrientationControls.js
|
|
8
8
|
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ArrayCamera, Color, Euler, EventDispatcher, Group, Matrix4, Mesh, MeshBasicMaterial, Object3D, Quaternion, RingGeometry, Texture, Vector3 } from 'three';
|
|
2
|
-
import { ARButton } from '
|
|
3
|
-
import { VRButton } from '
|
|
4
|
-
|
|
5
|
-
import { AssetReference } from "
|
|
6
|
-
import { serializable } from "
|
|
7
|
-
import { XRSessionMode } from "
|
|
8
|
-
import { getWorldPosition, getWorldQuaternion, setWorldPosition, setWorldQuaternion } from "
|
|
9
|
-
import { INeedleEngineComponent } from "
|
|
10
|
-
import { getParam, isMozillaXR, setOrAddParamsToUrl } from "
|
|
11
|
-
|
|
12
|
-
import { Behaviour, GameObject } from "
|
|
13
|
-
import { noVoip } from "
|
|
2
|
+
import { ARButton } from '../../include/three/ARButton.js';
|
|
3
|
+
import { VRButton } from '../../include/three/VRButton.js';
|
|
4
|
+
|
|
5
|
+
import { AssetReference } from "../../engine/engine_addressables";
|
|
6
|
+
import { serializable } from "../../engine/engine_serialization_decorator";
|
|
7
|
+
import { XRSessionMode } from "../../engine/engine_setup";
|
|
8
|
+
import { getWorldPosition, getWorldQuaternion, setWorldPosition, setWorldQuaternion } from "../../engine/engine_three_utils";
|
|
9
|
+
import { INeedleEngineComponent } from "../../engine/engine_types";
|
|
10
|
+
import { getParam, isMozillaXR, setOrAddParamsToUrl } from "../../engine/engine_utils";
|
|
11
|
+
|
|
12
|
+
import { Behaviour, GameObject } from "../Component";
|
|
13
|
+
import { noVoip } from "../Voip";
|
|
14
14
|
import { WebARSessionRoot } from "./WebARSessionRoot";
|
|
15
15
|
import { ControllerType, WebXRController } from "./WebXRController";
|
|
16
16
|
import { XRRig } from "./WebXRRig";
|
|
17
17
|
import { WebXRSync } from "./WebXRSync";
|
|
18
|
-
import { XRFlag, XRState, XRStateFlag } from "
|
|
19
|
-
import { showBalloonWarning } from '
|
|
18
|
+
import { XRFlag, XRState, XRStateFlag } from "../XRFlag";
|
|
19
|
+
import { showBalloonWarning } from '../../engine/debug';
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
export async function detectARSupport() {
|
|
@@ -80,7 +80,7 @@ export class WebXR extends Behaviour {
|
|
|
80
80
|
public static get IsVRSupported(): boolean { return vrSupported; }
|
|
81
81
|
|
|
82
82
|
private static _optionalFeatures_VR: string[] = ['local-floor', 'bounded-floor', 'hand-tracking', 'high-fixed-foveation-level', 'layers'];
|
|
83
|
-
private static _optionalFeatures_AR: string[] = ['
|
|
83
|
+
private static _optionalFeatures_AR: string[] = ['anchors', 'local-floor', 'hand-tracking', 'layers'];
|
|
84
84
|
public static get OptionalFeatures_VR(): string[] { return this._optionalFeatures_VR; }
|
|
85
85
|
public static get OptionalFeatures_AR(): string[] { return this._optionalFeatures_AR; }
|
|
86
86
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Behaviour, GameObject } from "
|
|
1
|
+
import { Behaviour, GameObject } from "../Component";
|
|
2
2
|
import { WebXR } from "./WebXR";
|
|
3
3
|
import { Quaternion, Vector3 } from "three";
|
|
4
|
-
import { AvatarLoader } from "
|
|
5
|
-
import { XRFlag, XRStateFlag } from "
|
|
6
|
-
import { Avatar_POI } from "
|
|
7
|
-
import { Context } from "
|
|
8
|
-
import { AssetReference } from "
|
|
4
|
+
import { AvatarLoader } from "../AvatarLoader";
|
|
5
|
+
import { XRFlag, XRStateFlag } from "../XRFlag";
|
|
6
|
+
import { Avatar_POI } from "../avatar/Avatar_Brain_LookAt";
|
|
7
|
+
import { Context } from "../../engine/engine_setup";
|
|
8
|
+
import { AssetReference } from "../../engine/engine_addressables";
|
|
9
9
|
import { Object3D } from "three";
|
|
10
10
|
import { VRUserState } from "./WebXRSync";
|
|
11
|
-
import { getParam } from "
|
|
12
|
-
import { ViewDevice } from "
|
|
13
|
-
import { InstancingUtil } from "
|
|
11
|
+
import { getParam } from "../../engine/engine_utils";
|
|
12
|
+
import { ViewDevice } from "../../engine/engine_playerview";
|
|
13
|
+
import { InstancingUtil } from "../../engine/engine_instancing";
|
|
14
14
|
|
|
15
15
|
export const debug = getParam("debugavatar");
|
|
16
16
|
|