@babylonjs/core 5.27.0 → 5.28.0
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/Animations/animatable.js +2 -1
- package/Animations/animatable.js.map +1 -1
- package/Animations/runtimeAnimation.js +1 -1
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioSceneComponent.js +2 -1
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.js +70 -45
- package/Audio/sound.js.map +1 -1
- package/Audio/soundTrack.js +12 -6
- package/Audio/soundTrack.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +2 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.js +2 -1
- package/Behaviors/Meshes/followBehavior.js.map +1 -1
- package/Behaviors/Meshes/handConstraintBehavior.js +6 -6
- package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
- package/Bones/bone.js +2 -1
- package/Bones/bone.js.map +1 -1
- package/Bones/skeleton.js +3 -2
- package/Bones/skeleton.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +2 -2
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +5 -3
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraMouseInput.js +2 -2
- package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +2 -2
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/arcRotateCamera.js +2 -1
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.js +6 -4
- package/Cameras/camera.js.map +1 -1
- package/Compute/computeEffect.js +8 -5
- package/Compute/computeEffect.js.map +1 -1
- package/Compute/computeShader.js +12 -11
- package/Compute/computeShader.js.map +1 -1
- package/Culling/Octrees/octreeSceneComponent.js +2 -1
- package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
- package/Culling/boundingBox.js +3 -2
- package/Culling/boundingBox.js.map +1 -1
- package/Culling/ray.js +2 -1
- package/Culling/ray.js.map +1 -1
- package/Debug/directionalLightFrustumViewer.js +9 -7
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Debug/rayHelper.js +2 -1
- package/Debug/rayHelper.js.map +1 -1
- package/Debug/skeletonViewer.js +29 -24
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js +5 -3
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/internalDeviceSourceManager.js +2 -1
- package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
- package/DeviceInput/webDeviceInputSystem.js +12 -9
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- package/Engines/Extensions/engine.rawTexture.js +4 -4
- package/Engines/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/Extensions/engine.readTexture.js +3 -2
- package/Engines/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/Extensions/engine.views.js +2 -1
- package/Engines/Extensions/engine.views.js.map +1 -1
- package/Engines/Processors/shaderProcessor.js +11 -6
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +2 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js +2 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.query.js +4 -2
- package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +4 -4
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +2 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -2
- package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.textureSampler.js +2 -1
- package/Engines/WebGPU/Extensions/engine.textureSampler.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.js +2 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +7 -6
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +18 -14
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +4 -3
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +3 -2
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js +2 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.js +2 -2
- package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js +2 -1
- package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +4 -3
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.js +5 -4
- package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +5 -3
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.js +4 -2
- package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +4 -2
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +2 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js +3 -2
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js +2 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +40 -38
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/engine.d.ts +898 -273
- package/Engines/engine.js +5 -3
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.js +7 -5
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +7 -0
- package/Engines/nullEngine.js +42 -0
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +14 -9
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.js +25 -16
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +87 -61
- package/Engines/webgpuEngine.js.map +1 -1
- package/Gamepads/gamepadManager.js +1 -1
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gizmos/axisDragGizmo.js +4 -2
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/axisScaleGizmo.js +6 -4
- package/Gizmos/axisScaleGizmo.js.map +1 -1
- package/Gizmos/gizmo.js +21 -6
- package/Gizmos/gizmo.js.map +1 -1
- package/Gizmos/gizmoManager.js +3 -2
- package/Gizmos/gizmoManager.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +4 -2
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Gizmos/planeRotationGizmo.js +4 -2
- package/Gizmos/planeRotationGizmo.js.map +1 -1
- package/Helpers/videoDome.js +2 -1
- package/Helpers/videoDome.js.map +1 -1
- package/Layers/effectLayer.js +5 -3
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.js +4 -3
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +2 -1
- package/Layers/highlightLayer.js.map +1 -1
- package/LensFlares/lensFlareSystem.js +2 -1
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +25 -21
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +13 -8
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.js +2 -1
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/sceneLoader.d.ts +1 -1
- package/Loading/sceneLoader.js +3 -3
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +2 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +2 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +10 -6
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.js +3 -2
- package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +2 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +2 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +2 -1
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +26 -24
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js +3 -3
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +48 -44
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +2 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.js +2 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.js +13 -13
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +27 -26
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +2 -2
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +6 -6
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.js +3 -2
- package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorMergerBlock.js +5 -4
- package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.js +4 -3
- package/Materials/Node/Blocks/customBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.js +5 -4
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.js +7 -6
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +4 -3
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialDecorator.js +1 -1
- package/Materials/Node/nodeMaterialDecorator.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +25 -19
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.js +9 -6
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.js +7 -4
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.js +7 -4
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js +2 -2
- package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
- package/Materials/Textures/Packer/packer.js +14 -13
- package/Materials/Textures/Packer/packer.js.map +1 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js +2 -1
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +7 -4
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +5 -4
- package/Materials/Textures/baseTexture.js +1 -0
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.js +8 -4
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/hdrCubeTexture.js +4 -2
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.js +4 -2
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +6 -3
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.js +6 -4
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/rawTexture.js +1 -1
- package/Materials/Textures/rawTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.js +26 -15
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.js +16 -13
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js +4 -2
- package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +3 -3
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.js +3 -3
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/drawWrapper.js +4 -2
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.js +15 -10
- package/Materials/effect.js.map +1 -1
- package/Materials/material.d.ts +14 -0
- package/Materials/material.detailMapConfiguration.js +2 -1
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +35 -3
- package/Materials/material.js.map +1 -1
- package/Materials/materialDefines.js +6 -5
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.js +1 -1
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/materialPluginManager.js +3 -2
- package/Materials/materialPluginManager.js.map +1 -1
- package/Materials/multiMaterial.js +2 -1
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/shaderMaterial.js +12 -9
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +13 -8
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.js +12 -10
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.js +1 -1
- package/Materials/uniformBuffer.js.map +1 -1
- package/Maths/math.vector.d.ts +7 -6
- package/Maths/math.vector.js +10 -8
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/groundBuilder.js +1 -1
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/abstractMesh.js +8 -5
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/csg.js +2 -1
- package/Meshes/csg.js.map +1 -1
- package/Meshes/instancedMesh.js +2 -1
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +1 -1
- package/Meshes/mesh.js +23 -13
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.js +4 -3
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/subMesh.js +14 -8
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/thinInstanceMesh.js +18 -12
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +7 -1
- package/Meshes/transformNode.js +15 -4
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -1
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +12 -8
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js +3 -2
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/arrayTools.js +1 -1
- package/Misc/arrayTools.js.map +1 -1
- package/Misc/assetsManager.d.ts +22 -4
- package/Misc/assetsManager.js +20 -8
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/computePressure.js +9 -6
- package/Misc/computePressure.js.map +1 -1
- package/Misc/dataStorage.js +1 -1
- package/Misc/dataStorage.js.map +1 -1
- package/Misc/dds.js +1 -1
- package/Misc/dds.js.map +1 -1
- package/Misc/environmentTextureTools.js +3 -2
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.js +31 -8
- package/Misc/fileTools.js.map +1 -1
- package/Misc/logger.js +2 -1
- package/Misc/logger.js.map +1 -1
- package/Misc/minMaxReducer.js +3 -2
- package/Misc/minMaxReducer.js.map +1 -1
- package/Misc/sceneRecorder.js +1 -1
- package/Misc/sceneRecorder.js.map +1 -1
- package/Misc/textureTools.js +3 -3
- package/Misc/textureTools.js.map +1 -1
- package/Misc/timer.js +5 -3
- package/Misc/timer.js.map +1 -1
- package/Misc/tools.js +4 -4
- package/Misc/tools.js.map +1 -1
- package/Misc/trajectoryClassifier.js +3 -3
- package/Misc/trajectoryClassifier.js.map +1 -1
- package/Particles/EmitterTypes/meshParticleEmitter.js +2 -1
- package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
- package/Particles/computeShaderParticleSystem.js +6 -3
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.js +13 -8
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particleSystem.js +22 -14
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/particleSystemComponent.js +2 -1
- package/Particles/particleSystemComponent.js.map +1 -1
- package/Particles/pointsCloudSystem.js +7 -4
- package/Particles/pointsCloudSystem.js.map +1 -1
- package/Particles/solidParticleSystem.js +2 -2
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/webgl2ParticleSystem.js +2 -1
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +5 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +4 -2
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +8 -5
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.js +6 -4
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +7 -4
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
- package/Probes/reflectionProbe.js +4 -2
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/boundingBoxRenderer.js +3 -2
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +12 -0
- package/Rendering/depthPeelingRenderer.js +30 -6
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthPeelingSceneComponent.js +4 -2
- package/Rendering/depthPeelingSceneComponent.js.map +1 -1
- package/Rendering/depthRenderer.js +10 -6
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/edgesRenderer.js +11 -8
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js +2 -2
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +4 -2
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +3 -3
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
- package/Shaders/pbr.fragment.js +4 -1
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Sprites/spriteManager.js +2 -1
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteRenderer.js +2 -1
- package/Sprites/spriteRenderer.js.map +1 -1
- package/States/stencilStateComposer.js +4 -2
- package/States/stencilStateComposer.js.map +1 -1
- package/XR/features/WebXRAnchorSystem.js +2 -1
- package/XR/features/WebXRAnchorSystem.js.map +1 -1
- package/XR/features/WebXRControllerMovement.js +7 -6
- package/XR/features/WebXRControllerMovement.js.map +1 -1
- package/XR/features/WebXRControllerPhysics.js +6 -4
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.js +2 -1
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRHandTracking.d.ts +3 -3
- package/XR/features/WebXRHandTracking.js +126 -118
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRHitTest.js.map +1 -1
- package/XR/features/WebXRLayers.js +1 -1
- package/XR/features/WebXRLayers.js.map +1 -1
- package/XR/features/WebXRLightEstimation.js +7 -4
- package/XR/features/WebXRLightEstimation.js.map +1 -1
- package/XR/features/WebXRMeshDetector.js +2 -1
- package/XR/features/WebXRMeshDetector.js.map +1 -1
- package/XR/features/WebXRNearInteraction.js +7 -4
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/features/WebXRPlaneDetector.js +2 -1
- package/XR/features/WebXRPlaneDetector.js.map +1 -1
- package/XR/native/nativeXRFrame.js +2 -1
- package/XR/native/nativeXRFrame.js.map +1 -1
- package/XR/webXRCamera.js +2 -1
- package/XR/webXRCamera.js.map +1 -1
- package/XR/webXRExperienceHelper.js +7 -5
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRInput.js.map +1 -1
- package/XR/webXRInputSource.js +2 -1
- package/XR/webXRInputSource.js.map +1 -1
- package/XR/webXRManagedOutputCanvas.js +0 -1
- package/XR/webXRManagedOutputCanvas.js.map +1 -1
- package/XR/webXRSessionManager.js +27 -14
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRWebGLLayer.js +3 -0
- package/XR/webXRWebGLLayer.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +17 -11
- package/scene.js.map +1 -1
|
@@ -46,116 +46,116 @@ export var HandPart;
|
|
|
46
46
|
* Joints of the hand as defined by the WebXR specification.
|
|
47
47
|
* https://immersive-web.github.io/webxr-hand-input/#skeleton-joints-section
|
|
48
48
|
*/
|
|
49
|
-
export var
|
|
50
|
-
(function (
|
|
49
|
+
export var WebXRHandJoint;
|
|
50
|
+
(function (WebXRHandJoint) {
|
|
51
51
|
/** Wrist */
|
|
52
|
-
|
|
52
|
+
WebXRHandJoint["WRIST"] = "wrist";
|
|
53
53
|
/** Thumb near wrist */
|
|
54
|
-
|
|
54
|
+
WebXRHandJoint["THUMB_METACARPAL"] = "thumb-metacarpal";
|
|
55
55
|
/** Thumb first knuckle */
|
|
56
|
-
|
|
56
|
+
WebXRHandJoint["THUMB_PHALANX_PROXIMAL"] = "thumb-phalanx-proximal";
|
|
57
57
|
/** Thumb second knuckle */
|
|
58
|
-
|
|
58
|
+
WebXRHandJoint["THUMB_PHALANX_DISTAL"] = "thumb-phalanx-distal";
|
|
59
59
|
/** Thumb tip */
|
|
60
|
-
|
|
60
|
+
WebXRHandJoint["THUMB_TIP"] = "thumb-tip";
|
|
61
61
|
/** Index finger near wrist */
|
|
62
|
-
|
|
62
|
+
WebXRHandJoint["INDEX_FINGER_METACARPAL"] = "index-finger-metacarpal";
|
|
63
63
|
/** Index finger first knuckle */
|
|
64
|
-
|
|
64
|
+
WebXRHandJoint["INDEX_FINGER_PHALANX_PROXIMAL"] = "index-finger-phalanx-proximal";
|
|
65
65
|
/** Index finger second knuckle */
|
|
66
|
-
|
|
66
|
+
WebXRHandJoint["INDEX_FINGER_PHALANX_INTERMEDIATE"] = "index-finger-phalanx-intermediate";
|
|
67
67
|
/** Index finger third knuckle */
|
|
68
|
-
|
|
68
|
+
WebXRHandJoint["INDEX_FINGER_PHALANX_DISTAL"] = "index-finger-phalanx-distal";
|
|
69
69
|
/** Index finger tip */
|
|
70
|
-
|
|
70
|
+
WebXRHandJoint["INDEX_FINGER_TIP"] = "index-finger-tip";
|
|
71
71
|
/** Middle finger near wrist */
|
|
72
|
-
|
|
72
|
+
WebXRHandJoint["MIDDLE_FINGER_METACARPAL"] = "middle-finger-metacarpal";
|
|
73
73
|
/** Middle finger first knuckle */
|
|
74
|
-
|
|
74
|
+
WebXRHandJoint["MIDDLE_FINGER_PHALANX_PROXIMAL"] = "middle-finger-phalanx-proximal";
|
|
75
75
|
/** Middle finger second knuckle */
|
|
76
|
-
|
|
76
|
+
WebXRHandJoint["MIDDLE_FINGER_PHALANX_INTERMEDIATE"] = "middle-finger-phalanx-intermediate";
|
|
77
77
|
/** Middle finger third knuckle */
|
|
78
|
-
|
|
78
|
+
WebXRHandJoint["MIDDLE_FINGER_PHALANX_DISTAL"] = "middle-finger-phalanx-distal";
|
|
79
79
|
/** Middle finger tip */
|
|
80
|
-
|
|
80
|
+
WebXRHandJoint["MIDDLE_FINGER_TIP"] = "middle-finger-tip";
|
|
81
81
|
/** Ring finger near wrist */
|
|
82
|
-
|
|
82
|
+
WebXRHandJoint["RING_FINGER_METACARPAL"] = "ring-finger-metacarpal";
|
|
83
83
|
/** Ring finger first knuckle */
|
|
84
|
-
|
|
84
|
+
WebXRHandJoint["RING_FINGER_PHALANX_PROXIMAL"] = "ring-finger-phalanx-proximal";
|
|
85
85
|
/** Ring finger second knuckle */
|
|
86
|
-
|
|
86
|
+
WebXRHandJoint["RING_FINGER_PHALANX_INTERMEDIATE"] = "ring-finger-phalanx-intermediate";
|
|
87
87
|
/** Ring finger third knuckle */
|
|
88
|
-
|
|
88
|
+
WebXRHandJoint["RING_FINGER_PHALANX_DISTAL"] = "ring-finger-phalanx-distal";
|
|
89
89
|
/** Ring finger tip */
|
|
90
|
-
|
|
90
|
+
WebXRHandJoint["RING_FINGER_TIP"] = "ring-finger-tip";
|
|
91
91
|
/** Pinky finger near wrist */
|
|
92
|
-
|
|
92
|
+
WebXRHandJoint["PINKY_FINGER_METACARPAL"] = "pinky-finger-metacarpal";
|
|
93
93
|
/** Pinky finger first knuckle */
|
|
94
|
-
|
|
94
|
+
WebXRHandJoint["PINKY_FINGER_PHALANX_PROXIMAL"] = "pinky-finger-phalanx-proximal";
|
|
95
95
|
/** Pinky finger second knuckle */
|
|
96
|
-
|
|
96
|
+
WebXRHandJoint["PINKY_FINGER_PHALANX_INTERMEDIATE"] = "pinky-finger-phalanx-intermediate";
|
|
97
97
|
/** Pinky finger third knuckle */
|
|
98
|
-
|
|
98
|
+
WebXRHandJoint["PINKY_FINGER_PHALANX_DISTAL"] = "pinky-finger-phalanx-distal";
|
|
99
99
|
/** Pinky finger tip */
|
|
100
|
-
|
|
101
|
-
})(
|
|
100
|
+
WebXRHandJoint["PINKY_FINGER_TIP"] = "pinky-finger-tip";
|
|
101
|
+
})(WebXRHandJoint || (WebXRHandJoint = {}));
|
|
102
102
|
const handJointReferenceArray = [
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
103
|
+
WebXRHandJoint.WRIST,
|
|
104
|
+
WebXRHandJoint.THUMB_METACARPAL,
|
|
105
|
+
WebXRHandJoint.THUMB_PHALANX_PROXIMAL,
|
|
106
|
+
WebXRHandJoint.THUMB_PHALANX_DISTAL,
|
|
107
|
+
WebXRHandJoint.THUMB_TIP,
|
|
108
|
+
WebXRHandJoint.INDEX_FINGER_METACARPAL,
|
|
109
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
|
|
110
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
|
|
111
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
|
|
112
|
+
WebXRHandJoint.INDEX_FINGER_TIP,
|
|
113
|
+
WebXRHandJoint.MIDDLE_FINGER_METACARPAL,
|
|
114
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
|
|
115
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
|
|
116
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
|
|
117
|
+
WebXRHandJoint.MIDDLE_FINGER_TIP,
|
|
118
|
+
WebXRHandJoint.RING_FINGER_METACARPAL,
|
|
119
|
+
WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
|
|
120
|
+
WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
|
|
121
|
+
WebXRHandJoint.RING_FINGER_PHALANX_DISTAL,
|
|
122
|
+
WebXRHandJoint.RING_FINGER_TIP,
|
|
123
|
+
WebXRHandJoint.PINKY_FINGER_METACARPAL,
|
|
124
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
|
|
125
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
|
|
126
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
|
|
127
|
+
WebXRHandJoint.PINKY_FINGER_TIP,
|
|
128
128
|
];
|
|
129
129
|
const handPartsDefinition = {
|
|
130
|
-
[HandPart.WRIST]: [
|
|
131
|
-
[HandPart.THUMB]: [
|
|
130
|
+
[HandPart.WRIST]: [WebXRHandJoint.WRIST],
|
|
131
|
+
[HandPart.THUMB]: [WebXRHandJoint.THUMB_METACARPAL, WebXRHandJoint.THUMB_PHALANX_PROXIMAL, WebXRHandJoint.THUMB_PHALANX_DISTAL, WebXRHandJoint.THUMB_TIP],
|
|
132
132
|
[HandPart.INDEX]: [
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
WebXRHandJoint.INDEX_FINGER_METACARPAL,
|
|
134
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
|
|
135
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
|
|
136
|
+
WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
|
|
137
|
+
WebXRHandJoint.INDEX_FINGER_TIP,
|
|
138
138
|
],
|
|
139
139
|
[HandPart.MIDDLE]: [
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
WebXRHandJoint.MIDDLE_FINGER_METACARPAL,
|
|
141
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
|
|
142
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
|
|
143
|
+
WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
|
|
144
|
+
WebXRHandJoint.MIDDLE_FINGER_TIP,
|
|
145
145
|
],
|
|
146
146
|
[HandPart.RING]: [
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
147
|
+
WebXRHandJoint.RING_FINGER_METACARPAL,
|
|
148
|
+
WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
|
|
149
|
+
WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
|
|
150
|
+
WebXRHandJoint.RING_FINGER_PHALANX_DISTAL,
|
|
151
|
+
WebXRHandJoint.RING_FINGER_TIP,
|
|
152
152
|
],
|
|
153
153
|
[HandPart.LITTLE]: [
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
WebXRHandJoint.PINKY_FINGER_METACARPAL,
|
|
155
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
|
|
156
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
|
|
157
|
+
WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
|
|
158
|
+
WebXRHandJoint.PINKY_FINGER_TIP,
|
|
159
159
|
],
|
|
160
160
|
};
|
|
161
161
|
/**
|
|
@@ -377,11 +377,12 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
377
377
|
*/
|
|
378
378
|
this.onHandRemovedObservable = new Observable();
|
|
379
379
|
this._attachHand = (xrController) => {
|
|
380
|
+
var _a, _b, _c;
|
|
380
381
|
if (!xrController.inputSource.hand || xrController.inputSource.handedness == "none" || !this._handResources.jointMeshes) {
|
|
381
382
|
return;
|
|
382
383
|
}
|
|
383
384
|
const handedness = xrController.inputSource.handedness;
|
|
384
|
-
const webxrHand = new WebXRHand(xrController, this._handResources.jointMeshes[handedness], this._handResources.handMeshes && this._handResources.handMeshes[handedness], this._handResources.rigMappings && this._handResources.rigMappings[handedness], this.options.handMeshes
|
|
385
|
+
const webxrHand = new WebXRHand(xrController, this._handResources.jointMeshes[handedness], this._handResources.handMeshes && this._handResources.handMeshes[handedness], this._handResources.rigMappings && this._handResources.rigMappings[handedness], (_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.meshesUseLeftHandedCoordinates, (_b = this.options.jointMeshes) === null || _b === void 0 ? void 0 : _b.invisible, (_c = this.options.jointMeshes) === null || _c === void 0 ? void 0 : _c.scaleFactor);
|
|
385
386
|
this._attachedHands[xrController.uniqueId] = webxrHand;
|
|
386
387
|
this._trackingHands[handedness] = webxrHand;
|
|
387
388
|
this.onHandAddedObservable.notifyObservers(webxrHand);
|
|
@@ -430,12 +431,13 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
430
431
|
static _GenerateTrackedJointMeshes(featureOptions) {
|
|
431
432
|
const meshes = {};
|
|
432
433
|
["left", "right"].map((handedness) => {
|
|
434
|
+
var _a, _b, _c, _d, _e;
|
|
433
435
|
const trackedMeshes = [];
|
|
434
|
-
const originalMesh = featureOptions.jointMeshes
|
|
435
|
-
originalMesh.isVisible = !!featureOptions.jointMeshes
|
|
436
|
+
const originalMesh = ((_a = featureOptions.jointMeshes) === null || _a === void 0 ? void 0 : _a.sourceMesh) || CreateIcoSphere("jointParent", WebXRHandTracking._ICOSPHERE_PARAMS);
|
|
437
|
+
originalMesh.isVisible = !!((_b = featureOptions.jointMeshes) === null || _b === void 0 ? void 0 : _b.keepOriginalVisible);
|
|
436
438
|
for (let i = 0; i < handJointReferenceArray.length; ++i) {
|
|
437
439
|
let newInstance = originalMesh.createInstance(`${handedness}-handJoint-${i}`);
|
|
438
|
-
if (featureOptions.jointMeshes
|
|
440
|
+
if ((_c = featureOptions.jointMeshes) === null || _c === void 0 ? void 0 : _c.onHandJointMeshGenerated) {
|
|
439
441
|
const returnedMesh = featureOptions.jointMeshes.onHandJointMeshGenerated(newInstance, i, handedness);
|
|
440
442
|
if (returnedMesh) {
|
|
441
443
|
if (returnedMesh !== newInstance) {
|
|
@@ -445,8 +447,8 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
445
447
|
}
|
|
446
448
|
}
|
|
447
449
|
newInstance.isPickable = false;
|
|
448
|
-
if (featureOptions.jointMeshes
|
|
449
|
-
const props = featureOptions.jointMeshes
|
|
450
|
+
if ((_d = featureOptions.jointMeshes) === null || _d === void 0 ? void 0 : _d.enablePhysics) {
|
|
451
|
+
const props = ((_e = featureOptions.jointMeshes) === null || _e === void 0 ? void 0 : _e.physicsProps) || {};
|
|
450
452
|
// downscale the instances so that physics will be initialized correctly
|
|
451
453
|
newInstance.scaling.setAll(0.02);
|
|
452
454
|
const type = props.impostorType !== undefined ? props.impostorType : PhysicsImpostor.SphereImpostor;
|
|
@@ -463,12 +465,13 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
463
465
|
static _GenerateDefaultHandMeshesAsync(scene, options) {
|
|
464
466
|
// eslint-disable-next-line no-async-promise-executor
|
|
465
467
|
return new Promise(async (resolve) => {
|
|
468
|
+
var _a, _b, _c, _d, _e;
|
|
466
469
|
const riggedMeshes = {};
|
|
467
470
|
// check the cache, defensive
|
|
468
|
-
if (WebXRHandTracking._RightHandGLB
|
|
471
|
+
if ((_b = (_a = WebXRHandTracking._RightHandGLB) === null || _a === void 0 ? void 0 : _a.meshes[1]) === null || _b === void 0 ? void 0 : _b.isDisposed()) {
|
|
469
472
|
WebXRHandTracking._RightHandGLB = null;
|
|
470
473
|
}
|
|
471
|
-
if (WebXRHandTracking._LeftHandGLB
|
|
474
|
+
if ((_d = (_c = WebXRHandTracking._LeftHandGLB) === null || _c === void 0 ? void 0 : _c.meshes[1]) === null || _d === void 0 ? void 0 : _d.isDisposed()) {
|
|
472
475
|
WebXRHandTracking._LeftHandGLB = null;
|
|
473
476
|
}
|
|
474
477
|
const handsDefined = !!(WebXRHandTracking._RightHandGLB && WebXRHandTracking._LeftHandGLB);
|
|
@@ -495,7 +498,7 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
495
498
|
fresnel: Color3.FromInts(149, 102, 229),
|
|
496
499
|
fingerColor: Color3.FromInts(177, 130, 255),
|
|
497
500
|
tipFresnel: Color3.FromInts(220, 200, 255),
|
|
498
|
-
...options
|
|
501
|
+
...(_e = options === null || options === void 0 ? void 0 : options.handMeshes) === null || _e === void 0 ? void 0 : _e.customColors,
|
|
499
502
|
};
|
|
500
503
|
const handNodes = {
|
|
501
504
|
base: handShader.getBlockByName("baseColor"),
|
|
@@ -534,31 +537,31 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
534
537
|
static _GenerateDefaultHandMeshRigMapping(handedness) {
|
|
535
538
|
const H = handedness == "right" ? "R" : "L";
|
|
536
539
|
return {
|
|
537
|
-
[
|
|
538
|
-
[
|
|
539
|
-
[
|
|
540
|
-
[
|
|
541
|
-
[
|
|
542
|
-
[
|
|
543
|
-
[
|
|
544
|
-
[
|
|
545
|
-
[
|
|
546
|
-
[
|
|
547
|
-
[
|
|
548
|
-
[
|
|
549
|
-
[
|
|
550
|
-
[
|
|
551
|
-
[
|
|
552
|
-
[
|
|
553
|
-
[
|
|
554
|
-
[
|
|
555
|
-
[
|
|
556
|
-
[
|
|
557
|
-
[
|
|
558
|
-
[
|
|
559
|
-
[
|
|
560
|
-
[
|
|
561
|
-
[
|
|
540
|
+
[WebXRHandJoint.WRIST]: `wrist_${H}`,
|
|
541
|
+
[WebXRHandJoint.THUMB_METACARPAL]: `thumb_metacarpal_${H}`,
|
|
542
|
+
[WebXRHandJoint.THUMB_PHALANX_PROXIMAL]: `thumb_proxPhalanx_${H}`,
|
|
543
|
+
[WebXRHandJoint.THUMB_PHALANX_DISTAL]: `thumb_distPhalanx_${H}`,
|
|
544
|
+
[WebXRHandJoint.THUMB_TIP]: `thumb_tip_${H}`,
|
|
545
|
+
[WebXRHandJoint.INDEX_FINGER_METACARPAL]: `index_metacarpal_${H}`,
|
|
546
|
+
[WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL]: `index_proxPhalanx_${H}`,
|
|
547
|
+
[WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE]: `index_intPhalanx_${H}`,
|
|
548
|
+
[WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL]: `index_distPhalanx_${H}`,
|
|
549
|
+
[WebXRHandJoint.INDEX_FINGER_TIP]: `index_tip_${H}`,
|
|
550
|
+
[WebXRHandJoint.MIDDLE_FINGER_METACARPAL]: `middle_metacarpal_${H}`,
|
|
551
|
+
[WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL]: `middle_proxPhalanx_${H}`,
|
|
552
|
+
[WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE]: `middle_intPhalanx_${H}`,
|
|
553
|
+
[WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL]: `middle_distPhalanx_${H}`,
|
|
554
|
+
[WebXRHandJoint.MIDDLE_FINGER_TIP]: `middle_tip_${H}`,
|
|
555
|
+
[WebXRHandJoint.RING_FINGER_METACARPAL]: `ring_metacarpal_${H}`,
|
|
556
|
+
[WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL]: `ring_proxPhalanx_${H}`,
|
|
557
|
+
[WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE]: `ring_intPhalanx_${H}`,
|
|
558
|
+
[WebXRHandJoint.RING_FINGER_PHALANX_DISTAL]: `ring_distPhalanx_${H}`,
|
|
559
|
+
[WebXRHandJoint.RING_FINGER_TIP]: `ring_tip_${H}`,
|
|
560
|
+
[WebXRHandJoint.PINKY_FINGER_METACARPAL]: `little_metacarpal_${H}`,
|
|
561
|
+
[WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL]: `little_proxPhalanx_${H}`,
|
|
562
|
+
[WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE]: `little_intPhalanx_${H}`,
|
|
563
|
+
[WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL]: `little_distPhalanx_${H}`,
|
|
564
|
+
[WebXRHandJoint.PINKY_FINGER_TIP]: `little_tip_${H}`,
|
|
562
565
|
};
|
|
563
566
|
}
|
|
564
567
|
/**
|
|
@@ -594,25 +597,27 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
594
597
|
* @returns true if successful.
|
|
595
598
|
*/
|
|
596
599
|
attach() {
|
|
600
|
+
var _a, _b, _c, _d;
|
|
597
601
|
if (!super.attach()) {
|
|
598
602
|
return false;
|
|
599
603
|
}
|
|
600
604
|
this._handResources = {
|
|
601
605
|
jointMeshes: WebXRHandTracking._GenerateTrackedJointMeshes(this.options),
|
|
602
|
-
handMeshes: this.options.handMeshes
|
|
603
|
-
rigMappings: this.options.handMeshes
|
|
606
|
+
handMeshes: ((_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.customMeshes) || null,
|
|
607
|
+
rigMappings: ((_b = this.options.handMeshes) === null || _b === void 0 ? void 0 : _b.customRigMappings) || null,
|
|
604
608
|
};
|
|
605
609
|
// If they didn't supply custom meshes and are not disabling the default meshes...
|
|
606
|
-
if (!this.options.handMeshes
|
|
610
|
+
if (!((_c = this.options.handMeshes) === null || _c === void 0 ? void 0 : _c.customMeshes) && !((_d = this.options.handMeshes) === null || _d === void 0 ? void 0 : _d.disableDefaultMeshes)) {
|
|
607
611
|
WebXRHandTracking._GenerateDefaultHandMeshesAsync(EngineStore.LastCreatedScene, this.options).then((defaultHandMeshes) => {
|
|
612
|
+
var _a, _b;
|
|
608
613
|
this._handResources.handMeshes = defaultHandMeshes;
|
|
609
614
|
this._handResources.rigMappings = {
|
|
610
615
|
left: WebXRHandTracking._GenerateDefaultHandMeshRigMapping("left"),
|
|
611
616
|
right: WebXRHandTracking._GenerateDefaultHandMeshRigMapping("right"),
|
|
612
617
|
};
|
|
613
618
|
// Apply meshes to existing hands if already tracking.
|
|
614
|
-
this._trackingHands.left
|
|
615
|
-
this._trackingHands.right
|
|
619
|
+
(_a = this._trackingHands.left) === null || _a === void 0 ? void 0 : _a.setHandMesh(this._handResources.handMeshes.left, this._handResources.rigMappings.left);
|
|
620
|
+
(_b = this._trackingHands.right) === null || _b === void 0 ? void 0 : _b.setHandMesh(this._handResources.handMeshes.right, this._handResources.rigMappings.right);
|
|
616
621
|
});
|
|
617
622
|
}
|
|
618
623
|
this.options.xrInput.controllers.forEach(this._attachHand);
|
|
@@ -621,14 +626,16 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
621
626
|
return true;
|
|
622
627
|
}
|
|
623
628
|
_onXRFrame(_xrFrame) {
|
|
624
|
-
|
|
625
|
-
this._trackingHands.
|
|
629
|
+
var _a, _b;
|
|
630
|
+
(_a = this._trackingHands.left) === null || _a === void 0 ? void 0 : _a.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
|
|
631
|
+
(_b = this._trackingHands.right) === null || _b === void 0 ? void 0 : _b.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
|
|
626
632
|
}
|
|
627
633
|
_detachHandById(controllerId) {
|
|
634
|
+
var _a;
|
|
628
635
|
const hand = this.getHandByControllerId(controllerId);
|
|
629
636
|
if (hand) {
|
|
630
637
|
const handedness = hand.xrController.inputSource.handedness == "left" ? "left" : "right";
|
|
631
|
-
if (this._trackingHands[handedness]
|
|
638
|
+
if (((_a = this._trackingHands[handedness]) === null || _a === void 0 ? void 0 : _a.xrController.uniqueId) === controllerId) {
|
|
632
639
|
this._trackingHands[handedness] = null;
|
|
633
640
|
}
|
|
634
641
|
this.onHandRemovedObservable.notifyObservers(hand);
|
|
@@ -653,10 +660,11 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
|
|
|
653
660
|
* Dispose this feature and all of the resources attached.
|
|
654
661
|
*/
|
|
655
662
|
dispose() {
|
|
663
|
+
var _a;
|
|
656
664
|
super.dispose();
|
|
657
665
|
this.onHandAddedObservable.clear();
|
|
658
666
|
this.onHandRemovedObservable.clear();
|
|
659
|
-
if (this._handResources.handMeshes && !this.options.handMeshes
|
|
667
|
+
if (this._handResources.handMeshes && !((_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.customMeshes)) {
|
|
660
668
|
// this will dispose the cached meshes
|
|
661
669
|
this._handResources.handMeshes.left.dispose();
|
|
662
670
|
this._handResources.handMeshes.right.dispose();
|