@galacean/engine-core 1.1.0-beta.2 → 1.1.0-beta.20
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/dist/main.js +7718 -7223
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +7718 -7223
- package/dist/module.js +7708 -7225
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/atlas/types.d.ts +3 -0
- package/types/2d/enums/SpriteModifyFlags.d.ts +2 -1
- package/types/Background.d.ts +8 -0
- package/types/Component.d.ts +1 -1
- package/types/DisorderedArray.d.ts +1 -1
- package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
- package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
- package/types/Scene.d.ts +6 -0
- package/types/asset/AssetPromise.d.ts +1 -0
- package/types/asset/ResourceManager.d.ts +0 -1
- package/types/lighting/DirectLight.d.ts +8 -1
- package/types/lighting/Light.d.ts +0 -4
- package/types/lighting/LightManager.d.ts +7 -0
- package/types/lighting/PointLight.d.ts +9 -1
- package/types/lighting/SpotLight.d.ts +12 -1
- package/types/mesh/SkinnedMeshRenderer.d.ts +1 -1
- package/types/mesh/SubModelMesh.d.ts +260 -0
- package/types/particle/ParticleGenerator.d.ts +0 -2
- package/types/particle/index.d.ts +10 -0
- package/types/particle/modules/EmissionModule.d.ts +0 -1
- package/types/particle/modules/MainModule.d.ts +7 -6
- package/types/particle/modules/ParticleGeneratorModule.d.ts +0 -1
- package/types/particle/modules/RotationOverLifetimeModule.d.ts +1 -1
- package/types/particle/modules/TextureSheetAnimationModule.d.ts +0 -4
- package/types/physics/Collider.d.ts +3 -1
- package/types/physics/PhysicsMaterial.d.ts +1 -0
- package/types/physics/joint/HingeJoint.d.ts +1 -1
- package/types/physics/joint/Joint.d.ts +4 -3
- package/types/physics/shape/ColliderShape.d.ts +2 -1
- package/types/physics/shape/SphereColliderShape.d.ts +1 -0
- package/types/shader/Shader.d.ts +1 -1
- package/types/xr/IXRDevice.d.ts +26 -0
- package/types/xr/XRManager.d.ts +89 -24
- package/types/xr/XRModule.d.ts +126 -0
- package/types/xr/component/XRPoseDriver.d.ts +5 -5
- package/types/xr/component/XRTrackingMode.d.ts +15 -0
- package/types/xr/component/trackable/XRAnchor.d.ts +4 -0
- package/types/xr/component/trackable/XRImage.d.ts +6 -0
- package/types/xr/component/trackable/XRPlane.d.ts +7 -0
- package/types/xr/component/trackable/XRTracked.d.ts +13 -0
- package/types/xr/feature/XRFeatureManager.d.ts +65 -0
- package/types/xr/feature/XRFeatureType.d.ts +17 -0
- package/types/xr/feature/XRPlatformFeature.d.ts +17 -0
- package/types/xr/feature/camera/IXRCameraDescriptor.d.ts +7 -0
- package/types/xr/feature/camera/XRCameraManager.d.ts +35 -0
- package/types/xr/feature/camera/XRPlatformCamera.d.ts +5 -0
- package/types/xr/feature/hitTest/XRHItTestType.d.ts +16 -0
- package/types/xr/feature/hitTest/XRHitTestManager.d.ts +38 -0
- package/types/xr/feature/movementTracking/IXRMovementTrackingDescriptor.d.ts +9 -0
- package/types/xr/feature/movementTracking/XRMovementTrackingManager.d.ts +8 -0
- package/types/xr/feature/movementTracking/XRMovementTrackingMode.d.ts +5 -0
- package/types/xr/feature/movementTracking/XRPlatformMovementTracking.d.ts +10 -0
- package/types/xr/feature/trackable/XRRequestTrackingState.d.ts +11 -0
- package/types/xr/feature/trackable/XRTrackableManager.d.ts +41 -0
- package/types/xr/feature/trackable/XRTrackablePlatformFeature.d.ts +29 -0
- package/types/xr/feature/trackable/XRTracked.d.ts +9 -0
- package/types/xr/feature/trackable/XRTrackedUpdateFlag.d.ts +11 -0
- package/types/xr/feature/trackable/XRTrackingState.d.ts +11 -0
- package/types/xr/feature/trackable/anchor/IXRAnchorTrackingDescriptor.d.ts +8 -0
- package/types/xr/feature/trackable/anchor/XRAnchorTrackingManager.d.ts +22 -0
- package/types/xr/feature/trackable/anchor/XRAnchorTrackingMode.d.ts +4 -0
- package/types/xr/feature/trackable/anchor/XRPlatformAnchorTracking.d.ts +12 -0
- package/types/xr/feature/trackable/anchor/XRRequestTrackingAnchor.d.ts +10 -0
- package/types/xr/feature/trackable/image/IXRImageTrackingDescriptor.d.ts +5 -0
- package/types/xr/feature/trackable/image/XRImageTrackingManager.d.ts +33 -0
- package/types/xr/feature/trackable/image/XRPlatformImageTracking.d.ts +14 -0
- package/types/xr/feature/trackable/image/XRReferenceImage.d.ts +14 -0
- package/types/xr/feature/trackable/image/XRRequestTrackingImage.d.ts +11 -0
- package/types/xr/feature/trackable/image/XRTrackedImage.d.ts +5 -0
- package/types/xr/feature/trackable/plane/IXRPlaneTrackingDescriptor.d.ts +9 -0
- package/types/xr/feature/trackable/plane/XRPlaneDetectionMode.d.ts +13 -0
- package/types/xr/feature/trackable/plane/XRPlaneMode.d.ts +13 -0
- package/types/xr/feature/trackable/plane/XRPlaneTrackingManager.d.ts +14 -0
- package/types/xr/feature/trackable/plane/XRPlatformPlaneTracking.d.ts +11 -0
- package/types/xr/feature/trackable/plane/XRRequestTrackingPlane.d.ts +11 -0
- package/types/xr/feature/trackable/plane/XRTrackedPlane.d.ts +11 -0
- package/types/xr/index.d.ts +39 -18
- package/types/xr/input/XRCamera.d.ts +28 -0
- package/types/xr/input/XRController.d.ts +38 -0
- package/types/xr/input/XRControllerPoseMode.d.ts +9 -0
- package/types/xr/input/XRInput.d.ts +14 -0
- package/types/xr/input/XRInputButton.d.ts +19 -0
- package/types/xr/input/XRInputEvent.d.ts +24 -0
- package/types/xr/input/XRInputEventType.d.ts +11 -0
- package/types/xr/input/XRInputManager.d.ts +58 -0
- package/types/xr/input/XRInputType.d.ts +23 -0
- package/types/xr/input/XRTargetRayMode.d.ts +12 -0
- package/types/xr/input/XRTrackedUpdateFlag.d.ts +11 -0
- package/types/xr/input/XRTrackingState.d.ts +11 -0
- package/types/xr/session/XRSessionManager.d.ts +76 -0
- package/types/xr/session/XRSessionState.d.ts +13 -0
- package/types/xr/session/XRSessionType.d.ts +7 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { BoolUpdateFlag } from "../BoolUpdateFlag";
|
|
2
2
|
import { Component } from "../Component";
|
|
3
3
|
import { ColliderShape } from "./shape/ColliderShape";
|
|
4
|
+
import { ICustomClone } from "../clone/ComponentCloner";
|
|
4
5
|
/**
|
|
5
6
|
* Base class for all colliders.
|
|
6
7
|
* @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
|
|
7
8
|
*/
|
|
8
|
-
export declare class Collider extends Component {
|
|
9
|
+
export declare class Collider extends Component implements ICustomClone {
|
|
9
10
|
protected _updateFlag: BoolUpdateFlag;
|
|
10
11
|
protected _shapes: ColliderShape[];
|
|
11
12
|
/**
|
|
@@ -26,4 +27,5 @@ export declare class Collider extends Component {
|
|
|
26
27
|
* Remove all shape attached.
|
|
27
28
|
*/
|
|
28
29
|
clearShapes(): void;
|
|
30
|
+
protected _addPhysicsShape(shape: ColliderShape): void;
|
|
29
31
|
}
|
|
@@ -28,7 +28,7 @@ export declare class HingeJoint extends Joint {
|
|
|
28
28
|
/**
|
|
29
29
|
* The angular velocity of the joint in degrees per second.
|
|
30
30
|
*/
|
|
31
|
-
get velocity(): Readonly<
|
|
31
|
+
get velocity(): Readonly<number>;
|
|
32
32
|
/**
|
|
33
33
|
* Enables the joint's limits. Disabled by default.
|
|
34
34
|
*/
|
|
@@ -3,13 +3,14 @@ import { Vector3 } from "@galacean/engine-math";
|
|
|
3
3
|
import { Component } from "../../Component";
|
|
4
4
|
import { Entity } from "../../Entity";
|
|
5
5
|
import { Collider } from "../Collider";
|
|
6
|
+
import { ICustomClone } from "../../clone/ComponentCloner";
|
|
6
7
|
/**
|
|
7
8
|
* A base class providing common functionality for joints.
|
|
8
9
|
* @decorator `@dependentComponents(Collider, DependentMode.CheckOnly)`
|
|
9
10
|
*/
|
|
10
|
-
export declare class Joint extends Component {
|
|
11
|
-
protected
|
|
12
|
-
protected
|
|
11
|
+
export declare class Joint extends Component implements ICustomClone {
|
|
12
|
+
protected _colliderInfo: JointColliderInfo;
|
|
13
|
+
protected _connectedColliderInfo: JointColliderInfo;
|
|
13
14
|
protected _nativeJoint: IJoint;
|
|
14
15
|
private _force;
|
|
15
16
|
private _torque;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PhysicsMaterial } from "../PhysicsMaterial";
|
|
2
2
|
import { Vector3 } from "@galacean/engine-math";
|
|
3
3
|
import { Collider } from "../Collider";
|
|
4
|
+
import { ICustomClone } from "../../clone/ComponentCloner";
|
|
4
5
|
/**
|
|
5
6
|
* Abstract class for collider shapes.
|
|
6
7
|
*/
|
|
7
|
-
export declare abstract class ColliderShape {
|
|
8
|
+
export declare abstract class ColliderShape implements ICustomClone {
|
|
8
9
|
private static _idGenerator;
|
|
9
10
|
protected _id: number;
|
|
10
11
|
protected _material: PhysicsMaterial;
|
package/types/shader/Shader.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class Shader {
|
|
|
19
19
|
* // Import shaderLab
|
|
20
20
|
* import { ShaderLab } from "@galacean/engine-shader-lab";
|
|
21
21
|
* // Create engine with shaderLab
|
|
22
|
-
* const engine = await WebGLEngine.create({ canvas: "canvas", new ShaderLab() });
|
|
22
|
+
* const engine = await WebGLEngine.create({ canvas: "canvas", shader: new ShaderLab() });
|
|
23
23
|
* ...
|
|
24
24
|
* ```
|
|
25
25
|
*
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IXRSession, IXRFeatureDescriptor, IXRPlatformFeature } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../Engine";
|
|
3
|
+
import { XRSessionType } from "./session/XRSessionType";
|
|
4
|
+
/**
|
|
5
|
+
* The interface of XR device.
|
|
6
|
+
*/
|
|
7
|
+
export interface IXRDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Whether the device is supported.
|
|
10
|
+
* @param mode - The mode of the session.
|
|
11
|
+
*/
|
|
12
|
+
isSupported(mode: XRSessionType): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Get the platform feature instance of this device
|
|
15
|
+
* @param engine - The engine.
|
|
16
|
+
* @param type - The type of the feature.
|
|
17
|
+
*/
|
|
18
|
+
createPlatformFeature(engine: Engine, type: number): IXRPlatformFeature;
|
|
19
|
+
/**
|
|
20
|
+
* Request a session.
|
|
21
|
+
* @param engine - The engine
|
|
22
|
+
* @param mode - The mode of the session
|
|
23
|
+
* @param requestFeatures - The requested features
|
|
24
|
+
*/
|
|
25
|
+
requestSession(engine: Engine, mode: XRSessionType, requestFeatures: IXRFeatureDescriptor[]): Promise<IXRSession>;
|
|
26
|
+
}
|
package/types/xr/XRManager.d.ts
CHANGED
|
@@ -1,31 +1,96 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRFeature } from "@galacean/engine-design";
|
|
2
|
+
import { XRInputManager } from "./input/XRInputManager";
|
|
3
|
+
import { XRFeatureType } from "./feature/XRFeatureType";
|
|
4
|
+
import { XRSessionManager } from "./session/XRSessionManager";
|
|
5
|
+
import { XRSessionType } from "./session/XRSessionType";
|
|
6
|
+
import { XRFeatureManager } from "./feature/XRFeatureManager";
|
|
7
|
+
import { IXRDevice } from "@galacean/engine-design/src/xr/IXRDevice";
|
|
1
8
|
import { Engine } from "../Engine";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
type FeatureConstructor = new (engine: Engine) => XRFeature;
|
|
9
|
+
import { Scene } from "../Scene";
|
|
10
|
+
import { Entity } from "../Entity";
|
|
11
|
+
type TXRFeatureManager = XRFeatureManager<IXRFeatureDescriptor, IXRFeature>;
|
|
12
|
+
type TXRFeatureManagerConstructor = new (engine: Engine) => TXRFeatureManager;
|
|
13
|
+
/**
|
|
14
|
+
* XRManager is the entry point of the XR system.
|
|
15
|
+
*/
|
|
10
16
|
export declare class XRManager {
|
|
17
|
+
/** Input manager for XR. */
|
|
18
|
+
inputManager: XRInputManager;
|
|
19
|
+
/** Session manager for XR. */
|
|
20
|
+
sessionManager: XRSessionManager;
|
|
11
21
|
private _engine;
|
|
12
|
-
private
|
|
22
|
+
private _scene;
|
|
23
|
+
private _origin;
|
|
13
24
|
private _features;
|
|
14
|
-
private
|
|
15
|
-
private
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
private _mode;
|
|
26
|
+
private _requestFeatures;
|
|
27
|
+
/**
|
|
28
|
+
* The current xr scene.
|
|
29
|
+
*/
|
|
30
|
+
get scene(): Scene;
|
|
31
|
+
set scene(value: Scene);
|
|
32
|
+
/**
|
|
33
|
+
* The current xr origin.
|
|
34
|
+
*/
|
|
35
|
+
get origin(): Entity;
|
|
36
|
+
set origin(value: Entity);
|
|
37
|
+
/**
|
|
38
|
+
* The current session mode( AR or VR ).
|
|
39
|
+
*/
|
|
40
|
+
get mode(): XRSessionType;
|
|
41
|
+
/**
|
|
42
|
+
* The requested features.
|
|
43
|
+
*/
|
|
44
|
+
get requestFeatures(): IXRFeatureDescriptor[];
|
|
45
|
+
/**
|
|
46
|
+
* Check if the specified mode is supported.
|
|
47
|
+
* @param mode - The mode to check
|
|
48
|
+
* @returns A promise that resolves if the mode is supported, otherwise rejects
|
|
49
|
+
*/
|
|
50
|
+
isSupported(mode: XRSessionType): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Check if the specified feature is supported.
|
|
53
|
+
* @param descriptors - The feature descriptor to check
|
|
54
|
+
* @returns A promise that resolves if the feature is supported, otherwise rejects
|
|
55
|
+
*/
|
|
56
|
+
isSupportedFeature(descriptors: IXRFeatureDescriptor | IXRFeatureDescriptor[]): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Disable all features.
|
|
59
|
+
*/
|
|
60
|
+
disableAllFeatures(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get the feature instance.
|
|
63
|
+
* @param type - The type of feature
|
|
64
|
+
* @returns The feature instance
|
|
65
|
+
*/
|
|
66
|
+
getFeature<T extends XRFeatureManager>(type: XRFeatureType): T;
|
|
67
|
+
/**
|
|
68
|
+
* Initialize the session.
|
|
69
|
+
* @param mode - The mode of the session
|
|
70
|
+
* @param requestFeatures - The requested features
|
|
71
|
+
* @returns A promise that resolves if the session is initialized, otherwise rejects
|
|
72
|
+
*/
|
|
73
|
+
initSession(mode: XRSessionType, requestFeatures?: IXRFeatureDescriptor[]): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Destroy the session.
|
|
76
|
+
* @returns A promise that resolves if the session is destroyed, otherwise rejects
|
|
77
|
+
*/
|
|
78
|
+
destroySession(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Start the session.
|
|
81
|
+
* @returns A promise that resolves if the session is started, otherwise rejects
|
|
82
|
+
*/
|
|
83
|
+
startSession(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Stop the session.
|
|
86
|
+
* @returns A promise that resolves if the session is stopped, otherwise rejects
|
|
87
|
+
*/
|
|
88
|
+
stopSession(): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Destroy xr module.
|
|
91
|
+
*/
|
|
27
92
|
destroy(): void;
|
|
28
|
-
constructor(engine: Engine,
|
|
93
|
+
constructor(engine: Engine, xrDevice: IXRDevice);
|
|
29
94
|
}
|
|
30
|
-
export declare function
|
|
95
|
+
export declare function registerXRFeatureManager(feature: XRFeatureType): (featureManagerConstructor: TXRFeatureManagerConstructor) => void;
|
|
31
96
|
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRPlatformFeature } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../Engine";
|
|
3
|
+
import { IXRDevice } from "./IXRDevice";
|
|
4
|
+
import { XRInputManager } from "./input/XRInputManager";
|
|
5
|
+
import { XRFeatureType } from "./feature/XRFeatureType";
|
|
6
|
+
import { XRSessionManager } from "./session/XRSessionManager";
|
|
7
|
+
import { XRSessionState } from "./session/XRSessionState";
|
|
8
|
+
import { XRSessionType } from "./session/XRSessionType";
|
|
9
|
+
import { XRFeatureManager } from "./feature/XRFeatureManager";
|
|
10
|
+
import { XRPlatformFeature } from "./feature/XRPlatformFeature";
|
|
11
|
+
import { Scene } from "../Scene";
|
|
12
|
+
import { Entity } from "../Entity";
|
|
13
|
+
import { Component } from "../Component";
|
|
14
|
+
type TXRFeatureManager = XRFeatureManager<IXRFeatureDescriptor, IXRPlatformFeature>;
|
|
15
|
+
type TXRFeatureManagerConstructor = new (engine: Engine) => TXRFeatureManager;
|
|
16
|
+
type TXRSessionStateChangeListener = (from: XRSessionState, to: XRSessionState) => void;
|
|
17
|
+
type TXRTrackedComponent = new (entity: Entity) => Component;
|
|
18
|
+
/**
|
|
19
|
+
* XRModule is the entry point of the XR system.
|
|
20
|
+
*/
|
|
21
|
+
export declare class XRModule {
|
|
22
|
+
/** Hardware adaptation for XR. */
|
|
23
|
+
xrDevice: IXRDevice;
|
|
24
|
+
/** Input manager for XR. */
|
|
25
|
+
inputManager: XRInputManager;
|
|
26
|
+
/** Session manager for XR. */
|
|
27
|
+
sessionManager: XRSessionManager;
|
|
28
|
+
private _engine;
|
|
29
|
+
private _scene;
|
|
30
|
+
private _origin;
|
|
31
|
+
private _features;
|
|
32
|
+
private _sessionState;
|
|
33
|
+
private _listeners;
|
|
34
|
+
private _mode;
|
|
35
|
+
private _requestFeatures;
|
|
36
|
+
/**
|
|
37
|
+
* The current xr scene.
|
|
38
|
+
*/
|
|
39
|
+
get scene(): Scene;
|
|
40
|
+
set scene(value: Scene);
|
|
41
|
+
/**
|
|
42
|
+
* The current xr origin.
|
|
43
|
+
*/
|
|
44
|
+
get origin(): Entity;
|
|
45
|
+
set origin(value: Entity);
|
|
46
|
+
/**
|
|
47
|
+
* The current session mode( AR or VR ).
|
|
48
|
+
*/
|
|
49
|
+
get mode(): XRSessionType;
|
|
50
|
+
/**
|
|
51
|
+
* The requested features.
|
|
52
|
+
*/
|
|
53
|
+
get requestFeatures(): IXRFeatureDescriptor[];
|
|
54
|
+
/**
|
|
55
|
+
* The current session state.
|
|
56
|
+
*/
|
|
57
|
+
get sessionState(): XRSessionState;
|
|
58
|
+
/**
|
|
59
|
+
* Check if the specified mode is supported.
|
|
60
|
+
* @param mode - The mode to check
|
|
61
|
+
* @returns A promise that resolves if the mode is supported, otherwise rejects
|
|
62
|
+
*/
|
|
63
|
+
isSupported(mode: XRSessionType): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Check if the specified feature is supported.
|
|
66
|
+
* @param descriptors - The feature descriptor to check
|
|
67
|
+
* @returns A promise that resolves if the feature is supported, otherwise rejects
|
|
68
|
+
*/
|
|
69
|
+
isSupportedFeature(descriptors: IXRFeatureDescriptor | IXRFeatureDescriptor[]): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Disable all features.
|
|
72
|
+
*/
|
|
73
|
+
disableAllFeatures(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Get the feature instance.
|
|
76
|
+
* @param type - The type of feature
|
|
77
|
+
* @returns The feature instance
|
|
78
|
+
*/
|
|
79
|
+
getFeature<T extends XRFeatureManager<IXRFeatureDescriptor, XRPlatformFeature>>(type: XRFeatureType): T;
|
|
80
|
+
/**
|
|
81
|
+
* Initialize the session.
|
|
82
|
+
* @param mode - The mode of the session
|
|
83
|
+
* @param requestFeatures - The requested features
|
|
84
|
+
* @returns A promise that resolves if the session is initialized, otherwise rejects
|
|
85
|
+
*/
|
|
86
|
+
initSession(mode: XRSessionType, requestFeatures?: IXRFeatureDescriptor[]): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Destroy the session.
|
|
89
|
+
* @returns A promise that resolves if the session is destroyed, otherwise rejects
|
|
90
|
+
*/
|
|
91
|
+
destroySession(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Start the session.
|
|
94
|
+
* @returns A promise that resolves if the session is started, otherwise rejects
|
|
95
|
+
*/
|
|
96
|
+
startSession(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Stop the session.
|
|
99
|
+
* @returns A promise that resolves if the session is stopped, otherwise rejects
|
|
100
|
+
*/
|
|
101
|
+
stopSession(): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Reset the session.
|
|
104
|
+
*/
|
|
105
|
+
destroy(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Add a session state change listener.
|
|
108
|
+
* @param listener - The listener to add
|
|
109
|
+
*/
|
|
110
|
+
addSessionStateChangeListener(listener: TXRSessionStateChangeListener): void;
|
|
111
|
+
/**
|
|
112
|
+
* Remove a session state change listener.
|
|
113
|
+
* @param listener - The listener to remove
|
|
114
|
+
*/
|
|
115
|
+
removeSessionStateChangeListener(listener: TXRSessionStateChangeListener): void;
|
|
116
|
+
/**
|
|
117
|
+
* Remove all session state change listeners.
|
|
118
|
+
*/
|
|
119
|
+
removeAllSessionStateChangeListener(): void;
|
|
120
|
+
constructor(engine: Engine, xrDevice: IXRDevice);
|
|
121
|
+
private _setSessionState;
|
|
122
|
+
private _dispatchSessionStateChange;
|
|
123
|
+
}
|
|
124
|
+
export declare function registerXRFeatureManager(feature: XRFeatureType): (featureManagerConstructor: TXRFeatureManagerConstructor) => void;
|
|
125
|
+
export declare function registerXRComponent(feature: XRFeatureType): (componentConstructor: TXRTrackedComponent) => void;
|
|
126
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Script } from "../../Script";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { XRTrackingMode } from "./XRTrackingMode";
|
|
3
|
+
import { XRInputType } from "../input/XRInputType";
|
|
4
4
|
export declare class XRPoseDriver extends Script {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
private
|
|
5
|
+
type: XRInputType;
|
|
6
|
+
trackingMode: XRTrackingMode;
|
|
7
|
+
private _inputManager;
|
|
8
8
|
onLateUpdate(): void;
|
|
9
9
|
onAwake(): void;
|
|
10
10
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum of XR tracking mode.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum XRTrackingMode {
|
|
5
|
+
/** None */
|
|
6
|
+
None = 0,
|
|
7
|
+
/** Orientation only */
|
|
8
|
+
RotationOnly = 1,
|
|
9
|
+
/** Position only */
|
|
10
|
+
PositionOnly = 2,
|
|
11
|
+
/** Orientation and position */
|
|
12
|
+
RotationAndPosition = 3,
|
|
13
|
+
/** Auto ( RotationAndPosition ) */
|
|
14
|
+
Auto = 4
|
|
15
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IXRReferenceImage, IXRTrackedImage } from "@galacean/engine-design";
|
|
2
|
+
import { XRTracked } from "./XRTracked";
|
|
3
|
+
export declare class XRImage extends XRTracked<IXRTrackedImage> {
|
|
4
|
+
get referenceImage(): IXRReferenceImage;
|
|
5
|
+
get measuredWidthInMeters(): number;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IXRTrackedPlane } from "@galacean/engine-design";
|
|
2
|
+
import { XRTracked } from "./XRTracked";
|
|
3
|
+
import { Vector3 } from "@galacean/engine-math";
|
|
4
|
+
export declare class XRPlane extends XRTracked<IXRTrackedPlane> {
|
|
5
|
+
get polygon(): readonly Vector3[];
|
|
6
|
+
get orientation(): "horizontal" | "vertical";
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IXRTrackable } from "@galacean/engine-design";
|
|
2
|
+
import { Component } from "../../../Component";
|
|
3
|
+
import { XRTrackingState } from "../../feature/trackable/XRTrackingState";
|
|
4
|
+
export declare abstract class XRTracked<T extends IXRTrackable> extends Component {
|
|
5
|
+
protected _platformData: T;
|
|
6
|
+
protected _destroyOnRemoval: boolean;
|
|
7
|
+
get destroyOnRemoval(): boolean;
|
|
8
|
+
set destroyOnRemoval(value: boolean);
|
|
9
|
+
get trackableId(): number;
|
|
10
|
+
get trackingState(): XRTrackingState;
|
|
11
|
+
get platformData(): T;
|
|
12
|
+
set platformData(value: T);
|
|
13
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRFeatureManager, IXRFeature, IXRSession, IXRFrame } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../../Engine";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR feature manager.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRFeatureManager<TDescriptor extends IXRFeatureDescriptor = IXRFeatureDescriptor, TFeature extends IXRFeature = IXRFeature> implements IXRFeatureManager {
|
|
7
|
+
protected _engine: Engine;
|
|
8
|
+
_feature: TFeature;
|
|
9
|
+
protected _descriptor: TDescriptor;
|
|
10
|
+
protected _enabled: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Return the descriptor of the feature.
|
|
13
|
+
*/
|
|
14
|
+
get descriptor(): TDescriptor;
|
|
15
|
+
set descriptor(value: TDescriptor);
|
|
16
|
+
/**
|
|
17
|
+
* Returns whether the feature is enabled.
|
|
18
|
+
*/
|
|
19
|
+
get enabled(): boolean;
|
|
20
|
+
set enabled(value: boolean);
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether the feature is supported.
|
|
23
|
+
* @param descriptor - The descriptor of the feature
|
|
24
|
+
* @returns The promise of the feature
|
|
25
|
+
*/
|
|
26
|
+
isSupported(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the feature.
|
|
29
|
+
* @returns The promise of the feature
|
|
30
|
+
*/
|
|
31
|
+
initialize(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Called when be enabled.
|
|
34
|
+
*/
|
|
35
|
+
onEnable(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Called when be disabled.
|
|
38
|
+
*/
|
|
39
|
+
onDisable(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Called when xr frame is updated.
|
|
42
|
+
*/
|
|
43
|
+
onUpdate(session: IXRSession, frame: IXRFrame): void;
|
|
44
|
+
/**
|
|
45
|
+
* Called when the session is initialized.
|
|
46
|
+
*/
|
|
47
|
+
onSessionInit(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Called when session starts.
|
|
50
|
+
*/
|
|
51
|
+
onSessionStart(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Called when the session is stopped.
|
|
54
|
+
*/
|
|
55
|
+
onSessionStop(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Called when the session is destroyed.
|
|
58
|
+
*/
|
|
59
|
+
onSessionDestroy(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Called when the xr module is destroyed.
|
|
62
|
+
*/
|
|
63
|
+
onDestroy(): void;
|
|
64
|
+
constructor(_engine: Engine);
|
|
65
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for XR feature type.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum XRFeatureType {
|
|
5
|
+
/** Movement tracking */
|
|
6
|
+
MovementTracking = 0,
|
|
7
|
+
/** Control camera parameters such as focal length, etc.*/
|
|
8
|
+
CameraDevice = 1,
|
|
9
|
+
/** Anchor tracking */
|
|
10
|
+
AnchorTracking = 2,
|
|
11
|
+
/** Image tracking */
|
|
12
|
+
ImageTracking = 3,
|
|
13
|
+
/** Plane tracking */
|
|
14
|
+
PlaneTracking = 4,
|
|
15
|
+
/** Hit test */
|
|
16
|
+
HitTest = 5
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IXRPlatformFeature, IXRFeatureDescriptor } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../../Engine";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR platform feature.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRPlatformFeature implements IXRPlatformFeature {
|
|
7
|
+
protected _engine: Engine;
|
|
8
|
+
constructor(engine: Engine);
|
|
9
|
+
_isSupported(descriptor: IXRFeatureDescriptor): Promise<void>;
|
|
10
|
+
_initialize(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
11
|
+
_onUpdate(): void;
|
|
12
|
+
_onDestroy(): void;
|
|
13
|
+
_onSessionInit(): void;
|
|
14
|
+
_onSessionStart(): void;
|
|
15
|
+
_onSessionStop(): void;
|
|
16
|
+
_onSessionDestroy(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Camera } from "../../../Camera";
|
|
2
|
+
import { Engine } from "../../../Engine";
|
|
3
|
+
import { XRInputType } from "../../input/XRInputType";
|
|
4
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
5
|
+
import { IXRCameraDescriptor } from "./IXRCameraDescriptor";
|
|
6
|
+
export declare class XRCameraManager extends XRFeatureManager<IXRCameraDescriptor> {
|
|
7
|
+
private _inputManager;
|
|
8
|
+
private _sessionManager;
|
|
9
|
+
get enabled(): boolean;
|
|
10
|
+
set enabled(value: boolean);
|
|
11
|
+
/**
|
|
12
|
+
* Attach the camera to the specified input type.
|
|
13
|
+
* @param type - The input type
|
|
14
|
+
* @param camera - The camera to be attached
|
|
15
|
+
*/
|
|
16
|
+
attachCamera(type: XRInputType, camera: Camera): void;
|
|
17
|
+
/**
|
|
18
|
+
* Detach the camera from the specified input type.
|
|
19
|
+
* @param type - The input type
|
|
20
|
+
* @returns The camera that was detached
|
|
21
|
+
*/
|
|
22
|
+
detachCamera(type: XRInputType): Camera;
|
|
23
|
+
/**
|
|
24
|
+
* Get the camera by the specified input type.
|
|
25
|
+
* @param type - The input type
|
|
26
|
+
* @returns The camera
|
|
27
|
+
*/
|
|
28
|
+
getCameraByType(type: XRInputType): Camera;
|
|
29
|
+
/**
|
|
30
|
+
* Return fixed foveation of the camera.
|
|
31
|
+
*/
|
|
32
|
+
get fixedFoveation(): number;
|
|
33
|
+
set fixedFoveation(value: number);
|
|
34
|
+
constructor(engine: Engine);
|
|
35
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for the types of hit test that can be performed.
|
|
3
|
+
* Note: currently only supports plane.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum XRHitTestType {
|
|
6
|
+
/** None */
|
|
7
|
+
None = 0,
|
|
8
|
+
/** Tracked plane. */
|
|
9
|
+
Plane = 1,
|
|
10
|
+
/** Tracked mesh. */
|
|
11
|
+
Mesh = 2,
|
|
12
|
+
/** Tracked anchor. */
|
|
13
|
+
Anchor = 4,
|
|
14
|
+
/** All tracked objects. */
|
|
15
|
+
All = 7
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRHitResult } from "@galacean/engine-design";
|
|
2
|
+
import { XRHitTestType } from "./XRHitTestType";
|
|
3
|
+
import { Ray } from "@galacean/engine-math";
|
|
4
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
5
|
+
export declare class XRHitTestManager extends XRFeatureManager {
|
|
6
|
+
private _tempRay;
|
|
7
|
+
private _tempVec2;
|
|
8
|
+
private _tempVec30;
|
|
9
|
+
private _tempVec31;
|
|
10
|
+
private _tempVec32;
|
|
11
|
+
private _tempVec33;
|
|
12
|
+
private _tempVec34;
|
|
13
|
+
private _tempVec35;
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the feature is supported.
|
|
16
|
+
* @param descriptor - The descriptor of the feature
|
|
17
|
+
* @returns The promise of the feature
|
|
18
|
+
*/
|
|
19
|
+
isSupported(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Hit test.
|
|
22
|
+
* @param ray - The ray to test
|
|
23
|
+
* @param type - The type of hit test
|
|
24
|
+
* @returns The hit result
|
|
25
|
+
*/
|
|
26
|
+
hitTest(ray: Ray, type: XRHitTestType): IXRHitResult[];
|
|
27
|
+
/**
|
|
28
|
+
* Screen hit test.
|
|
29
|
+
* @param x - The x coordinate of the screen point (normalized)
|
|
30
|
+
* @param y - The y coordinate of the screen point (normalized)
|
|
31
|
+
* @param type - The type of hit test
|
|
32
|
+
* @returns The hit result
|
|
33
|
+
*/
|
|
34
|
+
screenHitTest(x: number, y: number, type: XRHitTestType): IXRHitResult[];
|
|
35
|
+
private _hitTest;
|
|
36
|
+
private _hitTestPlane;
|
|
37
|
+
private _checkPointerWithinPlane;
|
|
38
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor } from "@galacean/engine-design";
|
|
2
|
+
import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
|
|
3
|
+
/**
|
|
4
|
+
* The descriptor of XR movement tracking.
|
|
5
|
+
*/
|
|
6
|
+
export interface IXRMovementTrackingDescriptor extends IXRFeatureDescriptor {
|
|
7
|
+
/** The mode of movement tracking. */
|
|
8
|
+
mode: XRMovementTrackingMode;
|
|
9
|
+
}
|