@galacean/engine-core 0.9.20 → 0.9.21

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 (153) hide show
  1. package/dist/main.js +834 -1495
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +834 -1495
  4. package/dist/module.js +613 -1109
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/RenderPipeline/CullingResults.d.ts +1 -0
  8. package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
  9. package/types/RenderPipeline/PipelinePass.d.ts +16 -0
  10. package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
  11. package/types/RenderPipeline/RenderData.d.ts +8 -1
  12. package/types/RenderPipeline/RenderElementX.d.ts +12 -0
  13. package/types/RenderPipeline/enums/PipelineStage.d.ts +2 -0
  14. package/types/SafeLoopArray.d.ts +37 -0
  15. package/types/Ticker.d.ts +30 -0
  16. package/types/animation/animationCurve/AnimationRectCurve.d.ts +8 -0
  17. package/types/animation/animationCurve/AnimationRefCurve.d.ts +8 -0
  18. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  19. package/types/asset/GraphicsResource.d.ts +4 -0
  20. package/types/enums/ActiveChangeFlag.d.ts +6 -0
  21. package/types/enums/DepthTextureMode.d.ts +7 -0
  22. package/types/graphic/Primitive.d.ts +1 -0
  23. package/types/graphic/PrimitiveVertexBinding.d.ts +1 -0
  24. package/types/graphic/SubPrimitive.d.ts +9 -0
  25. package/types/particle/ParticleBufferUtils.d.ts +1 -0
  26. package/types/particle/ParticleData.d.ts +1 -0
  27. package/types/particle/ParticleGenerator.d.ts +72 -0
  28. package/types/particle/ParticleMaterial.d.ts +28 -0
  29. package/types/particle/ParticleMesh.d.ts +289 -0
  30. package/types/particle/ParticleShaderDeclaration.d.ts +1 -0
  31. package/types/particle/ParticleShaderMacro.d.ts +1 -0
  32. package/types/particle/ParticleShaderProperty.d.ts +1 -0
  33. package/types/particle/ParticleSystem.d.ts +41 -0
  34. package/types/particle/ParticleVertexElements.d.ts +1 -0
  35. package/types/particle/ParticleVertexUtils.d.ts +1 -0
  36. package/types/particle/enum/ParticleAnimationRowMode.d.ts +9 -0
  37. package/types/particle/enum/ParticleAnimationType.d.ts +9 -0
  38. package/types/particle/enum/ParticleCurveMode.d.ts +13 -0
  39. package/types/particle/enum/ParticleGradientMode.d.ts +13 -0
  40. package/types/particle/enum/ParticleRenderMode.d.ts +17 -0
  41. package/types/particle/enum/ParticleScaleMode.d.ts +11 -0
  42. package/types/particle/enum/ParticleShapeMultiModeValue.d.ts +9 -0
  43. package/types/particle/enum/ParticleShapeType.d.ts +15 -0
  44. package/types/particle/enum/ParticleSimulationSpace.d.ts +9 -0
  45. package/types/particle/enum/index.d.ts +9 -0
  46. package/types/particle/enums/ParticleCurveMode.d.ts +9 -0
  47. package/types/particle/enums/ParticleGradientMode.d.ts +9 -0
  48. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +1 -0
  49. package/types/particle/enums/ParticleRenderMode.d.ts +17 -0
  50. package/types/particle/enums/ParticleScaleMode.d.ts +11 -0
  51. package/types/particle/enums/ParticleSimulationSpace.d.ts +9 -0
  52. package/types/particle/enums/ParticleStopMode.d.ts +6 -0
  53. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +1 -0
  54. package/types/particle/enums/attributes/MeshParticleVertexAttribute.d.ts +5 -0
  55. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +1 -0
  56. package/types/particle/module/Burst.d.ts +38 -0
  57. package/types/particle/module/ColorGradient.d.ts +75 -0
  58. package/types/particle/module/ColorOverLifetimeModule.d.ts +20 -0
  59. package/types/particle/module/EmissionModule.d.ts +63 -0
  60. package/types/particle/module/FrameOverTime.d.ts +73 -0
  61. package/types/particle/module/ParticleCurve.d.ts +37 -0
  62. package/types/particle/module/RotationOverLifetimeModule.d.ts +21 -0
  63. package/types/particle/module/RotationVelocityGradient.d.ts +184 -0
  64. package/types/particle/module/SizeGradient.d.ts +151 -0
  65. package/types/particle/module/SizeOverLifetimeModule.d.ts +21 -0
  66. package/types/particle/module/StartFrame.d.ts +46 -0
  67. package/types/particle/module/TextureSheetAnimationModule.d.ts +37 -0
  68. package/types/particle/module/VelocityGradient.d.ts +110 -0
  69. package/types/particle/module/VelocityOverLifetimeModule.d.ts +22 -0
  70. package/types/particle/module/index.d.ts +15 -0
  71. package/types/particle/module/shape/BaseShape.d.ts +26 -0
  72. package/types/particle/module/shape/BoxShape.d.ts +20 -0
  73. package/types/particle/module/shape/CircleShape.d.ts +27 -0
  74. package/types/particle/module/shape/ConeShape.d.ts +35 -0
  75. package/types/particle/module/shape/HemisphereShape.d.ts +23 -0
  76. package/types/particle/module/shape/ShapeUtils.d.ts +1 -0
  77. package/types/particle/module/shape/SphereShape.d.ts +23 -0
  78. package/types/particle/module/shape/index.d.ts +5 -0
  79. package/types/particle/modules/Burst.d.ts +14 -0
  80. package/types/particle/modules/ColorOverLifetimeModule.d.ts +20 -0
  81. package/types/particle/modules/EmissionModule.d.ts +45 -0
  82. package/types/particle/modules/MainModule.d.ts +70 -0
  83. package/types/particle/modules/ParticleCompositeCurve.d.ts +56 -0
  84. package/types/particle/modules/ParticleCompositeGradient.d.ts +55 -0
  85. package/types/particle/modules/ParticleCurve.d.ts +56 -0
  86. package/types/particle/modules/ParticleGeneratorModule.d.ts +12 -0
  87. package/types/particle/modules/ParticleGradient.d.ts +94 -0
  88. package/types/particle/modules/RotationOverLifetimeModule.d.ts +34 -0
  89. package/types/particle/modules/ShapeModule.d.ts +9 -0
  90. package/types/particle/modules/SizeOverLifetimeModule.d.ts +34 -0
  91. package/types/particle/modules/TextureSheetAnimationModule.d.ts +38 -0
  92. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +34 -0
  93. package/types/particle/modules/shape/BaseShape.d.ts +12 -0
  94. package/types/particle/modules/shape/BoxShape.d.ts +11 -0
  95. package/types/particle/modules/shape/CircleShape.d.ts +17 -0
  96. package/types/particle/modules/shape/ConeShape.d.ts +28 -0
  97. package/types/particle/modules/shape/HemisphereShape.d.ts +9 -0
  98. package/types/particle/modules/shape/ShapeUtils.d.ts +1 -0
  99. package/types/particle/modules/shape/SphereShape.d.ts +9 -0
  100. package/types/particle/modules/shape/enums/ParticleShapeArcMode.d.ts +9 -0
  101. package/types/particle/modules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  102. package/types/particle/modules/shape/enums/ParticleShapeType.d.ts +15 -0
  103. package/types/particle/modules/shape/index.d.ts +6 -0
  104. package/types/particle/moudules/Burst.d.ts +25 -0
  105. package/types/particle/moudules/Emission.d.ts +47 -0
  106. package/types/particle/moudules/EmissionModule.d.ts +49 -0
  107. package/types/particle/moudules/MainModule.d.ts +59 -0
  108. package/types/particle/moudules/ParticleCurve.d.ts +27 -0
  109. package/types/particle/moudules/ParticleGradient.d.ts +28 -0
  110. package/types/particle/moudules/ShapeModule.d.ts +7 -0
  111. package/types/particle/moudules/shape/BaseShape.d.ts +28 -0
  112. package/types/particle/moudules/shape/BoxShape.d.ts +20 -0
  113. package/types/particle/moudules/shape/CircleShape.d.ts +27 -0
  114. package/types/particle/moudules/shape/ConeShape.d.ts +35 -0
  115. package/types/particle/moudules/shape/HemisphereShape.d.ts +23 -0
  116. package/types/particle/moudules/shape/ShapeUtils.d.ts +1 -0
  117. package/types/particle/moudules/shape/SphereShape.d.ts +23 -0
  118. package/types/particle/moudules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  119. package/types/particle/moudules/shape/enums/ParticleShapeType.d.ts +15 -0
  120. package/types/particle/moudules/shape/index.d.ts +5 -0
  121. package/types/physics/PhysicsScene.d.ts +79 -0
  122. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +0 -1
  123. package/types/shader/ShaderPart.d.ts +5 -0
  124. package/types/shader/SubShader.d.ts +0 -1
  125. package/types/shader/enums/RenderStateElementKey.d.ts +60 -0
  126. package/types/shaderlib/particle/index.d.ts +14 -0
  127. package/types/shadow/PipelinePass.d.ts +16 -0
  128. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  129. package/types/utils/DisorderedArray.d.ts +18 -0
  130. package/types/utils/SafeLoopArray.d.ts +41 -0
  131. package/types/utils/UpdateFlag.d.ts +20 -0
  132. package/types/utils/UpdateFlagManager.d.ts +1 -0
  133. package/types/utils/Utils.d.ts +31 -0
  134. package/types/xr/XRManager.d.ts +31 -0
  135. package/types/xr/component/XRPoseDriver.d.ts +10 -0
  136. package/types/xr/data/XRCamera.d.ts +6 -0
  137. package/types/xr/data/XRDevice.d.ts +9 -0
  138. package/types/xr/data/XRHandle.d.ts +10 -0
  139. package/types/xr/enum/EnumXRButton.d.ts +5 -0
  140. package/types/xr/enum/EnumXRDevicePhase.d.ts +4 -0
  141. package/types/xr/enum/EnumXRFeature.d.ts +9 -0
  142. package/types/xr/enum/EnumXRInputSource.d.ts +8 -0
  143. package/types/xr/enum/EnumXRMode.d.ts +7 -0
  144. package/types/xr/enum/EnumXRSubsystem.d.ts +4 -0
  145. package/types/xr/enum/EnumXRTrackingMode.d.ts +7 -0
  146. package/types/xr/feature/XRCameraManager.d.ts +21 -0
  147. package/types/xr/feature/XRFeature.d.ts +29 -0
  148. package/types/xr/feature/XRImageTrackManager.d.ts +10 -0
  149. package/types/xr/feature/XRInputManager.d.ts +16 -0
  150. package/types/xr/index.d.ts +18 -0
  151. package/types/xr/provider/XRProvider.d.ts +19 -0
  152. package/types/xr/subsystem/XRInputSubsystem.d.ts +5 -0
  153. package/types/xr/subsystem/XRSubsystem.d.ts +30 -0
