@needle-tools/engine 2.25.0-pre → 2.26.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/needle-engine.d.ts +8 -7
  3. package/dist/needle-engine.js +343 -343
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +15 -15
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine_setup.d.ts +1 -0
  8. package/lib/engine/engine_setup.js +2 -1
  9. package/lib/engine/engine_setup.js.map +1 -1
  10. package/lib/engine-components/AlignmentConstraint.js +16 -3
  11. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  12. package/lib/engine-components/Camera.d.ts +1 -0
  13. package/lib/engine-components/Camera.js +15 -26
  14. package/lib/engine-components/Camera.js.map +1 -1
  15. package/lib/engine-components/Collider.js +6 -0
  16. package/lib/engine-components/Collider.js.map +1 -1
  17. package/lib/engine-components/DropListener.js +1 -1
  18. package/lib/engine-components/DropListener.js.map +1 -1
  19. package/lib/engine-components/OffsetConstraint.d.ts +3 -0
  20. package/lib/engine-components/OffsetConstraint.js +47 -12
  21. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  22. package/lib/engine-components/WebXR.d.ts +2 -0
  23. package/lib/engine-components/WebXR.js +2 -0
  24. package/lib/engine-components/WebXR.js.map +1 -1
  25. package/lib/engine-components/avatar/Avatar_MouthShapes.js +9 -7
  26. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
  27. package/lib/engine-components/codegen/exports.d.ts +0 -1
  28. package/lib/engine-components/codegen/exports.js +0 -1
  29. package/lib/engine-components/codegen/exports.js.map +1 -1
  30. package/lib/engine-components/js-extensions/RGBAColor.d.ts +1 -0
  31. package/lib/engine-components/js-extensions/RGBAColor.js +4 -2
  32. package/lib/engine-components/js-extensions/RGBAColor.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/engine/codegen/register_types.js +0 -2
  35. package/src/engine/engine_setup.ts +2 -1
  36. package/src/engine-components/AlignmentConstraint.ts +9 -6
  37. package/src/engine-components/Camera.ts +16 -31
  38. package/src/engine-components/Collider.ts +10 -1
  39. package/src/engine-components/DropListener.ts +1 -1
  40. package/src/engine-components/OffsetConstraint.ts +41 -13
  41. package/src/engine-components/WebXR.ts +3 -0
  42. package/src/engine-components/avatar/Avatar_MouthShapes.ts +8 -7
  43. package/src/engine-components/codegen/exports.ts +0 -1
  44. package/src/engine-components/js-extensions/RGBAColor.ts +6 -2
  45. package/lib/engine-components/MeshCollider.d.ts +0 -4
  46. package/lib/engine-components/MeshCollider.js +0 -8
  47. package/lib/engine-components/MeshCollider.js.map +0 -1
  48. package/src/engine-components/MeshCollider.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar_MouthShapes.js","sourceRoot":"","sources":["../../../../engine-components/avatar/Avatar_MouthShapes.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE3C,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAEtC,IAAI,GAAqB,EAAE,CAAC;IAE5B,OAAO,GAAqB,EAAE,CAAC;IAE9B,MAAM,GAAwB,IAAI,CAAC;IACnC,IAAI,GAAgB,IAAI,CAAC;IACzB,mBAAmB,GAAG,CAAC,CAAC;IACxB,iBAAiB,GAAG,CAAC,CAAC;IAE9B,KAAK;QACD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;YAAE,OAAO;QACpD,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,EAAE,EAAE;YACL,IAAI,KAAK;gBAAE,EAAE,GAAG,IAAI,CAAC;SACxB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,UAAU,CAAC,SAAiB;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC5E,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACjD;iBACI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,GAAG,EAAE,EAAE;gBACrF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAEO,mBAAmB,CAAC,GAAqB,EAAE,KAAa;QAC5D,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,aAAa;QACb,IAAG,GAAG,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC;gBAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;aAC1B;SACJ;IACL,CAAC;CAaJ;AArEG;IADC,aAAa,CAAC,QAAQ,CAAC;gDACW;AAEnC;IADC,aAAa,CAAC,QAAQ,CAAC;mDACc"}
