@needle-tools/engine 2.35.5-pre → 2.36.0-pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/needle-engine.d.ts +160 -110
- package/dist/needle-engine.js +370 -365
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +61 -56
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/debug/debug_overlay.js +12 -1
- package/lib/engine/debug/debug_overlay.js.map +1 -1
- package/lib/engine/engine_element_loading.js +1 -1
- package/lib/engine/engine_element_loading.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +1 -0
- package/lib/engine/engine_gameobject.js +13 -1
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.js +4 -0
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +1 -1
- package/lib/engine/engine_mainloop_utils.js +7 -3
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +29 -28
- package/lib/engine/engine_physics.js +85 -86
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +14 -6
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_setup.js +1 -1
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_time.d.ts +1 -0
- package/lib/engine/engine_time.js +1 -0
- package/lib/engine/engine_time.js.map +1 -1
- package/lib/engine/engine_types.d.ts +1 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_typestore.d.ts +1 -0
- package/lib/engine/engine_typestore.js +1 -0
- package/lib/engine/engine_typestore.js.map +1 -1
- package/lib/engine/engine_utils.js +1 -1
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +5 -0
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +5 -1
- package/lib/engine-components/Animation.js +21 -0
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +1 -0
- package/lib/engine-components/AnimatorController.js +14 -7
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.d.ts +2 -2
- package/lib/engine-components/BoxHelperComponent.js +27 -9
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Component.d.ts +2 -1
- package/lib/engine-components/Component.js +11 -5
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +2 -0
- package/lib/engine-components/GroundProjection.js +18 -6
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +22 -0
- package/lib/engine-components/ReflectionProbe.js +134 -0
- package/lib/engine-components/ReflectionProbe.js.map +1 -0
- package/lib/engine-components/Renderer.d.ts +13 -2
- package/lib/engine-components/Renderer.js +96 -45
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/WebARSessionRoot.d.ts +7 -7
- package/lib/engine-components/WebARSessionRoot.js +7 -7
- package/lib/engine-components/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/WebXR.d.ts +9 -8
- package/lib/engine-components/WebXR.js +40 -24
- package/lib/engine-components/WebXR.js.map +1 -1
- package/lib/engine-components/WebXRAvatar.d.ts +4 -5
- package/lib/engine-components/WebXRAvatar.js +9 -8
- package/lib/engine-components/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/WebXRController.d.ts +21 -21
- package/lib/engine-components/WebXRController.js +79 -63
- package/lib/engine-components/WebXRController.js.map +1 -1
- package/lib/engine-components/WebXRGrabRendering.d.ts +3 -3
- package/lib/engine-components/WebXRGrabRendering.js +2 -2
- package/lib/engine-components/WebXRGrabRendering.js.map +1 -1
- package/lib/engine-components/WebXRSync.d.ts +8 -8
- package/lib/engine-components/WebXRSync.js +15 -15
- package/lib/engine-components/WebXRSync.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +1 -0
- package/lib/engine-components/codegen/components.js +1 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +1 -0
- package/lib/engine-components/ui/EventSystem.js +21 -1
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/codegen/register_types.js +293 -0
- package/src/engine/debug/debug_overlay.ts +9 -2
- package/src/engine/engine_element_loading.ts +1 -1
- package/src/engine/engine_gameobject.ts +17 -4
- package/src/engine/engine_gltf_builtin_components.ts +5 -1
- package/src/engine/engine_mainloop_utils.ts +7 -3
- package/src/engine/engine_physics.ts +130 -130
- package/src/engine/engine_serialization_core.ts +14 -7
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_time.ts +2 -0
- package/src/engine/engine_types.ts +1 -0
- package/src/engine/engine_typestore.ts +2 -0
- package/src/engine/engine_utils.ts +3 -2
- package/src/engine/extensions/EXT_texture_exr.js +1 -1
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +2 -1
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +7 -0
- package/src/engine-components/Animation.ts +16 -1
- package/src/engine-components/AnimatorController.ts +19 -9
- package/src/engine-components/BoxHelperComponent.ts +29 -9
- package/src/engine-components/Component.ts +11 -5
- package/src/engine-components/GroundProjection.ts +22 -7
- package/src/engine-components/ReflectionProbe.ts +141 -0
- package/src/engine-components/Renderer.ts +796 -737
- package/src/engine-components/WebARSessionRoot.ts +16 -16
- package/src/engine-components/WebXR.ts +53 -48
- package/src/engine-components/WebXRAvatar.ts +16 -16
- package/src/engine-components/WebXRController.ts +129 -107
- package/src/engine-components/WebXRGrabRendering.ts +6 -6
- package/src/engine-components/WebXRSync.ts +20 -20
- package/src/engine-components/codegen/components.ts +1 -0
- package/src/engine-components/ui/EventSystem.ts +26 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [2.36.0-pre] - 2022-10-26
|
|
8
|
+
- Add: Expose WebXR hand model path
|
|
9
|
+
- Add: Animation component can now be configured with random time scale and offset
|
|
10
|
+
- Change: allow blocking overlay errors using the ``?noerrors`` query parameter
|
|
11
|
+
- Change: don't use Composer for postprocessing in XR (see [issue](https://github.com/needle-tools/needle-engine-support/issues/101))
|
|
12
|
+
- Change: physics intersections causing NaN's are now reported prominently and physics bodies are removed from physics world as an interim solution, this provides more information about problematic colliders for debugging
|
|
13
|
+
- Fix: bug that caused component events for onEnable and onDisable not being called anymore in some cases
|
|
14
|
+
- Fix: cases where loading overlay using old project template wouldnt be removed/hidden anymore
|
|
15
|
+
- Fix: WebXR hide large hand grab sphere
|
|
16
|
+
- Fix: onPointerUp event not firing using WebXR controllers when grabbing an object for the second time
|
|
17
|
+
- Fix: GroundProjection can now be removed again
|
|
18
|
+
- Fix: Custom shaders exported using builtin RP can now use _Time property
|
|
19
|
+
- Fix: Only create two controllers when in AR on oculus browser
|
|
20
|
+
- Fix: BoxHelperComponent can now handle multi-material objects (groups)
|
|
21
|
+
|
|
22
|
+
## [2.35.6-pre] - 2022-10-24
|
|
23
|
+
- Add: warning balloon when unknown components are detected and have been most likely forgot to be installed, linking to npmdef docs
|
|
24
|
+
- Fix: dont show serialization warning for builtin components where specific fields are not deserialized on purpose (since right now the serializer does not check which fields are actually implemented)
|
|
25
|
+
|
|
7
26
|
## [2.35.5-pre] - 2022-10-24
|
|
8
27
|
- Change: AudioSource exposes ``clip`` field
|
|
9
28
|
- Change: improve error and messaging overlay
|
package/dist/needle-engine.d.ts
CHANGED
|
@@ -102,6 +102,7 @@ declare module "engine/engine_types" {
|
|
|
102
102
|
}
|
|
103
103
|
export interface ISharedMaterials {
|
|
104
104
|
[num: number]: Material;
|
|
105
|
+
get length(): number;
|
|
105
106
|
}
|
|
106
107
|
export interface IRenderer extends IComponent {
|
|
107
108
|
sharedMaterial: Material;
|
|
@@ -199,6 +200,7 @@ declare module "engine/engine_typestore" {
|
|
|
199
200
|
add(key: any, type: any): void;
|
|
200
201
|
get(key: any): any;
|
|
201
202
|
}
|
|
203
|
+
export const $BuiltInTypeFlag: unique symbol;
|
|
202
204
|
export const TypeStore: _TypeStore;
|
|
203
205
|
}
|
|
204
206
|
declare module "engine/extensions/NEEDLE_persistent_assets" {
|
|
@@ -558,7 +560,7 @@ declare module "engine/engine_mainloop_utils" {
|
|
|
558
560
|
export function processStart(context: Context, object?: Object3D): void;
|
|
559
561
|
export function addScriptToArrays(script: any, context: Context): void;
|
|
560
562
|
export function removeScriptFromContext(script: any, context: Context): void;
|
|
561
|
-
export function updateIsActive(): void;
|
|
563
|
+
export function updateIsActive(obj?: Object3D): void;
|
|
562
564
|
export function updateActiveInHierarchyWithoutEventCall(go: THREE.Object3D): void;
|
|
563
565
|
}
|
|
564
566
|
declare module "engine/engine_networking_types" {
|
|
@@ -673,6 +675,7 @@ declare module "engine/engine_gameobject" {
|
|
|
673
675
|
context?: Context | undefined;
|
|
674
676
|
}
|
|
675
677
|
export function isActiveSelf(go: Object3D): boolean;
|
|
678
|
+
export function setActive(go: Object3D, active: boolean, setVisible?: boolean): void;
|
|
676
679
|
export function isActiveInHierarchy(go: Object3D): boolean;
|
|
677
680
|
export function markAsInstancedRendered(go: THREE.Object3D, instanced: boolean): void;
|
|
678
681
|
export function isUsingInstancing(instance: THREE.Object3D): boolean;
|
|
@@ -682,10 +685,11 @@ declare module "engine/engine_gameobject" {
|
|
|
682
685
|
export function instantiate(instance: GameObject | Object3D | null, opts?: InstantiateOptions | null): GameObject | null;
|
|
683
686
|
}
|
|
684
687
|
declare module "engine/engine_physics" {
|
|
685
|
-
import
|
|
686
|
-
import
|
|
688
|
+
import { Body, Constraint } from 'cannon-es';
|
|
689
|
+
import { Camera, Intersection, Layers, Object3D, Ray, Raycaster, Vector2, Vector3 } from 'three';
|
|
687
690
|
import { Context } from "engine/engine_setup";
|
|
688
691
|
import { IGameObject as GameObject, ICollider, IRigidbody as Rigidbody } from "engine/engine_types";
|
|
692
|
+
import { Shape } from 'cannon-es';
|
|
689
693
|
export class BodyOptions {
|
|
690
694
|
mass: number;
|
|
691
695
|
kinematic: boolean;
|
|
@@ -695,27 +699,27 @@ declare module "engine/engine_physics" {
|
|
|
695
699
|
sleepThreshold: number;
|
|
696
700
|
}
|
|
697
701
|
export class RaycastOptions {
|
|
698
|
-
ray:
|
|
699
|
-
cam:
|
|
700
|
-
screenPoint:
|
|
701
|
-
raycaster:
|
|
702
|
-
results: Array<
|
|
703
|
-
targets: Array<
|
|
702
|
+
ray: Ray | undefined;
|
|
703
|
+
cam: Camera | undefined | null;
|
|
704
|
+
screenPoint: Vector2 | undefined;
|
|
705
|
+
raycaster: Raycaster | undefined;
|
|
706
|
+
results: Array<Intersection> | undefined;
|
|
707
|
+
targets: Array<Object3D> | undefined;
|
|
704
708
|
recursive: boolean | undefined;
|
|
705
709
|
minDistance: number | undefined;
|
|
706
710
|
maxDistance: number | undefined;
|
|
707
711
|
lineThreshold: number | undefined;
|
|
708
|
-
layerMask:
|
|
709
|
-
ignore:
|
|
712
|
+
layerMask: Layers | number | undefined;
|
|
713
|
+
ignore: Object3D[] | undefined;
|
|
710
714
|
screenPointFromOffset(ox: number, oy: number): void;
|
|
711
715
|
setMask(mask: number): void;
|
|
712
716
|
static AllLayers: number;
|
|
713
717
|
}
|
|
714
|
-
export class SphereIntersection implements
|
|
718
|
+
export class SphereIntersection implements Intersection {
|
|
715
719
|
distance: number;
|
|
716
|
-
point:
|
|
717
|
-
object:
|
|
718
|
-
constructor(object:
|
|
720
|
+
point: Vector3;
|
|
721
|
+
object: Object3D;
|
|
722
|
+
constructor(object: Object3D, distance: number, point: Vector3);
|
|
719
723
|
}
|
|
720
724
|
export class Physics {
|
|
721
725
|
private readonly raycaster;
|
|
@@ -724,11 +728,11 @@ declare module "engine/engine_physics" {
|
|
|
724
728
|
private readonly defaultThresholds;
|
|
725
729
|
private sphereResults;
|
|
726
730
|
private sphereMask;
|
|
727
|
-
sphereOverlap(spherePos:
|
|
731
|
+
sphereOverlap(spherePos: Vector3, radius: number, traverseChildsAfterHit?: boolean): Array<Intersection>;
|
|
728
732
|
private tempBoundingBox;
|
|
729
733
|
private onSphereOverlap;
|
|
730
|
-
raycastFromRay(ray:
|
|
731
|
-
raycast(options?: RaycastOptions | null): Array<
|
|
734
|
+
raycastFromRay(ray: Ray, options?: RaycastOptions | null): Array<Intersection>;
|
|
735
|
+
raycast(options?: RaycastOptions | null): Array<Intersection>;
|
|
732
736
|
get isUpdating(): boolean;
|
|
733
737
|
private _isUpdatingPhysicsWorld;
|
|
734
738
|
private context;
|
|
@@ -739,16 +743,16 @@ declare module "engine/engine_physics" {
|
|
|
739
743
|
constructor(context: Context);
|
|
740
744
|
addPreStepListener(listener: (evt: any) => void): void;
|
|
741
745
|
addPostStepListener(listener: (evt: any) => void): void;
|
|
742
|
-
addConstraint(constraint:
|
|
743
|
-
setGravity(vec:
|
|
744
|
-
multiplyGravity(vec:
|
|
745
|
-
addBody(go: GameObject, body:
|
|
746
|
-
removeBody(go: GameObject, body:
|
|
747
|
-
removeShape(obj:
|
|
748
|
-
createBody(obj:
|
|
749
|
-
addBoxCollider(obj:
|
|
750
|
-
addSphereCollider(obj:
|
|
751
|
-
addMeshCollider(_obj:
|
|
746
|
+
addConstraint(constraint: Constraint): void;
|
|
747
|
+
setGravity(vec: Vector3): void;
|
|
748
|
+
multiplyGravity(vec: Vector3): void;
|
|
749
|
+
addBody(go: GameObject, body: Body): void;
|
|
750
|
+
removeBody(go: GameObject, body: Body, removeCompletely?: boolean): void;
|
|
751
|
+
removeShape(obj: Object3D, shape: Shape): void;
|
|
752
|
+
createBody(obj: Object3D, settings: BodyOptions): Body;
|
|
753
|
+
addBoxCollider(obj: Object3D, trigger: boolean, center: Vector3, size: Vector3, rb: Rigidbody | null): Shape;
|
|
754
|
+
addSphereCollider(obj: Object3D, center: Vector3, radius: number, rb: Rigidbody | null): Shape;
|
|
755
|
+
addMeshCollider(_obj: Object3D): void;
|
|
752
756
|
private isAlreadyRegistered;
|
|
753
757
|
private readonly tempMat1;
|
|
754
758
|
private readonly tempMat2;
|
|
@@ -766,7 +770,7 @@ declare module "engine/engine_physics" {
|
|
|
766
770
|
private onEndContact;
|
|
767
771
|
}
|
|
768
772
|
export interface IColliderProvider {
|
|
769
|
-
getCollider(obj:
|
|
773
|
+
getCollider(obj: Object3D): ICollider;
|
|
770
774
|
}
|
|
771
775
|
export function registerColliderProvider(prov: IColliderProvider): void;
|
|
772
776
|
}
|
|
@@ -774,6 +778,7 @@ declare module "engine/engine_time" {
|
|
|
774
778
|
export class Time {
|
|
775
779
|
deltaTime: number;
|
|
776
780
|
time: number;
|
|
781
|
+
/** same as frameCount */
|
|
777
782
|
frame: number;
|
|
778
783
|
get realtimeSinceStartup(): number;
|
|
779
784
|
get frameCount(): number;
|
|
@@ -1149,7 +1154,7 @@ declare module "engine-components/Component" {
|
|
|
1149
1154
|
import { InstantiateOptions, HideFlags } from "engine/engine_gameobject";
|
|
1150
1155
|
abstract class GameObject extends THREE.Object3D implements THREE.Object3D, IGameObject {
|
|
1151
1156
|
guid: string | undefined;
|
|
1152
|
-
static setActive(go: THREE.Object3D, active: boolean, processStart?: boolean): void;
|
|
1157
|
+
static setActive(go: THREE.Object3D, active: boolean, processStart?: boolean, setVisible?: boolean): void;
|
|
1153
1158
|
static isActiveSelf(go: THREE.Object3D): boolean;
|
|
1154
1159
|
static isActiveInHierarchy(go: THREE.Object3D): boolean;
|
|
1155
1160
|
static markAsInstancedRendered(go: THREE.Object3D, instanced: boolean): void;
|
|
@@ -1243,6 +1248,7 @@ declare module "engine-components/Component" {
|
|
|
1243
1248
|
protected __didEnable: boolean;
|
|
1244
1249
|
protected __isEnabled: boolean | undefined;
|
|
1245
1250
|
private __destroyed;
|
|
1251
|
+
get __internalDidAwakeAndStart(): boolean;
|
|
1246
1252
|
__internalNewInstanceCreated(): void;
|
|
1247
1253
|
__internalAwake(): void;
|
|
1248
1254
|
__internalStart(): void;
|
|
@@ -1927,6 +1933,7 @@ declare module "engine-components/AnimatorController" {
|
|
|
1927
1933
|
private updateActiveStates;
|
|
1928
1934
|
private setStartTransition;
|
|
1929
1935
|
private evaluateTransitions;
|
|
1936
|
+
private getState;
|
|
1930
1937
|
private transitionTo;
|
|
1931
1938
|
private createAction;
|
|
1932
1939
|
private evaluateCondition;
|
|
@@ -1999,7 +2006,7 @@ declare module "engine-components/Animator" {
|
|
|
1999
2006
|
declare module "engine-components/Animation" {
|
|
2000
2007
|
import { Behaviour } from "engine-components/Component";
|
|
2001
2008
|
import * as THREE from 'three';
|
|
2002
|
-
import { AnimationAction, AnimationClip } from "three";
|
|
2009
|
+
import { AnimationAction, AnimationClip, Vector2 } from "three";
|
|
2003
2010
|
export class PlayOptions {
|
|
2004
2011
|
fadeDuration?: number;
|
|
2005
2012
|
loop?: boolean;
|
|
@@ -2007,10 +2014,14 @@ declare module "engine-components/Animation" {
|
|
|
2007
2014
|
startTime?: number;
|
|
2008
2015
|
endTime?: number;
|
|
2009
2016
|
clampWhenFinished?: boolean;
|
|
2017
|
+
minMaxSpeed?: Vector2;
|
|
2018
|
+
minMaxOffsetNormalized?: Vector2;
|
|
2010
2019
|
}
|
|
2011
2020
|
export class Animation extends Behaviour {
|
|
2012
2021
|
playAutomatically: boolean;
|
|
2013
2022
|
randomStartTime: boolean;
|
|
2023
|
+
minMaxSpeed?: Vector2;
|
|
2024
|
+
minMaxOffsetNormalized?: Vector2;
|
|
2014
2025
|
private _tempAnimationClipBeforeGameObjectExisted;
|
|
2015
2026
|
get clip(): AnimationClip | null;
|
|
2016
2027
|
set clip(val: AnimationClip | null);
|
|
@@ -2503,11 +2514,11 @@ declare module "engine-components/BoxHelperComponent" {
|
|
|
2503
2514
|
import * as THREE from "three";
|
|
2504
2515
|
export class BoxHelperComponent extends Behaviour {
|
|
2505
2516
|
private box;
|
|
2506
|
-
private testBox;
|
|
2517
|
+
private static testBox;
|
|
2507
2518
|
private _lastMatrixUpdateFrame;
|
|
2508
2519
|
private static _position;
|
|
2509
2520
|
private static _size;
|
|
2510
|
-
isInBox(obj: THREE.Object3D): boolean | undefined;
|
|
2521
|
+
isInBox(obj: THREE.Object3D, scaleFactor?: number): boolean | undefined;
|
|
2511
2522
|
intersects(box: THREE.Box3): boolean;
|
|
2512
2523
|
updateBox(force?: boolean): THREE.Box3;
|
|
2513
2524
|
private _helper;
|
|
@@ -2728,6 +2739,36 @@ declare module "engine-components/Voip" {
|
|
|
2728
2739
|
static HasMicrophonePermissions(): Promise<boolean>;
|
|
2729
2740
|
}
|
|
2730
2741
|
}
|
|
2742
|
+
declare module "engine-components/WebARSessionRoot" {
|
|
2743
|
+
import { Behaviour } from "engine-components/Component";
|
|
2744
|
+
import { XRSession } from 'three';
|
|
2745
|
+
import { Matrix4, Object3D, XRPose } from "three";
|
|
2746
|
+
import { WebAR } from "engine-components/WebXR";
|
|
2747
|
+
export class WebARSessionRoot extends Behaviour {
|
|
2748
|
+
webAR: WebAR | null;
|
|
2749
|
+
get rig(): Object3D | undefined;
|
|
2750
|
+
invertForward: boolean;
|
|
2751
|
+
get arScale(): number;
|
|
2752
|
+
set arScale(val: number);
|
|
2753
|
+
private readonly _initalMatrix;
|
|
2754
|
+
private readonly _selectStartFn;
|
|
2755
|
+
private readonly _selectEndFn;
|
|
2756
|
+
start(): void;
|
|
2757
|
+
private _arScale;
|
|
2758
|
+
private _rig;
|
|
2759
|
+
private _startPose;
|
|
2760
|
+
private _placementPose;
|
|
2761
|
+
private _isTouching;
|
|
2762
|
+
private _rigStartPose;
|
|
2763
|
+
onBegin(session: XRSession): void;
|
|
2764
|
+
onUpdate(rig: Object3D | null, _session: XRSession, pose: XRPose | null | undefined): boolean;
|
|
2765
|
+
placeAt(rig: Object3D | null, mat: Matrix4): void;
|
|
2766
|
+
onEnd(rig: Object3D | null, _session: XRSession): void;
|
|
2767
|
+
private onSelectStart;
|
|
2768
|
+
private onSelectEnd;
|
|
2769
|
+
private setScale;
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2731
2772
|
declare module "engine-components/XRFlag" {
|
|
2732
2773
|
import { Behaviour } from "engine-components/Component";
|
|
2733
2774
|
export enum XRStateFlag {
|
|
@@ -2819,23 +2860,23 @@ declare module "engine-components/WebXRSync" {
|
|
|
2819
2860
|
import { Behaviour } from "engine-components/Component";
|
|
2820
2861
|
import { NetworkConnection } from "engine/engine_networking";
|
|
2821
2862
|
import { WebXR } from "engine-components/WebXR";
|
|
2822
|
-
import
|
|
2863
|
+
import { Group, Quaternion, Vector3, Vector4 } from "three";
|
|
2823
2864
|
import { Builder } from "flatbuffers";
|
|
2824
2865
|
import { VrUserStateBuffer } from "engine-schemes/vr-user-state-buffer";
|
|
2825
2866
|
export class VRUserState {
|
|
2826
2867
|
guid: string;
|
|
2827
2868
|
time: number;
|
|
2828
2869
|
avatarId: string;
|
|
2829
|
-
position:
|
|
2830
|
-
rotation:
|
|
2870
|
+
position: Vector3;
|
|
2871
|
+
rotation: Vector4;
|
|
2831
2872
|
scale: number;
|
|
2832
|
-
posLeftHand:
|
|
2833
|
-
posRightHand:
|
|
2834
|
-
rotLeftHand:
|
|
2835
|
-
rotRightHand:
|
|
2873
|
+
posLeftHand: Vector3;
|
|
2874
|
+
posRightHand: Vector3;
|
|
2875
|
+
rotLeftHand: Quaternion;
|
|
2876
|
+
rotRightHand: Quaternion;
|
|
2836
2877
|
constructor(guid: string);
|
|
2837
2878
|
private static invertRotation;
|
|
2838
|
-
update(rig:
|
|
2879
|
+
update(rig: Group, pos: DOMPointReadOnly, rot: DOMPointReadOnly, webXR: WebXR, avatarId: string): void;
|
|
2839
2880
|
private static quat0;
|
|
2840
2881
|
private static quat1;
|
|
2841
2882
|
sendAsBuffer(builder: Builder, net: NetworkConnection): void;
|
|
@@ -2874,7 +2915,6 @@ declare module "engine-components/WebXRSync" {
|
|
|
2874
2915
|
declare module "engine-components/WebXRAvatar" {
|
|
2875
2916
|
import { Behaviour } from "engine-components/Component";
|
|
2876
2917
|
import { WebXR } from "engine-components/WebXR";
|
|
2877
|
-
import * as THREE from "three";
|
|
2878
2918
|
import { XRFlag } from "engine-components/XRFlag";
|
|
2879
2919
|
import { Context } from "engine/engine_setup";
|
|
2880
2920
|
import { Object3D } from "three";
|
|
@@ -2892,7 +2932,7 @@ declare module "engine-components/WebXRAvatar" {
|
|
|
2892
2932
|
private static _onNewAvatarMarkerAdded;
|
|
2893
2933
|
private static _onAvatarMarkerDestroyed;
|
|
2894
2934
|
connectionId: string;
|
|
2895
|
-
avatar?: WebXRAvatar |
|
|
2935
|
+
avatar?: WebXRAvatar | Object3D;
|
|
2896
2936
|
awake(): void;
|
|
2897
2937
|
onDestroy(): void;
|
|
2898
2938
|
isLocalAvatar(): boolean;
|
|
@@ -2906,9 +2946,9 @@ declare module "engine-components/WebXRAvatar" {
|
|
|
2906
2946
|
/** the user id */
|
|
2907
2947
|
guid: string;
|
|
2908
2948
|
private root;
|
|
2909
|
-
head:
|
|
2910
|
-
handLeft:
|
|
2911
|
-
handRight:
|
|
2949
|
+
head: Object3D | null;
|
|
2950
|
+
handLeft: Object3D | null;
|
|
2951
|
+
handRight: Object3D | null;
|
|
2912
2952
|
lastUpdate: number;
|
|
2913
2953
|
isLocalAvatar: boolean;
|
|
2914
2954
|
flags: XRFlag[] | null;
|
|
@@ -3084,6 +3124,7 @@ declare module "engine-components/ui/EventSystem" {
|
|
|
3084
3124
|
private objectsHoveredThisFrame;
|
|
3085
3125
|
private objectsHoveredLastFrame;
|
|
3086
3126
|
private raisedPointerDownEvents;
|
|
3127
|
+
private raisedPointerDownObjects;
|
|
3087
3128
|
private _didMove;
|
|
3088
3129
|
onBeforeUpdate(): void;
|
|
3089
3130
|
private _tempComponentsArray;
|
|
@@ -3129,12 +3170,42 @@ declare module "engine-components/RendererLightmap" {
|
|
|
3129
3170
|
private setLightmapDebugMaterial;
|
|
3130
3171
|
}
|
|
3131
3172
|
}
|
|
3173
|
+
declare module "engine-components/ReflectionProbe" {
|
|
3174
|
+
import { Behaviour } from "engine-components/Component";
|
|
3175
|
+
import { Object3D, Texture, Vector3 } from "three";
|
|
3176
|
+
import { Context } from "engine/engine_setup";
|
|
3177
|
+
import { IRenderer } from "engine/engine_types";
|
|
3178
|
+
export const debug: string | boolean;
|
|
3179
|
+
export class ReflectionProbe extends Behaviour {
|
|
3180
|
+
private static _probes;
|
|
3181
|
+
static get(object: Object3D | null | undefined, context: Context, isAnchor: boolean): ReflectionProbe | null;
|
|
3182
|
+
private _texture;
|
|
3183
|
+
set texture(tex: Texture);
|
|
3184
|
+
get texture(): Texture;
|
|
3185
|
+
center?: Vector3;
|
|
3186
|
+
size?: Vector3;
|
|
3187
|
+
private _boxHelper?;
|
|
3188
|
+
private isInBox;
|
|
3189
|
+
constructor();
|
|
3190
|
+
awake(): void;
|
|
3191
|
+
onDestroy(): void;
|
|
3192
|
+
private static _rendererMaterialsCache;
|
|
3193
|
+
onSet(_rend: IRenderer): void;
|
|
3194
|
+
onUnset(_rend: IRenderer): void;
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3132
3197
|
declare module "engine-components/Renderer" {
|
|
3133
3198
|
import { Behaviour } from "engine-components/Component";
|
|
3134
3199
|
import * as THREE from "three";
|
|
3135
|
-
import { Mesh, Texture } from "three";
|
|
3200
|
+
import { Mesh, Object3D, Texture } from "three";
|
|
3136
3201
|
import { IRenderer, ISharedMaterials } from "engine/engine_types";
|
|
3137
3202
|
export { InstancingUtil } from "engine/engine_instancing";
|
|
3203
|
+
export enum ReflectionProbeUsage {
|
|
3204
|
+
Off = 0,
|
|
3205
|
+
BlendProbes = 1,
|
|
3206
|
+
BlendProbesAndSkybox = 2,
|
|
3207
|
+
Simple = 3
|
|
3208
|
+
}
|
|
3138
3209
|
export class FieldWithDefault {
|
|
3139
3210
|
path: string | null;
|
|
3140
3211
|
asset: object | null;
|
|
@@ -3163,6 +3234,8 @@ declare module "engine-components/Renderer" {
|
|
|
3163
3234
|
enableInstancing: boolean[] | undefined;
|
|
3164
3235
|
renderOrder: number[] | undefined;
|
|
3165
3236
|
allowOcclusionWhenDynamic: boolean;
|
|
3237
|
+
probeAnchor?: Object3D;
|
|
3238
|
+
reflectionProbeUsage: ReflectionProbeUsage;
|
|
3166
3239
|
private _lightmaps?;
|
|
3167
3240
|
get sharedMesh(): Mesh | undefined;
|
|
3168
3241
|
get sharedMaterial(): THREE.Material;
|
|
@@ -3189,10 +3262,13 @@ declare module "engine-components/Renderer" {
|
|
|
3189
3262
|
onDisable(): void;
|
|
3190
3263
|
onDestroy(): void;
|
|
3191
3264
|
applyStencil(): void;
|
|
3192
|
-
|
|
3265
|
+
static envmap: THREE.Texture | null;
|
|
3193
3266
|
onBeforeRender(): void;
|
|
3267
|
+
onBeforeRenderThree(_renderer: any, _scene: any, _camera: any, _geometry: any, material: any, _group: any): void;
|
|
3194
3268
|
onAfterRender(): void;
|
|
3195
3269
|
private applySettings;
|
|
3270
|
+
private _reflectionProbe;
|
|
3271
|
+
private updateReflectionProbe;
|
|
3196
3272
|
}
|
|
3197
3273
|
export class MeshRenderer extends Renderer {
|
|
3198
3274
|
}
|
|
@@ -3247,13 +3323,12 @@ declare module "engine-components/ui/RaycastUtils" {
|
|
|
3247
3323
|
}
|
|
3248
3324
|
}
|
|
3249
3325
|
declare module "engine-components/WebXRController" {
|
|
3326
|
+
import { Group, Intersection, Mesh, Object3D, Quaternion, Ray, Vector3, XRInputSource, XRSession } from "three";
|
|
3327
|
+
import { OculusHandPointerModel } from 'three/examples/jsm/webxr/OculusHandPointerModel.js';
|
|
3328
|
+
import { XRControllerModel, XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
|
|
3250
3329
|
import { Behaviour, GameObject } from "engine-components/Component";
|
|
3251
|
-
import { WebXR } from "engine-components/WebXR";
|
|
3252
|
-
import * as THREE from "three";
|
|
3253
3330
|
import { SyncedTransform } from "engine-components/SyncedTransform";
|
|
3254
|
-
import {
|
|
3255
|
-
import { OculusHandPointerModel } from 'three/examples/jsm/webxr/OculusHandPointerModel.js';
|
|
3256
|
-
import { XRSession } from "three";
|
|
3331
|
+
import { WebXR } from "engine-components/WebXR";
|
|
3257
3332
|
export enum ControllerType {
|
|
3258
3333
|
PhysicalDevice = 0,
|
|
3259
3334
|
Touch = 1
|
|
@@ -3280,17 +3355,17 @@ declare module "engine-components/WebXRController" {
|
|
|
3280
3355
|
webXR: WebXR;
|
|
3281
3356
|
index: number;
|
|
3282
3357
|
controllerModel: XRControllerModel;
|
|
3283
|
-
controller:
|
|
3284
|
-
controllerGrip:
|
|
3285
|
-
hand:
|
|
3358
|
+
controller: Group;
|
|
3359
|
+
controllerGrip: Group;
|
|
3360
|
+
hand: Group;
|
|
3286
3361
|
handPointerModel: OculusHandPointerModel;
|
|
3287
3362
|
grabbed: AttachedObject | null;
|
|
3288
|
-
input:
|
|
3363
|
+
input: XRInputSource | null;
|
|
3289
3364
|
type: ControllerType;
|
|
3290
3365
|
get isUsingHands(): boolean;
|
|
3291
|
-
get wrist():
|
|
3366
|
+
get wrist(): Object3D | null;
|
|
3292
3367
|
private _wristQuaternion;
|
|
3293
|
-
getWristQuaternion():
|
|
3368
|
+
getWristQuaternion(): Quaternion | null;
|
|
3294
3369
|
private movementVector;
|
|
3295
3370
|
private worldRot;
|
|
3296
3371
|
private joystick;
|
|
@@ -3310,7 +3385,7 @@ declare module "engine-components/WebXRController" {
|
|
|
3310
3385
|
get selectionUp(): boolean;
|
|
3311
3386
|
get selectionPressed(): boolean;
|
|
3312
3387
|
get selectionClick(): boolean;
|
|
3313
|
-
get raycastHitPoint():
|
|
3388
|
+
get raycastHitPoint(): Object3D | null;
|
|
3314
3389
|
private _selectionPressed;
|
|
3315
3390
|
private _selectionPressedLastFrame;
|
|
3316
3391
|
private _selectionStartTime;
|
|
@@ -3325,7 +3400,7 @@ declare module "engine-components/WebXRController" {
|
|
|
3325
3400
|
private onSourceConnected;
|
|
3326
3401
|
private onSourceDisconnected;
|
|
3327
3402
|
private createPointerEvent;
|
|
3328
|
-
rayRotation:
|
|
3403
|
+
rayRotation: Quaternion;
|
|
3329
3404
|
update(): void;
|
|
3330
3405
|
private _pinchStartTime;
|
|
3331
3406
|
onUpdate(session: XRSession): void;
|
|
@@ -3341,9 +3416,10 @@ declare module "engine-components/WebXRController" {
|
|
|
3341
3416
|
private onSelectEnd;
|
|
3342
3417
|
private testIsVisible;
|
|
3343
3418
|
private setControllerLayers;
|
|
3344
|
-
getRay():
|
|
3345
|
-
|
|
3346
|
-
|
|
3419
|
+
getRay(): Ray;
|
|
3420
|
+
private closeGrabBoundingBoxHelper?;
|
|
3421
|
+
overlap(): Intersection[];
|
|
3422
|
+
raycast(): Intersection[];
|
|
3347
3423
|
}
|
|
3348
3424
|
export enum AttachedObjectEvents {
|
|
3349
3425
|
WillTake = "WillTake",
|
|
@@ -3360,11 +3436,11 @@ declare module "engine-components/WebXRController" {
|
|
|
3360
3436
|
static Current: AttachedObject[];
|
|
3361
3437
|
private static Register;
|
|
3362
3438
|
private static Remove;
|
|
3363
|
-
static TryTake(controller: WebXRController, candidate:
|
|
3439
|
+
static TryTake(controller: WebXRController, candidate: Object3D, intersection: Intersection, closeGrab: boolean): AttachedObject | null;
|
|
3364
3440
|
sync: SyncedTransform | null;
|
|
3365
|
-
selected:
|
|
3366
|
-
selectedParent:
|
|
3367
|
-
selectedMesh:
|
|
3441
|
+
selected: Object3D | null;
|
|
3442
|
+
selectedParent: Object3D | null;
|
|
3443
|
+
selectedMesh: Mesh | null;
|
|
3368
3444
|
controller: WebXRController | null;
|
|
3369
3445
|
grabTime: number;
|
|
3370
3446
|
grabUUID: string;
|
|
@@ -3378,7 +3454,7 @@ declare module "engine-components/WebXRController" {
|
|
|
3378
3454
|
private positionSource;
|
|
3379
3455
|
private Take;
|
|
3380
3456
|
free(): void;
|
|
3381
|
-
grabPoint:
|
|
3457
|
+
grabPoint: Vector3;
|
|
3382
3458
|
private localPositionOffsetToGrab;
|
|
3383
3459
|
private localPositionOffsetToGrab_worldSpace;
|
|
3384
3460
|
private localQuaternionToGrab;
|
|
@@ -3394,36 +3470,6 @@ declare module "engine-components/WebXRController" {
|
|
|
3394
3470
|
update(): void;
|
|
3395
3471
|
}
|
|
3396
3472
|
}
|
|
3397
|
-
declare module "engine-components/WebARSessionRoot" {
|
|
3398
|
-
import { Behaviour } from "engine-components/Component";
|
|
3399
|
-
import * as THREE from 'three';
|
|
3400
|
-
import { Matrix4, XRPose } from "three";
|
|
3401
|
-
import { WebAR } from "engine-components/WebXR";
|
|
3402
|
-
export class WebARSessionRoot extends Behaviour {
|
|
3403
|
-
webAR: WebAR | null;
|
|
3404
|
-
get rig(): THREE.Object3D | undefined;
|
|
3405
|
-
invertForward: boolean;
|
|
3406
|
-
get arScale(): number;
|
|
3407
|
-
set arScale(val: number);
|
|
3408
|
-
private readonly _initalMatrix;
|
|
3409
|
-
private readonly _selectStartFn;
|
|
3410
|
-
private readonly _selectEndFn;
|
|
3411
|
-
start(): void;
|
|
3412
|
-
private _arScale;
|
|
3413
|
-
private _rig;
|
|
3414
|
-
private _startPose;
|
|
3415
|
-
private _placementPose;
|
|
3416
|
-
private _isTouching;
|
|
3417
|
-
private _rigStartPose;
|
|
3418
|
-
onBegin(session: THREE.XRSession): void;
|
|
3419
|
-
onUpdate(rig: THREE.Object3D | null, _session: THREE.XRSession, pose: XRPose | null | undefined): boolean;
|
|
3420
|
-
placeAt(rig: THREE.Object3D | null, mat: Matrix4): void;
|
|
3421
|
-
onEnd(rig: THREE.Object3D | null, _session: THREE.XRSession): void;
|
|
3422
|
-
private onSelectStart;
|
|
3423
|
-
private onSelectEnd;
|
|
3424
|
-
private setScale;
|
|
3425
|
-
}
|
|
3426
|
-
}
|
|
3427
3473
|
declare module "engine-components/WebXRRig" {
|
|
3428
3474
|
import { Behaviour } from "engine-components/Component";
|
|
3429
3475
|
export class XRRig extends Behaviour {
|
|
@@ -3431,10 +3477,10 @@ declare module "engine-components/WebXRRig" {
|
|
|
3431
3477
|
}
|
|
3432
3478
|
}
|
|
3433
3479
|
declare module "engine-components/WebXR" {
|
|
3480
|
+
import { Object3D, Quaternion, XRFrame, XRSession, XRViewerPose } from 'three';
|
|
3481
|
+
import { AssetReference } from "engine/engine_addressables";
|
|
3434
3482
|
import { Behaviour } from "engine-components/Component";
|
|
3435
|
-
import * as THREE from 'three';
|
|
3436
3483
|
import { WebXRController } from "engine-components/WebXRController";
|
|
3437
|
-
import { AssetReference } from "engine/engine_addressables";
|
|
3438
3484
|
export function detectARSupport(): Promise<boolean>;
|
|
3439
3485
|
export function detectVRSupport(): Promise<boolean>;
|
|
3440
3486
|
export enum WebXREvent {
|
|
@@ -3450,6 +3496,7 @@ declare module "engine-components/WebXR" {
|
|
|
3450
3496
|
enableVR: boolean;
|
|
3451
3497
|
enableAR: boolean;
|
|
3452
3498
|
defaultAvatar?: AssetReference;
|
|
3499
|
+
handModelPath: string;
|
|
3453
3500
|
createVRButton: boolean;
|
|
3454
3501
|
createARButton: boolean;
|
|
3455
3502
|
private static _isInXr;
|
|
@@ -3464,7 +3511,7 @@ declare module "engine-components/WebXR" {
|
|
|
3464
3511
|
static createARButton(webXR: WebXR, opts?: CreateButtonOptions): HTMLButtonElement;
|
|
3465
3512
|
static resetButtonStyles(button: any): void;
|
|
3466
3513
|
endSession(): void;
|
|
3467
|
-
get Rig():
|
|
3514
|
+
get Rig(): Object3D;
|
|
3468
3515
|
private controllers;
|
|
3469
3516
|
get Controllers(): WebXRController[];
|
|
3470
3517
|
get LeftController(): WebXRController | null;
|
|
@@ -3485,9 +3532,9 @@ declare module "engine-components/WebXR" {
|
|
|
3485
3532
|
awake(): void;
|
|
3486
3533
|
onEnable(): void;
|
|
3487
3534
|
private _transformOrientation;
|
|
3488
|
-
get TransformOrientation():
|
|
3535
|
+
get TransformOrientation(): Quaternion;
|
|
3489
3536
|
private _currentHeadPose;
|
|
3490
|
-
get HeadPose():
|
|
3537
|
+
get HeadPose(): XRViewerPose | null;
|
|
3491
3538
|
onBeforeRender(frame: any): void;
|
|
3492
3539
|
private onClickedARButton;
|
|
3493
3540
|
private onClickedVRButton;
|
|
@@ -3522,9 +3569,9 @@ declare module "engine-components/WebXR" {
|
|
|
3522
3569
|
private didPlaceARSessionRoot;
|
|
3523
3570
|
getAROverlayContainer(): HTMLElement | null;
|
|
3524
3571
|
setReticleActive(active: boolean): void;
|
|
3525
|
-
onBegin(session:
|
|
3526
|
-
onEnd(session:
|
|
3527
|
-
onUpdate(session:
|
|
3572
|
+
onBegin(session: XRSession): Promise<void>;
|
|
3573
|
+
onEnd(session: XRSession): void;
|
|
3574
|
+
onUpdate(session: XRSession, frame: XRFrame): void;
|
|
3528
3575
|
}
|
|
3529
3576
|
}
|
|
3530
3577
|
declare module "engine-components/DragControls" {
|
|
@@ -3728,7 +3775,9 @@ declare module "engine-components/GroundProjection" {
|
|
|
3728
3775
|
private env?;
|
|
3729
3776
|
private _watcher?;
|
|
3730
3777
|
onEnable(): void;
|
|
3778
|
+
start(): void;
|
|
3731
3779
|
onDisable(): void;
|
|
3780
|
+
private updateAndCreate;
|
|
3732
3781
|
updateProjection(): void;
|
|
3733
3782
|
}
|
|
3734
3783
|
}
|
|
@@ -4498,7 +4547,7 @@ declare module "engine-components/Volume" {
|
|
|
4498
4547
|
}
|
|
4499
4548
|
declare module "engine-components/WebXRGrabRendering" {
|
|
4500
4549
|
import { Behaviour } from "engine-components/Component";
|
|
4501
|
-
import
|
|
4550
|
+
import { Object3D, Vector3 } from "three";
|
|
4502
4551
|
import { Context } from "engine/engine_setup";
|
|
4503
4552
|
import { IModel } from "engine/engine_networking_types";
|
|
4504
4553
|
export class XRGrabModel implements IModel {
|
|
@@ -4516,10 +4565,10 @@ declare module "engine-components/WebXRGrabRendering" {
|
|
|
4516
4565
|
z: number;
|
|
4517
4566
|
};
|
|
4518
4567
|
target: string | undefined;
|
|
4519
|
-
update(context: Context, point:
|
|
4568
|
+
update(context: Context, point: Vector3, source: Vector3, target?: string | undefined): void;
|
|
4520
4569
|
}
|
|
4521
4570
|
export class XRGrabRendering extends Behaviour {
|
|
4522
|
-
prefab:
|
|
4571
|
+
prefab: Object3D | null;
|
|
4523
4572
|
private _grabModels;
|
|
4524
4573
|
private _grabModelsUpdateTime;
|
|
4525
4574
|
private _addOrUpdateSub;
|
|
@@ -5288,6 +5337,7 @@ declare module "engine-components/codegen/components" {
|
|
|
5288
5337
|
export { EmissionModule } from "engine-components/ParticleSystemModules";
|
|
5289
5338
|
export { ShapeModule } from "engine-components/ParticleSystemModules";
|
|
5290
5339
|
export { PlayerColor } from "engine-components/PlayerColor";
|
|
5340
|
+
export { ReflectionProbe } from "engine-components/ReflectionProbe";
|
|
5291
5341
|
export { FieldWithDefault } from "engine-components/Renderer";
|
|
5292
5342
|
export { Renderer } from "engine-components/Renderer";
|
|
5293
5343
|
export { MeshRenderer } from "engine-components/Renderer";
|