@@ -0,0 +1,79 @@
1
+ import { Ray, Vector3 } from "@galacean/engine-math";
2
+ import { Layer } from "../Layer";
3
+ import { Scene } from "../Scene";
4
+ import { HitResult } from "./HitResult";
5
+ /**
6
+ * A physics scene is a collection of colliders and constraints which can interact.
7
+ */
8
+ export declare class PhysicsScene {
9
+ private static _collision;
10
+ private _scene;
11
+ private _restTime;
12
+ private _fixedTimeStep;
13
+ private _colliders;
14
+ private _gravity;
15
+ private _nativePhysicsScene;
16
+ private _onContactEnter;
17
+ private _onContactExit;
18
+ private _onContactStay;
19
+ private _onTriggerEnter;
20
+ private _onTriggerExit;
21
+ private _onTriggerStay;
22
+ /**
23
+ * The gravity of physics scene.
24
+ */
25
+ get gravity(): Vector3;
26
+ set gravity(value: Vector3);
27
+ /**
28
+ * The fixed time step in seconds at which physics are performed.
29
+ */
30
+ get fixedTimeStep(): number;
31
+ set fixedTimeStep(value: number);
32
+ constructor(scene: Scene);
33
+ /**
34
+ * Casts a ray through the Scene and returns the first hit.
35
+ * @param ray - The ray
36
+ * @returns Returns True if the ray intersects with a collider, otherwise false
37
+ */
38
+ raycast(ray: Ray): boolean;
39
+ /**
40
+ * Casts a ray through the Scene and returns the first hit.
41
+ * @param ray - The ray
42
+ * @param outHitResult - If true is returned, outHitResult will contain more detailed collision information
43
+ * @returns Returns True if the ray intersects with a collider, otherwise false
44
+ */
45
+ raycast(ray: Ray, outHitResult: HitResult): boolean;
46
+ /**
47
+ * Casts a ray through the Scene and returns the first hit.
48
+ * @param ray - The ray
49
+ * @param distance - The max distance the ray should check
50
+ * @returns Returns True if the ray intersects with a collider, otherwise false
51
+ */
52
+ raycast(ray: Ray, distance: number): boolean;
53
+ /**
54
+ * Casts a ray through the Scene and returns the first hit.
55
+ * @param ray - The ray
56
+ * @param distance - The max distance the ray should check
57
+ * @param outHitResult - If true is returned, outHitResult will contain more detailed collision information
58
+ * @returns Returns True if the ray intersects with a collider, otherwise false
59
+ */
60
+ raycast(ray: Ray, distance: number, outHitResult: HitResult): boolean;
61
+ /**
62
+ * Casts a ray through the Scene and returns the first hit.
63
+ * @param ray - The ray
64
+ * @param distance - The max distance the ray should check
65
+ * @param layerMask - Layer mask that is used to selectively ignore Colliders when casting
66
+ * @returns Returns True if the ray intersects with a collider, otherwise false
67
+ */
68
+ raycast(ray: Ray, distance: number, layerMask: Layer): boolean;
69
+ /**
70
+ * Casts a ray through the Scene and returns the first hit.
71
+ * @param ray - The ray
72
+ * @param distance - The max distance the ray should check
73
+ * @param layerMask - Layer mask that is used to selectively ignore Colliders when casting
74
+ * @param outHitResult - If true is returned, outHitResult will contain more detailed collision information
75
+ * @returns Returns True if the ray intersects with a collider, otherwise false.
76
+ */
77
+ raycast(ray: Ray, distance: number, layerMask: Layer, outHitResult: HitResult): boolean;
78
+ private _setGravity;
79
+ }
@@ -3,6 +3,5 @@ export interface IPlatformBuffer {
3
3
  bind(): void;
4
4
  setData(byteLength: number, data: ArrayBuffer | ArrayBufferView, bufferByteOffset?: number, dataOffset?: number, dataLength?: number, options?: SetDataOptions): void;
5
5
  getData(data: ArrayBufferView, bufferByteOffset?: number, dataOffset?: number, dataLength?: number): void;
6
- resize(byteLength: number): void;
7
6
  destroy(): void;
8
7
  }