1
+ {"version":3,"file":"Avatar_MouthShapes.js","sourceRoot":"","sources":["../../../../engine-components/avatar/Avatar_MouthShapes.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,6 @@ export { Light } from "../Light";
38
38
  export { LODModel } from "../LODGroup";
39
39
  export { LODGroup } from "../LODGroup";
40
40
  export { LookAtConstraint } from "../LookAtConstraint";
41
- export { MeshCollider } from "../MeshCollider";
42
41
  export { NavMesh } from "../NavMesh";
43
42
  export { NavMeshAgent } from "../NavMesh";
44
43
  export { NestedGltf } from "../NestedGltf";
@@ -39,7 +39,6 @@ export { Light } from "../Light";
39
39
  export { LODModel } from "../LODGroup";
40
40
  export { LODGroup } from "../LODGroup";
41
41
  export { LookAtConstraint } from "../LookAtConstraint";
42
- export { MeshCollider } from "../MeshCollider";
43
42
  export { NavMesh } from "../NavMesh";
44
43
  export { NavMeshAgent } from "../NavMesh";
45
44
  export { NestedGltf } from "../NestedGltf";
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../engine-components/codegen/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../engine-components/codegen/exports.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Color } from "three";
2
2
  export declare class RGBAColor extends Color {
3
3
  alpha: number;
4
+ get isRGBAColor(): boolean;
4
5
  constructor(r: number, g: number, b: number, a: number);
5
6
  clone(): this;
6
7
  copy(col: RGBAColor | Color): this;
@@ -2,6 +2,7 @@ import { Mathf } from "../../engine/engine_math";
2
2
  import { Color } from "three";
3
3
  export class RGBAColor extends Color {
4
4
  alpha = 1;
5
+ get isRGBAColor() { return true; }
5
6
  constructor(r, g, b, a) {
6
7
  super(r, g, b);
7
8
  this.alpha = a;
@@ -13,9 +14,10 @@ export class RGBAColor extends Color {
13
14
  }
14
15
  copy(col) {
15
16
  super.copy(col);
16
- if ("alpha" in col && typeof col.alpha === "number")
17
+ if ("alpha" in col && typeof col.alpha === "number") {
17
18
  this.alpha = col.alpha;
18
- if (typeof col["a"] === "number")
19
+ }
20
+ else if (typeof col["a"] === "number")
19
21
  this.alpha = col["a"];
20
22
  return this;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RGBAColor.js","sourceRoot":"","sources":["../../../../engine-components/js-extensions/RGBAColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,KAAK,GAAW,CAAC,CAAC;IAElB,YAAY,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QAClD,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAuB;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,IAAG,OAAO,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3E,IAAG,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAY,EAAE,KAAa;QAC5B,MAAM,IAAI,GAAG,KAAkB,CAAC;QAChC,IAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,KAAY;QACjB,MAAM,IAAI,GAAG,KAAkB,CAAC;QAChC,IAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACJ"}
1
+ {"version":3,"file":"RGBAColor.js","sourceRoot":"","sources":["../../../../engine-components/js-extensions/RGBAColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,KAAK,GAAW,CAAC,CAAC;IAElB,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAElC,YAAY,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QAClD,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAuB;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,IAAG,OAAO,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;YAChD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;SAC1B;aACI,IAAG,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAY,EAAE,KAAa;QAC5B,MAAM,IAAI,GAAG,KAAkB,CAAC;QAChC,IAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,KAAY;QACjB,MAAM,IAAI,GAAG,KAAkB,CAAC;QAChC,IAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "2.25.0-pre",
3
+ "version": "2.26.0-pre",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible, and collaboration and XR come naturally.",
5
5
  "main": "dist/needle-engine.js",
6
6
  "module": "lib/needle-engine.js",
@@ -41,7 +41,6 @@ import { Light } from "../../engine-components/Light.ts";
41
41
  import { LODModel } from "../../engine-components/LODGroup.ts";
42
42
  import { LODGroup } from "../../engine-components/LODGroup.ts";
43
43
  import { LookAtConstraint } from "../../engine-components/LookAtConstraint.ts";
44
- import { MeshCollider } from "../../engine-components/MeshCollider.ts";
45
44
  import { NavMesh } from "../../engine-components/NavMesh.ts";
46
45
  import { NavMeshAgent } from "../../engine-components/NavMesh.ts";
47
46
  import { NestedGltf } from "../../engine-components/NestedGltf.ts";
@@ -189,7 +188,6 @@ TypeStore.add("Light", Light);
189
188
  TypeStore.add("LODModel", LODModel);
190
189
  TypeStore.add("LODGroup", LODGroup);
191
190
  TypeStore.add("LookAtConstraint", LookAtConstraint);
192
- TypeStore.add("MeshCollider", MeshCollider);
193
191
  TypeStore.add("NavMesh", NavMesh);
194
192
  TypeStore.add("NavMeshAgent", NavMeshAgent);
195
193
  TypeStore.add("NestedGltf", NestedGltf);
@@ -94,7 +94,8 @@ export class Context {
94
94
  get domHeight(): number { return this.domElement.clientHeight; }
95
95
  get domX(): number { return this.domElement.offsetLeft; }
96
96
  get domY(): number { return this.domElement.offsetTop; }
97
- get isInXR() { return this.renderer.xr.isPresenting; }
97
+ get isInXR() { return this.renderer.xr?.isPresenting || false; }
98
+ get xrSession() { return this.renderer.xr?.getSession(); }
98
99
  get AROverlayElement(): HTMLElement {
99
100
  const el = this.domElement as any;
100
101
  if (typeof el.getAROverlayContainer === "function")
@@ -1,18 +1,21 @@
1
1
  import { Behaviour, GameObject } from "./Component";
2
2
  import * as utils from "./../engine/engine_three_utils";
3
- import * as THREE from "three";
3
+ import { Vector3 } from "three";
4
+ import { serializeable } from "../engine/engine_serialization_decorator";
4
5
 
5
6
  export class AlignmentConstraint extends Behaviour {
6
7
 
7
- private from!: GameObject;
8
- private to!: GameObject;
8
+ @serializeable(GameObject)
9
+ private from: GameObject | undefined;
10
+ @serializeable(GameObject)
11
+ private to: GameObject | undefined;
12
+
9
13
  private width: number = 0;
10
14
  private centered: boolean = true;
11
-
12
- private _centerPos!: THREE.Vector3;
15
+ private _centerPos!: Vector3;
13
16
 
14
17
  awake(): void {
15
- this._centerPos = new THREE.Vector3();
18
+ this._centerPos = new Vector3();
16
19
  }
17
20
 
18
21
  update() {
@@ -16,8 +16,8 @@ const debug = getParam("debugcam");
16
16
 
17
17
  export class Camera extends Behaviour {
18
18
 
19
- get aspect() : number {
20
- if(this._cam instanceof PerspectiveCamera) return this._cam.aspect;
19
+ get aspect(): number {
20
+ if (this._cam instanceof PerspectiveCamera) return this._cam.aspect;
21
21
  return (this.context.domWidth / this.context.domHeight);
22
22
  }
23
23
 
@@ -61,6 +61,7 @@ export class Camera extends Behaviour {
61
61
  return this._clearFlags;
62
62
  }
63
63
  public set clearFlags(val: ClearFlags) {
64
+ if (val === this._clearFlags) return;
64
65
  this._clearFlags = val;
65
66
  this.applyClearFlagsIfIsActiveCamera();
66
67
  }
@@ -155,30 +156,6 @@ export class Camera extends Behaviour {
155
156
  if (this.tag == "MainCamera") {
156
157
  this.context.setCurrentCamera(this);
157
158
  }
158
- // if (!cameraAlreadyCreated)
159
- // this.gameObject.add(cam);
160
-
161
- // if (!cameraAlreadyCreated) {
162
- // const notInGltf = this["__notInGltf"];
163
- // if ((notInGltf !== undefined)) {
164
- // this.gameObject.getWorldPosition(cam.position);
165
- // this.gameObject.getWorldQuaternion(cam.quaternion);
166
- // const t = new THREE.Euler();
167
- // t.setFromQuaternion(cam.quaternion);
168
- // t.y += Math.PI;
169
- // t.z *= -1;
170
- // cam.rotation.copy(t);
171
- // }
172
- // else {
173
- // cam.position.copy(this.gameObject.position);
174
- // cam.rotation.copy(this.gameObject.rotation);
175
- // }
176
-
177
- // // cam.rotateX(Math.PI / -2);
178
-
179
- // this.gameObject.position.set(0, 0, 0);
180
- // this.gameObject.rotation.set(0, 0, 0);
181
- // }
182
159
  }
183
160
 
184
161
  applyClearFlagsIfIsActiveCamera() {
@@ -186,7 +163,7 @@ export class Camera extends Behaviour {
186
163
  if (this._cam && this.context.mainCameraComponent === this) {
187
164
  switch (this._clearFlags) {
188
165
  case ClearFlags.Skybox:
189
- if (this.context.isInXR) {
166
+ if (this.environmentIsTransparent()) {
190
167
  if (!this.ARBackgroundAlpha || this.ARBackgroundAlpha < 0.001) {
191
168
  this.context.scene.background = null;
192
169
  this.context.renderer.setClearColor(0x000000, 0);
@@ -196,14 +173,14 @@ export class Camera extends Behaviour {
196
173
  this.enableSkybox();
197
174
  break;
198
175
  case ClearFlags.SolidColor:
199
- if (this.backgroundColor) {
200
- let alpha = this.backgroundColor.alpha;
176
+ if (this._backgroundColor) {
177
+ let alpha = this._backgroundColor.alpha;
201
178
  // when in WebXR use ar background alpha override or set to 0
202
- if (this.context.isInXR) {
179
+ if (this.environmentIsTransparent()) {
203
180
  alpha = this.ARBackgroundAlpha ?? 0;
204
181
  }
205
182
  this.context.scene.background = null;
206
- this.context.renderer.setClearColor(this.backgroundColor, alpha);
183
+ this.context.renderer.setClearColor(this._backgroundColor, alpha);
207
184
  }
208
185
  break;
209
186
  case ClearFlags.Uninitialized:
@@ -214,6 +191,14 @@ export class Camera extends Behaviour {
214
191
  }
215
192
  }
216
193
 
194
+ private environmentIsTransparent(): boolean {
195
+ const session = this.context.renderer.xr?.getSession()
196
+ if (!session) return false;
197
+ const environmentBlendMode = session.environmentBlendMode;
198
+ const transparent = environmentBlendMode === 'additive' || environmentBlendMode === 'alpha-blend';
199
+ return transparent;
200
+ }
201
+
217
202
  private enableSkybox() {
218
203
  if (!this._skybox)
219
204
  this._skybox = new CameraSkybox(this);
@@ -69,4 +69,13 @@ export class BoxCollider extends Collider {
69
69
  // // this.context.physics.removeShape(this.gameObject, this._shape);
70
70
  // // }
71
71
  // }
72
- }
72
+ }
73
+
74
+
75
+ // export class MeshCollider extends Collider {
76
+
77
+ // onEnable() {
78
+ // if (this.enabled)
79
+ // this.context.physics.addMeshCollider(this.gameObject);
80
+ // }
81
+ // }
@@ -96,6 +96,6 @@ export class DropListener extends Behaviour {
96
96
  }
97
97
  }
98
98
  this.gameObject.add(obj);
99
- this.dispatchEvent(new CustomEvent(DropListenerEvents.ObjectAdded, { detail: obj }));
99
+ this.dispatchEvent(new CustomEvent(DropListenerEvents.ObjectAdded, { detail: gltf }));
100
100
  }
101
101
  }
@@ -1,30 +1,58 @@
1
1
  import { Behaviour, GameObject } from "./Component";
2
2
  import * as utils from "./../engine/engine_three_utils";
3
- import * as THREE from "three";
3
+ import { Quaternion, Euler, Vector3, Plane } from "three";
4
+ import { serializeable } from "../engine/engine_serialization_decorator";
4
5
 
5
6
  export class OffsetConstraint extends Behaviour {
6
7
 
7
- private from!: GameObject;
8
- private affectPosition!: boolean;
9
- private affectRotation!: boolean;
10
- private alignLookDirection!: boolean;
11
- private levelLookDirection!: boolean;
12
- private positionOffset!: THREE.Vector3;
13
- private rotationOffset!: THREE.Vector3;
8
+ @serializeable(GameObject)
9
+ private referenceSpace: GameObject | undefined;
10
+
11
+ @serializeable(GameObject)
12
+ private from: GameObject | undefined;
13
+
14
+ private affectPosition: boolean = false;
15
+ private affectRotation: boolean = false;
16
+ private alignLookDirection: boolean = false;
17
+ private levelLookDirection: boolean = false;
18
+ private levelPosition: boolean = false;
19
+
20
+ @serializeable(Vector3)
21
+ private positionOffset: Vector3 = new Vector3(0,0,0);
22
+ @serializeable(Vector3)
23
+ private rotationOffset: Vector3 = new Vector3(0,0,0);
24
+
25
+ private offset: Vector3 = new Vector3(0,0,0);
14
26
 
15
27
  update() {
16
28
  if (!this.from) return;
17
29
 
18
30
  var pos = utils.getWorldPosition(this.from);
19
- var rot: THREE.Quaternion = utils.getWorldQuaternion(this.from);
31
+ var rot: Quaternion = utils.getWorldQuaternion(this.from);
20
32
 
21
- if(this.affectPosition) utils.setWorldPosition(this.gameObject, pos.add(this.positionOffset));
33
+ this.offset.copy(this.positionOffset);
34
+ const l = this.offset.length();
35
+ if (this.referenceSpace)
36
+ this.offset.transformDirection(this.referenceSpace.matrixWorld).multiplyScalar(l);
37
+
38
+ pos.add(this.offset);
39
+
40
+ if (this.levelPosition && this.referenceSpace) {
41
+ const plane = new Plane(this.gameObject.up, 0);
42
+ const refSpacePoint = utils.getWorldPosition(this.referenceSpace);
43
+ plane.setFromNormalAndCoplanarPoint(this.gameObject.up, refSpacePoint);
44
+ const v2 = new Vector3(0,0,0);
45
+ plane.projectPoint(pos, v2);
46
+ pos.copy(v2);
47
+ }
48
+
49
+ if (this.affectPosition) utils.setWorldPosition(this.gameObject, pos);
22
50
 
23
- const euler = new THREE.Euler(this.rotationOffset.x, this.rotationOffset.y, this.rotationOffset.z);
24
- const quat = new THREE.Quaternion().setFromEuler(euler);
51
+ const euler = new Euler(this.rotationOffset.x, this.rotationOffset.y, this.rotationOffset.z);
52
+ const quat = new Quaternion().setFromEuler(euler);
25
53
  if(this.affectRotation) utils.setWorldQuaternion(this.gameObject, rot.multiply(quat));
26
54
 
27
- let lookDirection = new THREE.Vector3();
55
+ let lookDirection = new Vector3();
28
56
  this.from.getWorldDirection(lookDirection).multiplyScalar(50);
29
57
  if (this.levelLookDirection) lookDirection.y = 0;
30
58
  if (this.alignLookDirection) this.gameObject.lookAt(lookDirection);
@@ -149,6 +149,9 @@ export class WebXR extends Behaviour {
149
149
  return this._vrButton;
150
150
  }
151
151
 
152
+ public get IsInVR() { return this._isInVR; }
153
+ public get IsInAR() { return this._isInAR; }
154
+
152
155
  private rig!: THREE.Object3D;
153
156
  private isInit: boolean = false;
154
157
 
@@ -19,8 +19,10 @@ export class Avatar_MouthShapes extends Behaviour {
19
19
  private mouthChangeLength = 0;
20
20
 
21
21
  awake(): void {
22
- this.voip = GameObject.findObjectOfType(Voip, this.context);
23
- console.log(this);
22
+ setTimeout(()=>{
23
+ this.voip = GameObject.findObjectOfType(Voip, this.context);
24
+ if (!this.marker) this.marker = GameObject.getComponentInParent(this.gameObject, AvatarMarker);
25
+ }, 3000)
24
26
  }
25
27
 
26
28
  update(): void {
@@ -29,16 +31,16 @@ export class Avatar_MouthShapes extends Behaviour {
29
31
  let id = this.marker?.connectionId ?? null;
30
32
  if (!id) {
31
33
  if (debug) id = null;
34
+ return;
32
35
  }
33
- const freq = this.voip.getFrequency(id);
34
- if (freq == null) return;
36
+ const freq = this.voip.getFrequency(id) ?? 0;
35
37
  this.updateLips(freq);
36
38
  }
37
39
 
38
40
  private updateLips(frequency: number) {
39
41
  if (this.context.time.time - this.lastMouthChangeTime > this.mouthChangeLength) {
40
42
  this.mouthChangeLength = .05 + Math.random() * .1;
41
- if (this.talking && this.talking.length > 0 && frequency > 50) {
43
+ if (this.talking && this.talking.length > 0 && frequency > 30) {
42
44
  this.lastMouthChangeTime = this.context.time.time;
43
45
  const index = Math.floor(Math.random() * this.talking.length);
44
46
  this.setMouthShapeActive(this.talking, index);
@@ -55,14 +57,13 @@ export class Avatar_MouthShapes extends Behaviour {
55
57
  if (!arr) return;
56
58
 
57
59
  // hide other
58
- if(arr != this.idle) this.idle.map(i => i.visible = false);
60
+ if (arr != this.idle) this.idle.map(i => i.visible = false);
59
61
  else this.talking.map(i => i.visible = false);
60
62
 
61
63
  for (let i = 0; i < arr.length; i++) {
62
64
  const shape = arr[i];
63
65
  if (shape) {
64
66
  shape.visible = i === index;
65
- shape.scale.set(1,1,1);
66
67
  }
67
68
  }
68
69
  }
@@ -39,7 +39,6 @@ export { Light } from "../Light";
39
39
  export { LODModel } from "../LODGroup";
40
40
  export { LODGroup } from "../LODGroup";
41
41
  export { LookAtConstraint } from "../LookAtConstraint";
42
- export { MeshCollider } from "../MeshCollider";
43
42
  export { NavMesh } from "../NavMesh";
44
43
  export { NavMeshAgent } from "../NavMesh";
45
44
  export { NestedGltf } from "../NestedGltf";
@@ -4,6 +4,8 @@ import { Color } from "three";
4
4
  export class RGBAColor extends Color {
5
5
  alpha: number = 1;
6
6
 
7
+ get isRGBAColor() { return true; }
8
+
7
9
  constructor(r: number, g: number, b: number, a: number) {
8
10
  super(r, g, b);
9
11
  this.alpha = a;
@@ -17,8 +19,10 @@ export class RGBAColor extends Color {
17
19
 
18
20
  copy(col : RGBAColor | Color){
19
21
  super.copy(col);
20
- if("alpha" in col && typeof col.alpha === "number") this.alpha = col.alpha;
21
- if(typeof col["a"] === "number") this.alpha = col["a"];
22
+ if("alpha" in col && typeof col.alpha === "number") {
23
+ this.alpha = col.alpha;
24
+ }
25
+ else if(typeof col["a"] === "number") this.alpha = col["a"];
22
26
  return this;
23
27
  }
24
28
 
@@ -1,4 +0,0 @@
1
- import { Behaviour } from "./Component";
2
- export declare class MeshCollider extends Behaviour {
3
- onEnable(): void;
4
- }
@@ -1,8 +0,0 @@
1
- import { Behaviour } from "./Component";
2
- export class MeshCollider extends Behaviour {
3
- onEnable() {
4
- if (this.enabled)
5
- this.context.physics.addMeshCollider(this.gameObject);
6
- }
7
- }
8
- //# sourceMappingURL=MeshCollider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MeshCollider.js","sourceRoot":"","sources":["../../../engine-components/MeshCollider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;CACJ"}
@@ -1,12 +0,0 @@
1
-
2
- import { Behaviour } from "./Component";
3
- import { Physics } from '../engine/engine_physics'
4
- import * as THREE from 'three';
5
-
6
- export class MeshCollider extends Behaviour {
7
-
8
- onEnable() {
9
- if (this.enabled)
10
- this.context.physics.addMeshCollider(this.gameObject);
11
- }
12
- }