@@ -3,7 +3,12 @@ import { ShaderTagKey } from "./ShaderTagKey";
3
3
  * Base class for shader structure.
4
4
  */
5
5
  export declare abstract class ShaderPart {
6
+ protected _name: string;
6
7
  private _tagsMap;
8
+ /**
9
+ * Name.
10
+ */
11
+ get name(): string;
7
12
  /**
8
13
  * Set tag by key name.
9
14
  * @param keyName - Key name of the tag
@@ -4,7 +4,6 @@ import { ShaderPass } from "./ShaderPass";
4
4
  * Sub shader.
5
5
  */
6
6
  export declare class SubShader extends ShaderPart {
7
- readonly name: string;
8
7
  private _passes;
9
8
  /**
10
9
  * Sub shader passes.
@@ -0,0 +1,60 @@
1
+ export declare enum RenderStateElementKey {
2
+ /** Blend state enabled for target 0 key. */
3
+ BlendStateEnabled0 = 0,
4
+ /** Blend state color blend operation for target 0 key. */
5
+ BlendStateColorBlendOperation0 = 1,
6
+ /** Blend state alpha blend operation for target 0 key. */
7
+ BlendStateAlphaBlendOperation0 = 2,
8
+ /** Blend state source color blend factor for target 0 key. */
9
+ BlendStateSourceColorBlendFactor0 = 3,
10
+ /** Blend state source alpha blend factor for target 0 key. */
11
+ BlendStateSourceAlphaBlendFactor0 = 4,
12
+ /** Blend state destination color blend factor for target 0 key. */
13
+ BlendStateDestinationColorBlendFactor0 = 5,
14
+ /** Blend state destination alpha blend factor for target 0 key. */
15
+ BlendStateDestinationAlphaBlendFactor0 = 6,
16
+ /** Blend state color write mask for target 0 key. */
17
+ BlendStateColorWriteMask0 = 7,
18
+ /** Blend state blend color key. */
19
+ BlendStateBlendColor = 8,
20
+ /** Blend state alpha to coverage key. */
21
+ BlendStateAlphaToCoverage = 9,
22
+ /** Depth state enabled key. */
23
+ DepthStateEnabled = 10,
24
+ /** Depth state write enabled key. */
25
+ DepthStateWriteEnabled = 11,
26
+ /** Depth state compare function key. */
27
+ DepthStateCompareFunction = 12,
28
+ /** Stencil state enabled key. */
29
+ StencilStateEnabled = 13,
30
+ /** Stencil state reference value key. */
31
+ StencilStateReferenceValue = 14,
32
+ /** Stencil state read mask key. */
33
+ StencilStateMask = 15,
34
+ /** Stencil state write mask key. */
35
+ StencilStateWriteMask = 16,
36
+ /** Stencil state compare function front key. */
37
+ StencilStateCompareFunctionFront = 17,
38
+ /** Stencil state compare function back key. */
39
+ StencilStateCompareFunctionBack = 18,
40
+ /** Stencil state pass operation front key. */
41
+ StencilStatePassOperationFront = 19,
42
+ /** Stencil state pass operation back key. */
43
+ StencilStatePassOperationBack = 20,
44
+ /** Stencil state fail operation front key. */
45
+ StencilStateFailOperationFront = 21,
46
+ /** Stencil state fail operation back key. */
47
+ StencilStateFailOperationBack = 22,
48
+ /** Stencil state z fail operation front key. */
49
+ StencilStateZFailOperationFront = 23,
50
+ /** Stencil state z fail operation back key. */
51
+ StencilStateZFailOperationBack = 24,
52
+ /** Raster state fill mode key. */
53
+ RasterStateCullMode = 25,
54
+ /** Raster state cull mode key. */
55
+ RasterStateDepthBias = 26,
56
+ /** Raster state depth bias key. */
57
+ RasterStateSlopeScaledDepthBias = 27,
58
+ /** Render queue type key. */
59
+ RenderQueueType = 28
60
+ }
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ particle_common: string;
3
+ velocity_over_lifetime_module: string;
4
+ rotation_over_lifetime_module: string;
5
+ size_over_lifetime_module: string;
6
+ color_over_lifetime_module: string;
7
+ texture_sheet_animation_module: string;
8
+ sphere_billboard: string;
9
+ stretched_billboard: string;
10
+ vertical_billboard: string;
11
+ horizontal_billboard: string;
12
+ particle_mesh: string;
13
+ };
14
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { Engine } from "../Engine";
2
+ import { CullingResults } from "../RenderPipeline/CullingResults";
3
+ import { RenderContext } from "../RenderPipeline/RenderContext";
4
+ /**
5
+ * PipelinePass is a base class for all pipeline passes.
6
+ */
7
+ export declare abstract class PipelinePass {
8
+ protected _engine: Engine;
9
+ constructor(engine: Engine);
10
+ /**
11
+ * Called before rendering a camera, override this method to configure the camera If you need to configure the camera clear flag or render target.
12
+ * @param context - Rendering context
13
+ * @param cullingResults - Culling results
14
+ */
15
+ abstract onRender(context: RenderContext, cullingResults: CullingResults): void;
16
+ }
@@ -0,0 +1,12 @@
1
+ import { UpdateFlag } from "./UpdateFlag";
2
+ /**
3
+ * Bool update flag.
4
+ */
5
+ export declare class BoolUpdateFlag extends UpdateFlag {
6
+ /** Bool flag. */
7
+ flag: boolean;
8
+ /**
9
+ * @inheritdoc
10
+ */
11
+ dispatch(): void;
12
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * High-performance unordered array, delete uses exchange method to improve performance, internal capacity only increases.
3
+ */
4
+ export declare class DisorderedArray<T> {
5
+ _elements: T[];
6
+ length: number;
7
+ constructor(count?: number);
8
+ add(element: T): void;
9
+ delete(element: T): void;
10
+ get(index: number): T;
11
+ /**
12
+ *
13
+ * @param index
14
+ * @returns The replaced item is used to reset its index.
15
+ */
16
+ deleteByIndex(index: number): T;
17
+ garbageCollection(): void;
18
+ }
@@ -0,0 +1,41 @@
1
+ export declare class SafeLoopArray<T> {
2
+ private _array;
3
+ private _loopArray;
4
+ private _loopArrayDirty;
5
+ /**
6
+ * Get the length of the array.
7
+ */
8
+ get length(): number;
9
+ /**
10
+ * Push item to the array.
11
+ * @param item - The item which want to be pushed
12
+ */
13
+ push(item: T): void;
14
+ /**
15
+ * Add item to the array.
16
+ * @param index - The index of the array
17
+ * @param item - The item which want to be added
18
+ */
19
+ add(index: number, item: T): void;
20
+ /**
21
+ * Remove item from the array.
22
+ * @param index - The index of the array
23
+ */
24
+ removeByIndex(index: number): void;
25
+ /**
26
+ * The index of the item.
27
+ * @param item - The item which want to get the index
28
+ * @returns Index of the item
29
+ */
30
+ indexOf(item: T): number;
31
+ /**
32
+ * Get the array.
33
+ * @returns The array
34
+ */
35
+ getArray(): ReadonlyArray<T>;
36
+ /**
37
+ * Get the array use for loop.
38
+ * @returns The array use for loop
39
+ */
40
+ getLoopArray(): ReadonlyArray<T>;
41
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Used to update tags.
3
+ */
4
+ export declare abstract class UpdateFlag {
5
+ /**
6
+ * Dispatch.
7
+ * @param bit - Bit
8
+ * @param param - Parameter
9
+ */
10
+ abstract dispatch(bit?: number, param?: Object): void;
11
+ /**
12
+ * Clear.
13
+ */
14
+ clearFromManagers(): void;
15
+ /**
16
+ * Destroy.
17
+ */
18
+ destroy(): void;
19
+ private _removeFromManagers;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ export declare class Utils {
2
+ /**
3
+ * Fast remove an element from array.
4
+ * @param array - Array
5
+ * @param item - Element
6
+ */
7
+ static removeFromArray(array: any[], item: any): boolean;
8
+ /**
9
+ * Decodes a given Uint8Array into a string.
10
+ */
11
+ static decodeText(array: Uint8Array): string;
12
+ /**
13
+ * Judge whether the url is absolute url.
14
+ * @param url - The url to be judged.
15
+ * @returns Whether the url is absolute url.
16
+ */
17
+ static isAbsoluteUrl(url: string): boolean;
18
+ /**
19
+ * Get the values of an object.
20
+ */
21
+ static objectValues(obj: any): any[];
22
+ /**
23
+ * Convert a relative URL to an absolute URL based on a given base URL.
24
+ * @param baseUrl - The base url.
25
+ * @param relativeUrl - The relative url.
26
+ * @returns The resolved url.
27
+ */
28
+ static resolveAbsoluteUrl(baseUrl: string, relativeUrl: string): string;
29
+ private static _stringToPath;
30
+ private static _formatRelativePath;
31
+ }
@@ -0,0 +1,31 @@
1
+ import { Engine } from "../Engine";
2
+ import { EnumXRMode } from "./enum/EnumXRMode";
3
+ import { EnumXRFeature } from "./enum/EnumXRFeature";
4
+ import { EnumXRTrackingMode } from "./enum/EnumXRTrackingMode";
5
+ import { XRFeature } from "./feature/XRFeature";
6
+ import { EnumXRSubsystem } from "./enum/EnumXRSubsystem";
7
+ import { XRProvider } from "./provider/XRProvider";
8
+ import { XRSubsystem } from "./subsystem/XRSubsystem";
9
+ type FeatureConstructor = new (engine: Engine) => XRFeature;
10
+ export declare class XRManager {
11
+ private _engine;
12
+ private _provider;
13
+ private _features;
14
+ private _subsystems;
15
+ private _isPaused;
16
+ isSupportedMode(mode: EnumXRMode): Promise<void>;
17
+ isSupportedTrackingMode(mode: EnumXRTrackingMode): Promise<void>;
18
+ isSupportedFeature(feature: EnumXRFeature): Promise<void>;
19
+ getFeature<T extends XRFeature>(feature: EnumXRFeature): T;
20
+ enableFeature(feature: EnumXRFeature): void;
21
+ disableFeature(feature: EnumXRFeature): void;
22
+ getSubsystem<T extends XRSubsystem>(subsystem: EnumXRSubsystem): T;
23
+ initialize(mode: EnumXRMode, trackingMode: EnumXRTrackingMode, requestFeatures?: EnumXRFeature[]): Promise<void>;
24
+ start(): Promise<void>;
25
+ pause(): void;
26
+ resume(): void;
27
+ destroy(): void;
28
+ constructor(engine: Engine, type: new (engine: Engine) => XRProvider);
29
+ }
30
+ export declare function registerFeature(feature: EnumXRFeature, dependentSubsystem?: EnumXRSubsystem[]): (featureConstructor: FeatureConstructor) => void;
31
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Script } from "../../Script";
2
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
3
+ import { EnumXRTrackingMode } from "../enum/EnumXRTrackingMode";
4
+ export declare class XRPoseDriver extends Script {
5
+ source: EnumXRInputSource;
6
+ updateType: EnumXRTrackingMode;
7
+ private _xrManager;
8
+ onLateUpdate(): void;
9
+ onAwake(): void;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { Matrix, Vector4 } from "@galacean/engine-math";
2
+ import { XRDevice } from "./XRDevice";
3
+ export declare class XRCamera extends XRDevice {
4
+ project: Matrix;
5
+ viewport: Vector4;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { Matrix, Quaternion, Vector3 } from "@galacean/engine-math";
2
+ import { EnumXRDevicePhase } from "../enum/EnumXRDevicePhase";
3
+ export declare class XRDevice {
4
+ matrix: Matrix;
5
+ position: Vector3;
6
+ linearVelocity: Vector3;
7
+ quaternion: Quaternion;
8
+ phase: EnumXRDevicePhase;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { XRDevice } from "./XRDevice";
2
+ import { EnumXRButton } from "../enum/EnumXRButton";
3
+ import { DisorderedArray } from "../../DisorderedArray";
4
+ export declare class XRHandle extends XRDevice {
5
+ pressedButtons: EnumXRButton;
6
+ upMap: number[];
7
+ downMap: number[];
8
+ upList: DisorderedArray<EnumXRButton>;
9
+ downList: DisorderedArray<EnumXRButton>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum EnumXRButton {
2
+ None = 0,
3
+ Select = 1,
4
+ Squeeze = 2
5
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum EnumXRDevicePhase {
2
+ active = 0,
3
+ leave = 1
4
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ */
4
+ export declare enum EnumXRFeature {
5
+ input = 0,
6
+ camera = 1,
7
+ imageTracking = 2,
8
+ objectTracking = 3
9
+ }
@@ -0,0 +1,8 @@
1
+ export declare enum EnumXRInputSource {
2
+ Handler = 0,
3
+ LeftHandle = 1,
4
+ RightHandle = 2,
5
+ Eye = 3,
6
+ LeftEye = 4,
7
+ RightEye = 5
8
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Modes for XR
3
+ */
4
+ export declare enum EnumXRMode {
5
+ AR = 0,
6
+ VR = 1
7
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum EnumXRSubsystem {
2
+ input = 0,
3
+ imageTracking = 1
4
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum EnumXRTrackingMode {
2
+ None = 0,
3
+ RotationOnly = 1,
4
+ PositionOnly = 2,
5
+ RotationAndPosition = 3,
6
+ Auto = 4
7
+ }
@@ -0,0 +1,21 @@
1
+ import { Camera } from "../../Camera";
2
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
3
+ import { XRFeature } from "./XRFeature";
4
+ export declare class XRCameraManager extends XRFeature {
5
+ private _cameras;
6
+ private _automaticNear;
7
+ private _customNear;
8
+ private _automaticFar;
9
+ private _customFar;
10
+ get near(): number;
11
+ set near(value: number);
12
+ get far(): number;
13
+ set far(value: number);
14
+ attachCamera(source: EnumXRInputSource, camera: Camera): void;
15
+ detachCamera(source: EnumXRInputSource): void;
16
+ getCamera(source: EnumXRInputSource): Camera;
17
+ onUpdate(): void;
18
+ onEnable(): void;
19
+ onDisable(): void;
20
+ onDestroy(): void;
21
+ }
@@ -0,0 +1,29 @@
1
+ import { Engine } from "../../Engine";
2
+ export declare abstract class XRFeature {
3
+ protected _engine: Engine;
4
+ /**
5
+ * Enable an instance of a feature.
6
+ * This method needs to be override.
7
+ * @returns
8
+ */
9
+ onEnable(): void;
10
+ /**
11
+ * Disable an instance of a feature.
12
+ * This method needs to be override.
13
+ * @returns
14
+ */
15
+ onDisable(): void;
16
+ /**
17
+ * Update an instance of a feature.
18
+ * This method needs to be override.
19
+ * @returns
20
+ */
21
+ onUpdate(): void;
22
+ /**
23
+ * Destroy an instance of a feature.
24
+ * This method needs to be override.
25
+ * @returns
26
+ */
27
+ onDestroy(): void;
28
+ constructor(engine: Engine);
29
+ }
@@ -0,0 +1,10 @@
1
+ import { Entity } from "../../Entity";
2
+ import { XRFeature } from "./XRFeature";
3
+ export declare class XRImageTrackManager extends XRFeature {
4
+ addImage(): void;
5
+ removeImage(): void;
6
+ getTrackedObject(): Entity;
7
+ onEnable(): void;
8
+ onDisable(): void;
9
+ onDestroy(): void;
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Engine } from "../../Engine";
2
+ import { XRDevice } from "../data/XRDevice";
3
+ import { EnumXRButton } from "../enum/EnumXRButton";
4
+ import { EnumXRInputSource } from "../enum/EnumXRInputSource";
5
+ import { XRFeature } from "./XRFeature";
6
+ export declare class XRInputManager extends XRFeature {
7
+ private _subSystem;
8
+ getDevice<T extends XRDevice>(source: EnumXRInputSource): T;
9
+ isButtonDown(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
10
+ isButtonUp(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
11
+ isButtonHeldDown(handedness: EnumXRInputSource, button: EnumXRButton): boolean;
12
+ onEnable(): void;
13
+ onDisable(): void;
14
+ onDestroy(): void;
15
+ constructor(engine: Engine);
16
+ }
@@ -0,0 +1,18 @@
1
+ export { XRManager, registerFeature } from "./XRManager";
2
+ export { EnumXRMode } from "./enum/EnumXRMode";
3
+ export { EnumXRButton } from "./enum/EnumXRButton";
4
+ export { EnumXRFeature } from "./enum/EnumXRFeature";
5
+ export { EnumXRSubsystem } from "./enum/EnumXRSubsystem";
6
+ export { EnumXRDevicePhase } from "./enum/EnumXRDevicePhase";
7
+ export { EnumXRInputSource } from "./enum/EnumXRInputSource";
8
+ export { EnumXRTrackingMode } from "./enum/EnumXRTrackingMode";
9
+ export { XRInputManager } from "./feature/XRInputManager";
10
+ export { XRCameraManager } from "./feature/XRCameraManager";
11
+ export { XRImageTrackManager } from "./feature/XRImageTrackManager";
12
+ export { XRSubsystem } from "./subsystem/XRSubsystem";
13
+ export { XRInputSubsystem } from "./subsystem/XRInputSubsystem";
14
+ export { XRProvider } from "./provider/XRProvider";
15
+ export { XRPoseDriver } from "./component/XRPoseDriver";
16
+ export { XRDevice } from "./data/XRDevice";
17
+ export { XRCamera } from "./data/XRCamera";
18
+ export { XRHandle } from "./data/XRHandle";
@@ -0,0 +1,19 @@
1
+ import { EnumXRMode } from "../enum/EnumXRMode";
2
+ import { EnumXRTrackingMode } from "../enum/EnumXRTrackingMode";
3
+ import { XRSubsystem } from "../subsystem/XRSubsystem";
4
+ import { Engine } from "../../Engine";
5
+ import { EnumXRSubsystem } from "../enum/EnumXRSubsystem";
6
+ export declare class XRProvider {
7
+ name: string;
8
+ protected _engine: Engine;
9
+ isSupportedMode(mode: EnumXRMode): Promise<void>;
10
+ isSupportedTrackingMode(mode: EnumXRTrackingMode): Promise<void>;
11
+ isSupportedSubsystem(feature: number): Promise<void>;
12
+ createSubsystem<T extends XRSubsystem>(feature: number): Promise<T>;
13
+ initialize(mode: EnumXRMode, trackingMode: EnumXRTrackingMode, subsystems: EnumXRSubsystem[]): Promise<XRSubsystem[]>;
14
+ start(): Promise<void>;
15
+ onUpdate(): void;
16
+ onLateUpdate(): void;
17
+ onDestroy(): void;
18
+ constructor(engine: Engine);
19
+ }
@@ -0,0 +1,5 @@
1
+ import { XRDevice } from "../data/XRDevice";
2
+ import { XRSubsystem } from "./XRSubsystem";
3
+ export declare abstract class XRInputSubsystem extends XRSubsystem {
4
+ devices: XRDevice[];
5
+ }
@@ -0,0 +1,30 @@
1
+ import { Engine } from "../../Engine";
2
+ export declare abstract class XRSubsystem {
3
+ running: boolean;
4
+ _engine: Engine;
5
+ /**
6
+ * Starts an instance of a system.
7
+ * This method needs to be override.
8
+ * @returns
9
+ */
10
+ start(): Promise<void>;
11
+ /**
12
+ * Stops an instance of a system.
13
+ * This method needs to be override.
14
+ * @returns
15
+ */
16
+ stop(): Promise<void>;
17
+ /**
18
+ * Destroys this instance of a system.
19
+ * This method needs to be override.
20
+ * @returns
21
+ */
22
+ destroy(): Promise<void>;
23
+ /**
24
+ * Update this instance of a system.
25
+ * This method needs to be override.
26
+ * @returns
27
+ */
28
+ update(): void;
29
+ constructor(engine: Engine);
30
+ }