@babylonjs/core 6.23.1 → 6.25.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/Buffers/buffer.align.d.ts +25 -0
- package/Buffers/buffer.align.js +120 -0
- package/Buffers/buffer.align.js.map +1 -0
- package/Buffers/buffer.d.ts +15 -3
- package/Buffers/buffer.js +27 -7
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/index.d.ts +1 -0
- package/Buffers/index.js +1 -0
- package/Buffers/index.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +0 -3
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraMouseInput.js +1 -4
- package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +0 -6
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/RigModes/index.d.ts +0 -1
- package/Cameras/RigModes/index.js +0 -1
- package/Cameras/RigModes/index.js.map +1 -1
- package/Cameras/RigModes/vrRigMode.js +1 -1
- package/Cameras/RigModes/vrRigMode.js.map +1 -1
- package/Cameras/VR/index.d.ts +0 -1
- package/Cameras/VR/index.js +0 -1
- package/Cameras/VR/index.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.d.ts +7 -66
- package/Cameras/VR/vrExperienceHelper.js +17 -702
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/camera.d.ts +15 -20
- package/Cameras/camera.js +41 -36
- package/Cameras/camera.js.map +1 -1
- package/Cameras/targetCamera.js +1 -1
- package/Cameras/targetCamera.js.map +1 -1
- package/Engines/Extensions/index.d.ts +0 -1
- package/Engines/Extensions/index.js +0 -1
- package/Engines/Extensions/index.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +4 -0
- package/Engines/WebGL/webGLRenderTargetWrapper.js +4 -0
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +8 -7
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/constants.d.ts +0 -4
- package/Engines/constants.js +0 -4
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +38 -258
- package/Engines/engine.js +0 -65
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFactory.js +9 -14
- package/Engines/engineFactory.js.map +1 -1
- package/Engines/engineFeatures.d.ts +2 -0
- package/Engines/engineFeatures.js.map +1 -1
- package/Engines/nativeEngine.js +1 -0
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +1 -0
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/thinEngine.d.ts +22 -5
- package/Engines/thinEngine.js +55 -22
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +1 -0
- package/Engines/webgpuEngine.js +4 -2
- package/Engines/webgpuEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.d.ts +9 -8
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js +34 -16
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.d.ts +4 -3
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js +14 -6
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.d.ts +19 -14
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js +64 -27
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +39 -41
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +152 -74
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.d.ts +12 -12
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js +42 -21
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.d.ts +17 -14
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js +62 -26
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.d.ts +13 -10
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js +46 -18
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +4 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +6 -2
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js +7 -2
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +5 -3
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +10 -5
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +4 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js +6 -2
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js +7 -2
- package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +7 -2
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +4 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +6 -2
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +6 -2
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +12 -3
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +5 -3
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +11 -6
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +1 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +7 -2
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +7 -2
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +8 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +6 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +22 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +7 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js +15 -10
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +8 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +7 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +14 -7
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +5 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +9 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +8 -3
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +3 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +7 -2
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/flowGraph.d.ts +41 -3
- package/FlowGraph/flowGraph.js +135 -0
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +2 -1
- package/FlowGraph/flowGraphAsyncExecutionBlock.js +2 -2
- package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphBlock.d.ts +15 -3
- package/FlowGraph/flowGraphBlock.js +50 -7
- package/FlowGraph/flowGraphBlock.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +34 -4
- package/FlowGraph/flowGraphConnection.js +49 -3
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +25 -5
- package/FlowGraph/flowGraphContext.js +86 -4
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +7 -1
- package/FlowGraph/flowGraphCoordinator.js +18 -2
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.d.ts +4 -11
- package/FlowGraph/flowGraphDataConnection.js +16 -14
- package/FlowGraph/flowGraphDataConnection.js.map +1 -1
- package/FlowGraph/flowGraphExecutionBlock.d.ts +8 -3
- package/FlowGraph/flowGraphExecutionBlock.js +37 -6
- package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphRichTypes.d.ts +5 -9
- package/FlowGraph/flowGraphRichTypes.js +29 -44
- package/FlowGraph/flowGraphRichTypes.js.map +1 -1
- package/FlowGraph/flowGraphSignalConnection.js +2 -0
- package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
- package/FlowGraph/flowGraphVariableDefinitions.d.ts +22 -2
- package/FlowGraph/flowGraphVariableDefinitions.js +29 -0
- package/FlowGraph/flowGraphVariableDefinitions.js.map +1 -1
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +2 -1
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +2 -2
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -1
- package/Gamepads/gamepadManager.js +0 -5
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gamepads/index.d.ts +0 -1
- package/Gamepads/index.js +0 -2
- package/Gamepads/index.js.map +1 -1
- package/Gizmos/gizmo.js +1 -4
- package/Gizmos/gizmo.js.map +1 -1
- package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +24 -0
- package/Materials/GreasedLine/greasedLineMaterialDefaults.js +19 -0
- package/Materials/GreasedLine/greasedLineMaterialDefaults.js.map +1 -0
- package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +243 -0
- package/Materials/GreasedLine/greasedLineMaterialInterfaces.js +55 -0
- package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -0
- package/Materials/GreasedLine/greasedLinePluginMaterial.d.ts +253 -0
- package/Materials/{greasedLinePluginMaterial.js → GreasedLine/greasedLinePluginMaterial.js} +148 -205
- package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -0
- package/Materials/{greasedLineSimpleMaterial.d.ts → GreasedLine/greasedLineSimpleMaterial.d.ts} +20 -48
- package/Materials/{greasedLineSimpleMaterial.js → GreasedLine/greasedLineSimpleMaterial.js} +74 -91
- package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -0
- package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
- package/Materials/Textures/texture.js +1 -0
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/index.d.ts +4 -1
- package/Materials/index.js +4 -1
- package/Materials/index.js.map +1 -1
- package/Maths/math.vector.d.ts +32 -22
- package/Maths/math.vector.js +54 -43
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/greasedLineBuilder.d.ts +7 -6
- package/Meshes/Builders/greasedLineBuilder.js +65 -31
- package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +216 -0
- package/Meshes/GreasedLine/greasedLineBaseMesh.js +247 -0
- package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -0
- package/Meshes/GreasedLine/greasedLineMesh.d.ts +92 -0
- package/Meshes/{greasedLineMesh.js → GreasedLine/greasedLineMesh.js} +29 -223
- package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -0
- package/Meshes/GreasedLine/greasedLineRibbonMesh.d.ts +107 -0
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js +462 -0
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -0
- package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +9 -2
- package/Meshes/Node/Blocks/Sources/meshBlock.js +17 -5
- package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +15 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +50 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +5 -5
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
- package/Meshes/Node/nodeGeometry.d.ts +1 -2
- package/Meshes/Node/nodeGeometry.js +3 -4
- package/Meshes/Node/nodeGeometry.js.map +1 -1
- package/Meshes/Node/nodeGeometryBlock.d.ts +1 -2
- package/Meshes/Node/nodeGeometryBlock.js +1 -2
- package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
- package/Meshes/geometry.js +6 -12
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/index.d.ts +3 -1
- package/Meshes/index.js +3 -1
- package/Meshes/index.js.map +1 -1
- package/Meshes/mesh.d.ts +4 -0
- package/Meshes/mesh.js +7 -0
- package/Meshes/mesh.js.map +1 -1
- package/Misc/deepCopier.js +3 -0
- package/Misc/deepCopier.js.map +1 -1
- package/Misc/greasedLineTools.d.ts +52 -5
- package/Misc/greasedLineTools.js +180 -10
- package/Misc/greasedLineTools.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +9 -2
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.js +4 -1
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +1 -6
- package/PostProcesses/postProcess.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +4 -0
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Shaders/greasedLine.fragment.js +2 -5
- package/Shaders/greasedLine.fragment.js.map +1 -1
- package/Shaders/greasedLine.vertex.js +15 -4
- package/Shaders/greasedLine.vertex.js.map +1 -1
- package/XR/webXRDefaultExperience.d.ts +1 -1
- package/XR/webXRDefaultExperience.js +1 -1
- package/XR/webXRDefaultExperience.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +17 -10
- package/scene.js +25 -30
- package/scene.js.map +1 -1
- package/Cameras/RigModes/webVRRigMode.d.ts +0 -5
- package/Cameras/RigModes/webVRRigMode.js +0 -34
- package/Cameras/RigModes/webVRRigMode.js.map +0 -1
- package/Cameras/VR/webVRCamera.d.ts +0 -316
- package/Cameras/VR/webVRCamera.js +0 -618
- package/Cameras/VR/webVRCamera.js.map +0 -1
- package/Engines/Extensions/engine.webVR.d.ts +0 -91
- package/Engines/Extensions/engine.webVR.js +0 -195
- package/Engines/Extensions/engine.webVR.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.d.ts +0 -23
- package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js +0 -18
- package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js.map +0 -1
- package/Gamepads/Controllers/daydreamController.d.ts +0 -38
- package/Gamepads/Controllers/daydreamController.js +0 -70
- package/Gamepads/Controllers/daydreamController.js.map +0 -1
- package/Gamepads/Controllers/gearVRController.d.ts +0 -39
- package/Gamepads/Controllers/gearVRController.js +0 -79
- package/Gamepads/Controllers/gearVRController.js.map +0 -1
- package/Gamepads/Controllers/genericController.d.ts +0 -34
- package/Gamepads/Controllers/genericController.js +0 -48
- package/Gamepads/Controllers/genericController.js.map +0 -1
- package/Gamepads/Controllers/index.d.ts +0 -8
- package/Gamepads/Controllers/index.js +0 -9
- package/Gamepads/Controllers/index.js.map +0 -1
- package/Gamepads/Controllers/oculusTouchController.d.ts +0 -78
- package/Gamepads/Controllers/oculusTouchController.js +0 -196
- package/Gamepads/Controllers/oculusTouchController.js.map +0 -1
- package/Gamepads/Controllers/poseEnabledController.d.ts +0 -219
- package/Gamepads/Controllers/poseEnabledController.js +0 -293
- package/Gamepads/Controllers/poseEnabledController.js.map +0 -1
- package/Gamepads/Controllers/viveController.d.ts +0 -52
- package/Gamepads/Controllers/viveController.js +0 -115
- package/Gamepads/Controllers/viveController.js.map +0 -1
- package/Gamepads/Controllers/webVRController.d.ts +0 -85
- package/Gamepads/Controllers/webVRController.js +0 -122
- package/Gamepads/Controllers/webVRController.js.map +0 -1
- package/Gamepads/Controllers/windowsMotionController.d.ts +0 -212
- package/Gamepads/Controllers/windowsMotionController.js +0 -519
- package/Gamepads/Controllers/windowsMotionController.js.map +0 -1
- package/Materials/greasedLinePluginMaterial.d.ts +0 -496
- package/Materials/greasedLinePluginMaterial.js.map +0 -1
- package/Materials/greasedLineSimpleMaterial.js.map +0 -1
- package/Meshes/greasedLineMesh.d.ts +0 -204
- package/Meshes/greasedLineMesh.js.map +0 -1
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { SceneLoader } from "../../Loading/sceneLoader.js";
|
|
2
|
-
import { WebVRController } from "./webVRController.js";
|
|
3
|
-
import { PoseEnabledControllerType, PoseEnabledControllerHelper } from "./poseEnabledController.js";
|
|
4
|
-
/**
|
|
5
|
-
* Vive Controller
|
|
6
|
-
*/
|
|
7
|
-
export class ViveController extends WebVRController {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new ViveController from a gamepad
|
|
10
|
-
* @param vrGamepad the gamepad that the controller should be created from
|
|
11
|
-
*/
|
|
12
|
-
constructor(vrGamepad) {
|
|
13
|
-
super(vrGamepad);
|
|
14
|
-
this.controllerType = PoseEnabledControllerType.VIVE;
|
|
15
|
-
this._invertLeftStickY = true;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.
|
|
19
|
-
* @param scene scene in which to add meshes
|
|
20
|
-
* @param meshLoaded optional callback function that will be called if the mesh loads successfully.
|
|
21
|
-
*/
|
|
22
|
-
initControllerMesh(scene, meshLoaded) {
|
|
23
|
-
SceneLoader.ImportMesh("", ViveController.MODEL_BASE_URL, ViveController.MODEL_FILENAME, scene, (newMeshes) => {
|
|
24
|
-
/*
|
|
25
|
-
Parent Mesh name: ViveWand
|
|
26
|
-
- body
|
|
27
|
-
- r_gripper
|
|
28
|
-
- l_gripper
|
|
29
|
-
- menu_button
|
|
30
|
-
- system_button
|
|
31
|
-
- trackpad
|
|
32
|
-
- trigger
|
|
33
|
-
- LED
|
|
34
|
-
*/
|
|
35
|
-
this._defaultModel = newMeshes[1];
|
|
36
|
-
this.attachToMesh(this._defaultModel);
|
|
37
|
-
if (meshLoaded) {
|
|
38
|
-
meshLoaded(this._defaultModel);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Fired when the left button on this controller is modified
|
|
44
|
-
*/
|
|
45
|
-
get onLeftButtonStateChangedObservable() {
|
|
46
|
-
return this.onMainButtonStateChangedObservable;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Fired when the right button on this controller is modified
|
|
50
|
-
*/
|
|
51
|
-
get onRightButtonStateChangedObservable() {
|
|
52
|
-
return this.onMainButtonStateChangedObservable;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Fired when the menu button on this controller is modified
|
|
56
|
-
*/
|
|
57
|
-
get onMenuButtonStateChangedObservable() {
|
|
58
|
-
return this.onSecondaryButtonStateChangedObservable;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Called once for each button that changed state since the last frame
|
|
62
|
-
* Vive mapping:
|
|
63
|
-
* 0: touchpad
|
|
64
|
-
* 1: trigger
|
|
65
|
-
* 2: left AND right buttons
|
|
66
|
-
* 3: menu button
|
|
67
|
-
* @param buttonIdx Which button index changed
|
|
68
|
-
* @param state New state of the button
|
|
69
|
-
*/
|
|
70
|
-
_handleButtonChange(buttonIdx, state) {
|
|
71
|
-
const notifyObject = state; //{ state: state, changes: changes };
|
|
72
|
-
switch (buttonIdx) {
|
|
73
|
-
case 0:
|
|
74
|
-
this.onPadStateChangedObservable.notifyObservers(notifyObject);
|
|
75
|
-
return;
|
|
76
|
-
case 1: // index trigger
|
|
77
|
-
if (this._defaultModel) {
|
|
78
|
-
this._defaultModel.getChildren()[6].rotation.x = -notifyObject.value * 0.15;
|
|
79
|
-
}
|
|
80
|
-
this.onTriggerStateChangedObservable.notifyObservers(notifyObject);
|
|
81
|
-
return;
|
|
82
|
-
case 2: // left AND right button
|
|
83
|
-
this.onMainButtonStateChangedObservable.notifyObservers(notifyObject);
|
|
84
|
-
return;
|
|
85
|
-
case 3:
|
|
86
|
-
if (this._defaultModel) {
|
|
87
|
-
if (notifyObject.pressed) {
|
|
88
|
-
this._defaultModel.getChildren()[2].position.y = -0.001;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this._defaultModel.getChildren()[2].position.y = 0;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
this.onSecondaryButtonStateChangedObservable.notifyObservers(notifyObject);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Base Url for the controller model.
|
|
101
|
-
*/
|
|
102
|
-
ViveController.MODEL_BASE_URL = "https://controllers.babylonjs.com/vive/";
|
|
103
|
-
/**
|
|
104
|
-
* File name for the controller model.
|
|
105
|
-
*/
|
|
106
|
-
ViveController.MODEL_FILENAME = "wand.babylon";
|
|
107
|
-
PoseEnabledControllerHelper._ControllerFactories.push({
|
|
108
|
-
canCreate: (gamepadInfo) => {
|
|
109
|
-
return gamepadInfo.id.toLowerCase().indexOf("openvr") !== -1;
|
|
110
|
-
},
|
|
111
|
-
create: (gamepadInfo) => {
|
|
112
|
-
return new ViveController(gamepadInfo);
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=viveController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"viveController.js","sourceRoot":"","sources":["../../../../../dev/core/src/Gamepads/Controllers/viveController.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene } from \"../../scene\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport { SceneLoader } from \"../../Loading/sceneLoader\";\r\nimport { WebVRController } from \"./webVRController\";\r\nimport type { ExtendedGamepadButton } from \"./poseEnabledController\";\r\nimport { PoseEnabledControllerType, PoseEnabledControllerHelper } from \"./poseEnabledController\";\r\nimport type { Observable } from \"../../Misc/observable\";\r\n\r\n/**\r\n * Vive Controller\r\n */\r\nexport class ViveController extends WebVRController {\r\n /**\r\n * Base Url for the controller model.\r\n */\r\n public static MODEL_BASE_URL: string = \"https://controllers.babylonjs.com/vive/\";\r\n /**\r\n * File name for the controller model.\r\n */\r\n public static MODEL_FILENAME: string = \"wand.babylon\";\r\n\r\n /**\r\n * Creates a new ViveController from a gamepad\r\n * @param vrGamepad the gamepad that the controller should be created from\r\n */\r\n constructor(vrGamepad: any) {\r\n super(vrGamepad);\r\n this.controllerType = PoseEnabledControllerType.VIVE;\r\n this._invertLeftStickY = true;\r\n }\r\n\r\n /**\r\n * Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.\r\n * @param scene scene in which to add meshes\r\n * @param meshLoaded optional callback function that will be called if the mesh loads successfully.\r\n */\r\n public initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void) {\r\n SceneLoader.ImportMesh(\"\", ViveController.MODEL_BASE_URL, ViveController.MODEL_FILENAME, scene, (newMeshes) => {\r\n /*\r\n Parent Mesh name: ViveWand\r\n - body\r\n - r_gripper\r\n - l_gripper\r\n - menu_button\r\n - system_button\r\n - trackpad\r\n - trigger\r\n - LED\r\n */\r\n this._defaultModel = newMeshes[1];\r\n this.attachToMesh(this._defaultModel);\r\n if (meshLoaded) {\r\n meshLoaded(this._defaultModel);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Fired when the left button on this controller is modified\r\n */\r\n public get onLeftButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onMainButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Fired when the right button on this controller is modified\r\n */\r\n public get onRightButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onMainButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Fired when the menu button on this controller is modified\r\n */\r\n public get onMenuButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onSecondaryButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Called once for each button that changed state since the last frame\r\n * Vive mapping:\r\n * 0: touchpad\r\n * 1: trigger\r\n * 2: left AND right buttons\r\n * 3: menu button\r\n * @param buttonIdx Which button index changed\r\n * @param state New state of the button\r\n */\r\n protected _handleButtonChange(buttonIdx: number, state: ExtendedGamepadButton) {\r\n const notifyObject = state; //{ state: state, changes: changes };\r\n switch (buttonIdx) {\r\n case 0:\r\n this.onPadStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 1: // index trigger\r\n if (this._defaultModel) {\r\n (<AbstractMesh>this._defaultModel.getChildren()[6]).rotation.x = -notifyObject.value * 0.15;\r\n }\r\n this.onTriggerStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 2: // left AND right button\r\n this.onMainButtonStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 3:\r\n if (this._defaultModel) {\r\n if (notifyObject.pressed) {\r\n (<AbstractMesh>this._defaultModel.getChildren()[2]).position.y = -0.001;\r\n } else {\r\n (<AbstractMesh>this._defaultModel.getChildren()[2]).position.y = 0;\r\n }\r\n }\r\n this.onSecondaryButtonStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n }\r\n }\r\n}\r\n\r\nPoseEnabledControllerHelper._ControllerFactories.push({\r\n canCreate: (gamepadInfo) => {\r\n return gamepadInfo.id.toLowerCase().indexOf(\"openvr\") !== -1;\r\n },\r\n create: (gamepadInfo) => {\r\n return new ViveController(gamepadInfo);\r\n },\r\n});\r\n"]}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Observable } from "../../Misc/observable";
|
|
2
|
-
import type { Scene } from "../../scene";
|
|
3
|
-
import type { AbstractMesh } from "../../Meshes/abstractMesh";
|
|
4
|
-
import type { ExtendedGamepadButton, MutableGamepadButton } from "./poseEnabledController";
|
|
5
|
-
import { PoseEnabledController } from "./poseEnabledController";
|
|
6
|
-
import type { StickValues, GamepadButtonChanges } from "../../Gamepads/gamepad";
|
|
7
|
-
import type { Nullable } from "../../types";
|
|
8
|
-
/**
|
|
9
|
-
* Defines the WebVRController object that represents controllers tracked in 3D space
|
|
10
|
-
* @deprecated Use WebXR instead
|
|
11
|
-
*/
|
|
12
|
-
export declare abstract class WebVRController extends PoseEnabledController {
|
|
13
|
-
/**
|
|
14
|
-
* Internal, the default controller model for the controller
|
|
15
|
-
*/
|
|
16
|
-
protected _defaultModel: Nullable<AbstractMesh>;
|
|
17
|
-
/**
|
|
18
|
-
* Fired when the trigger state has changed
|
|
19
|
-
*/
|
|
20
|
-
onTriggerStateChangedObservable: Observable<ExtendedGamepadButton>;
|
|
21
|
-
/**
|
|
22
|
-
* Fired when the main button state has changed
|
|
23
|
-
*/
|
|
24
|
-
onMainButtonStateChangedObservable: Observable<ExtendedGamepadButton>;
|
|
25
|
-
/**
|
|
26
|
-
* Fired when the secondary button state has changed
|
|
27
|
-
*/
|
|
28
|
-
onSecondaryButtonStateChangedObservable: Observable<ExtendedGamepadButton>;
|
|
29
|
-
/**
|
|
30
|
-
* Fired when the pad state has changed
|
|
31
|
-
*/
|
|
32
|
-
onPadStateChangedObservable: Observable<ExtendedGamepadButton>;
|
|
33
|
-
/**
|
|
34
|
-
* Fired when controllers stick values have changed
|
|
35
|
-
*/
|
|
36
|
-
onPadValuesChangedObservable: Observable<StickValues>;
|
|
37
|
-
/**
|
|
38
|
-
* Array of button available on the controller
|
|
39
|
-
*/
|
|
40
|
-
protected _buttons: Array<MutableGamepadButton>;
|
|
41
|
-
private _onButtonStateChange;
|
|
42
|
-
/**
|
|
43
|
-
* Fired when a controller button's state has changed
|
|
44
|
-
* @param callback the callback containing the button that was modified
|
|
45
|
-
*/
|
|
46
|
-
onButtonStateChange(callback: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void): void;
|
|
47
|
-
/**
|
|
48
|
-
* X and Y axis corresponding to the controllers joystick
|
|
49
|
-
*/
|
|
50
|
-
pad: StickValues;
|
|
51
|
-
/**
|
|
52
|
-
* 'left' or 'right', see https://w3c.github.io/gamepad/extensions.html#gamepadhand-enum
|
|
53
|
-
*/
|
|
54
|
-
hand: string;
|
|
55
|
-
/**
|
|
56
|
-
* The default controller model for the controller
|
|
57
|
-
*/
|
|
58
|
-
get defaultModel(): Nullable<AbstractMesh>;
|
|
59
|
-
/**
|
|
60
|
-
* Creates a new WebVRController from a gamepad
|
|
61
|
-
* @param vrGamepad the gamepad that the WebVRController should be created from
|
|
62
|
-
*/
|
|
63
|
-
constructor(vrGamepad: any);
|
|
64
|
-
/**
|
|
65
|
-
* Updates the state of the controller and mesh based on the current position and rotation of the controller
|
|
66
|
-
*/
|
|
67
|
-
update(): void;
|
|
68
|
-
/**
|
|
69
|
-
* Function to be called when a button is modified
|
|
70
|
-
*/
|
|
71
|
-
protected abstract _handleButtonChange(buttonIdx: number, value: ExtendedGamepadButton, changes: GamepadButtonChanges): void;
|
|
72
|
-
/**
|
|
73
|
-
* Loads a mesh and attaches it to the controller
|
|
74
|
-
* @param scene the scene the mesh should be added to
|
|
75
|
-
* @param meshLoaded callback for when the mesh has been loaded
|
|
76
|
-
*/
|
|
77
|
-
abstract initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void): void;
|
|
78
|
-
private _setButtonValue;
|
|
79
|
-
private _changes;
|
|
80
|
-
private _checkChanges;
|
|
81
|
-
/**
|
|
82
|
-
* Disposes of th webVRController
|
|
83
|
-
*/
|
|
84
|
-
dispose(): void;
|
|
85
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Observable } from "../../Misc/observable.js";
|
|
2
|
-
import { PoseEnabledController } from "./poseEnabledController.js";
|
|
3
|
-
/**
|
|
4
|
-
* Defines the WebVRController object that represents controllers tracked in 3D space
|
|
5
|
-
* @deprecated Use WebXR instead
|
|
6
|
-
*/
|
|
7
|
-
export class WebVRController extends PoseEnabledController {
|
|
8
|
-
/**
|
|
9
|
-
* Fired when a controller button's state has changed
|
|
10
|
-
* @param callback the callback containing the button that was modified
|
|
11
|
-
*/
|
|
12
|
-
onButtonStateChange(callback) {
|
|
13
|
-
this._onButtonStateChange = callback;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* The default controller model for the controller
|
|
17
|
-
*/
|
|
18
|
-
get defaultModel() {
|
|
19
|
-
return this._defaultModel;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Creates a new WebVRController from a gamepad
|
|
23
|
-
* @param vrGamepad the gamepad that the WebVRController should be created from
|
|
24
|
-
*/
|
|
25
|
-
constructor(vrGamepad) {
|
|
26
|
-
super(vrGamepad);
|
|
27
|
-
// Observables
|
|
28
|
-
/**
|
|
29
|
-
* Fired when the trigger state has changed
|
|
30
|
-
*/
|
|
31
|
-
this.onTriggerStateChangedObservable = new Observable();
|
|
32
|
-
/**
|
|
33
|
-
* Fired when the main button state has changed
|
|
34
|
-
*/
|
|
35
|
-
this.onMainButtonStateChangedObservable = new Observable();
|
|
36
|
-
/**
|
|
37
|
-
* Fired when the secondary button state has changed
|
|
38
|
-
*/
|
|
39
|
-
this.onSecondaryButtonStateChangedObservable = new Observable();
|
|
40
|
-
/**
|
|
41
|
-
* Fired when the pad state has changed
|
|
42
|
-
*/
|
|
43
|
-
this.onPadStateChangedObservable = new Observable();
|
|
44
|
-
/**
|
|
45
|
-
* Fired when controllers stick values have changed
|
|
46
|
-
*/
|
|
47
|
-
this.onPadValuesChangedObservable = new Observable();
|
|
48
|
-
/**
|
|
49
|
-
* X and Y axis corresponding to the controllers joystick
|
|
50
|
-
*/
|
|
51
|
-
this.pad = { x: 0, y: 0 };
|
|
52
|
-
// avoid GC, store state in a tmp object
|
|
53
|
-
this._changes = {
|
|
54
|
-
pressChanged: false,
|
|
55
|
-
touchChanged: false,
|
|
56
|
-
valueChanged: false,
|
|
57
|
-
changed: false,
|
|
58
|
-
};
|
|
59
|
-
this._buttons = new Array(vrGamepad.buttons.length);
|
|
60
|
-
this.hand = vrGamepad.hand;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Updates the state of the controller and mesh based on the current position and rotation of the controller
|
|
64
|
-
*/
|
|
65
|
-
update() {
|
|
66
|
-
super.update();
|
|
67
|
-
for (let index = 0; index < this._buttons.length; index++) {
|
|
68
|
-
this._setButtonValue(this.browserGamepad.buttons[index], this._buttons[index], index);
|
|
69
|
-
}
|
|
70
|
-
if (this.leftStick.x !== this.pad.x || this.leftStick.y !== this.pad.y) {
|
|
71
|
-
this.pad.x = this.leftStick.x;
|
|
72
|
-
this.pad.y = this.leftStick.y;
|
|
73
|
-
this.onPadValuesChangedObservable.notifyObservers(this.pad);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
_setButtonValue(newState, currentState, buttonIndex) {
|
|
77
|
-
if (!newState) {
|
|
78
|
-
newState = {
|
|
79
|
-
pressed: false,
|
|
80
|
-
touched: false,
|
|
81
|
-
value: 0,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
if (!currentState) {
|
|
85
|
-
this._buttons[buttonIndex] = {
|
|
86
|
-
pressed: newState.pressed,
|
|
87
|
-
touched: newState.touched,
|
|
88
|
-
value: newState.value,
|
|
89
|
-
};
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
this._checkChanges(newState, currentState);
|
|
93
|
-
if (this._changes.changed) {
|
|
94
|
-
this._onButtonStateChange && this._onButtonStateChange(this.index, buttonIndex, newState);
|
|
95
|
-
this._handleButtonChange(buttonIndex, newState, this._changes);
|
|
96
|
-
}
|
|
97
|
-
this._buttons[buttonIndex].pressed = newState.pressed;
|
|
98
|
-
this._buttons[buttonIndex].touched = newState.touched;
|
|
99
|
-
// oculus triggers are never 0, thou not touched.
|
|
100
|
-
this._buttons[buttonIndex].value = newState.value < 0.00000001 ? 0 : newState.value;
|
|
101
|
-
}
|
|
102
|
-
_checkChanges(newState, currentState) {
|
|
103
|
-
this._changes.pressChanged = newState.pressed !== currentState.pressed;
|
|
104
|
-
this._changes.touchChanged = newState.touched !== currentState.touched;
|
|
105
|
-
this._changes.valueChanged = newState.value !== currentState.value;
|
|
106
|
-
this._changes.changed = this._changes.pressChanged || this._changes.touchChanged || this._changes.valueChanged;
|
|
107
|
-
return this._changes;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Disposes of th webVRController
|
|
111
|
-
*/
|
|
112
|
-
dispose() {
|
|
113
|
-
super.dispose();
|
|
114
|
-
this._defaultModel = null;
|
|
115
|
-
this.onTriggerStateChangedObservable.clear();
|
|
116
|
-
this.onMainButtonStateChangedObservable.clear();
|
|
117
|
-
this.onSecondaryButtonStateChangedObservable.clear();
|
|
118
|
-
this.onPadStateChangedObservable.clear();
|
|
119
|
-
this.onPadValuesChangedObservable.clear();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=webVRController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webVRController.js","sourceRoot":"","sources":["../../../../../dev/core/src/Gamepads/Controllers/webVRController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../../Misc/observable\";\r\nimport type { Scene } from \"../../scene\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport type { ExtendedGamepadButton, MutableGamepadButton } from \"./poseEnabledController\";\r\nimport { PoseEnabledController } from \"./poseEnabledController\";\r\nimport type { StickValues, GamepadButtonChanges } from \"../../Gamepads/gamepad\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/**\r\n * Defines the WebVRController object that represents controllers tracked in 3D space\r\n * @deprecated Use WebXR instead\r\n */\r\nexport abstract class WebVRController extends PoseEnabledController {\r\n /**\r\n * Internal, the default controller model for the controller\r\n */\r\n protected _defaultModel: Nullable<AbstractMesh>;\r\n\r\n // Observables\r\n /**\r\n * Fired when the trigger state has changed\r\n */\r\n public onTriggerStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the main button state has changed\r\n */\r\n public onMainButtonStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the secondary button state has changed\r\n */\r\n public onSecondaryButtonStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the pad state has changed\r\n */\r\n public onPadStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when controllers stick values have changed\r\n */\r\n public onPadValuesChangedObservable = new Observable<StickValues>();\r\n\r\n /**\r\n * Array of button available on the controller\r\n */\r\n protected _buttons: Array<MutableGamepadButton>;\r\n\r\n private _onButtonStateChange: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void;\r\n\r\n /**\r\n * Fired when a controller button's state has changed\r\n * @param callback the callback containing the button that was modified\r\n */\r\n public onButtonStateChange(callback: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void) {\r\n this._onButtonStateChange = callback;\r\n }\r\n\r\n /**\r\n * X and Y axis corresponding to the controllers joystick\r\n */\r\n public pad: StickValues = { x: 0, y: 0 };\r\n\r\n /**\r\n * 'left' or 'right', see https://w3c.github.io/gamepad/extensions.html#gamepadhand-enum\r\n */\r\n public hand: string;\r\n\r\n /**\r\n * The default controller model for the controller\r\n */\r\n public get defaultModel(): Nullable<AbstractMesh> {\r\n return this._defaultModel;\r\n }\r\n\r\n /**\r\n * Creates a new WebVRController from a gamepad\r\n * @param vrGamepad the gamepad that the WebVRController should be created from\r\n */\r\n constructor(vrGamepad: any) {\r\n super(vrGamepad);\r\n this._buttons = new Array<ExtendedGamepadButton>(vrGamepad.buttons.length);\r\n this.hand = vrGamepad.hand;\r\n }\r\n\r\n /**\r\n * Updates the state of the controller and mesh based on the current position and rotation of the controller\r\n */\r\n public update() {\r\n super.update();\r\n for (let index = 0; index < this._buttons.length; index++) {\r\n this._setButtonValue(this.browserGamepad.buttons[index], this._buttons[index], index);\r\n }\r\n if (this.leftStick.x !== this.pad.x || this.leftStick.y !== this.pad.y) {\r\n this.pad.x = this.leftStick.x;\r\n this.pad.y = this.leftStick.y;\r\n this.onPadValuesChangedObservable.notifyObservers(this.pad);\r\n }\r\n }\r\n\r\n /**\r\n * Function to be called when a button is modified\r\n */\r\n protected abstract _handleButtonChange(buttonIdx: number, value: ExtendedGamepadButton, changes: GamepadButtonChanges): void;\r\n\r\n /**\r\n * Loads a mesh and attaches it to the controller\r\n * @param scene the scene the mesh should be added to\r\n * @param meshLoaded callback for when the mesh has been loaded\r\n */\r\n public abstract initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void): void;\r\n\r\n private _setButtonValue(newState: ExtendedGamepadButton, currentState: ExtendedGamepadButton, buttonIndex: number) {\r\n if (!newState) {\r\n newState = {\r\n pressed: false,\r\n touched: false,\r\n value: 0,\r\n };\r\n }\r\n if (!currentState) {\r\n this._buttons[buttonIndex] = {\r\n pressed: newState.pressed,\r\n touched: newState.touched,\r\n value: newState.value,\r\n };\r\n return;\r\n }\r\n this._checkChanges(newState, currentState);\r\n if (this._changes.changed) {\r\n this._onButtonStateChange && this._onButtonStateChange(this.index, buttonIndex, newState);\r\n\r\n this._handleButtonChange(buttonIndex, newState, this._changes);\r\n }\r\n this._buttons[buttonIndex].pressed = newState.pressed;\r\n this._buttons[buttonIndex].touched = newState.touched;\r\n // oculus triggers are never 0, thou not touched.\r\n this._buttons[buttonIndex].value = newState.value < 0.00000001 ? 0 : newState.value;\r\n }\r\n\r\n // avoid GC, store state in a tmp object\r\n private _changes: GamepadButtonChanges = {\r\n pressChanged: false,\r\n touchChanged: false,\r\n valueChanged: false,\r\n changed: false,\r\n };\r\n\r\n private _checkChanges(newState: ExtendedGamepadButton, currentState: ExtendedGamepadButton) {\r\n this._changes.pressChanged = newState.pressed !== currentState.pressed;\r\n this._changes.touchChanged = newState.touched !== currentState.touched;\r\n this._changes.valueChanged = newState.value !== currentState.value;\r\n this._changes.changed = this._changes.pressChanged || this._changes.touchChanged || this._changes.valueChanged;\r\n return this._changes;\r\n }\r\n\r\n /**\r\n * Disposes of th webVRController\r\n */\r\n public dispose(): void {\r\n super.dispose();\r\n\r\n this._defaultModel = null;\r\n\r\n this.onTriggerStateChangedObservable.clear();\r\n this.onMainButtonStateChangedObservable.clear();\r\n this.onSecondaryButtonStateChangedObservable.clear();\r\n this.onPadStateChangedObservable.clear();\r\n this.onPadValuesChangedObservable.clear();\r\n }\r\n}\r\n"]}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { Observable } from "../../Misc/observable";
|
|
2
|
-
import type { Scene } from "../../scene";
|
|
3
|
-
import type { AbstractMesh } from "../../Meshes/abstractMesh";
|
|
4
|
-
import { Ray } from "../../Culling/ray";
|
|
5
|
-
import { WebVRController } from "./webVRController";
|
|
6
|
-
import type { ExtendedGamepadButton } from "./poseEnabledController";
|
|
7
|
-
import type { StickValues } from "../../Gamepads/gamepad";
|
|
8
|
-
/**
|
|
9
|
-
* Defines the WindowsMotionController object that the state of the windows motion controller
|
|
10
|
-
*/
|
|
11
|
-
export declare class WindowsMotionController extends WebVRController {
|
|
12
|
-
/**
|
|
13
|
-
* The base url used to load the left and right controller models
|
|
14
|
-
*/
|
|
15
|
-
static MODEL_BASE_URL: string;
|
|
16
|
-
/**
|
|
17
|
-
* The name of the left controller model file
|
|
18
|
-
*/
|
|
19
|
-
static MODEL_LEFT_FILENAME: string;
|
|
20
|
-
/**
|
|
21
|
-
* The name of the right controller model file
|
|
22
|
-
*/
|
|
23
|
-
static MODEL_RIGHT_FILENAME: string;
|
|
24
|
-
/**
|
|
25
|
-
* The controller name prefix for this controller type
|
|
26
|
-
*/
|
|
27
|
-
static readonly GAMEPAD_ID_PREFIX: string;
|
|
28
|
-
/**
|
|
29
|
-
* The controller id pattern for this controller type
|
|
30
|
-
*/
|
|
31
|
-
private static readonly GAMEPAD_ID_PATTERN;
|
|
32
|
-
private _loadedMeshInfo;
|
|
33
|
-
protected readonly _mapping: {
|
|
34
|
-
buttons: string[];
|
|
35
|
-
buttonMeshNames: {
|
|
36
|
-
trigger: string;
|
|
37
|
-
menu: string;
|
|
38
|
-
grip: string;
|
|
39
|
-
thumbstick: string;
|
|
40
|
-
trackpad: string;
|
|
41
|
-
};
|
|
42
|
-
buttonObservableNames: {
|
|
43
|
-
trigger: string;
|
|
44
|
-
menu: string;
|
|
45
|
-
grip: string;
|
|
46
|
-
thumbstick: string;
|
|
47
|
-
trackpad: string;
|
|
48
|
-
};
|
|
49
|
-
axisMeshNames: string[];
|
|
50
|
-
pointingPoseMeshName: string;
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Fired when the trackpad on this controller is clicked
|
|
54
|
-
*/
|
|
55
|
-
onTrackpadChangedObservable: Observable<ExtendedGamepadButton>;
|
|
56
|
-
/**
|
|
57
|
-
* Fired when the trackpad on this controller is modified
|
|
58
|
-
*/
|
|
59
|
-
onTrackpadValuesChangedObservable: Observable<StickValues>;
|
|
60
|
-
/**
|
|
61
|
-
* The current x and y values of this controller's trackpad
|
|
62
|
-
*/
|
|
63
|
-
trackpad: StickValues;
|
|
64
|
-
/**
|
|
65
|
-
* Creates a new WindowsMotionController from a gamepad
|
|
66
|
-
* @param vrGamepad the gamepad that the controller should be created from
|
|
67
|
-
*/
|
|
68
|
-
constructor(vrGamepad: any);
|
|
69
|
-
/**
|
|
70
|
-
* Fired when the trigger on this controller is modified
|
|
71
|
-
*/
|
|
72
|
-
get onTriggerButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
73
|
-
/**
|
|
74
|
-
* Fired when the menu button on this controller is modified
|
|
75
|
-
*/
|
|
76
|
-
get onMenuButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
77
|
-
/**
|
|
78
|
-
* Fired when the grip button on this controller is modified
|
|
79
|
-
*/
|
|
80
|
-
get onGripButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
81
|
-
/**
|
|
82
|
-
* Fired when the thumbstick button on this controller is modified
|
|
83
|
-
*/
|
|
84
|
-
get onThumbstickButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
85
|
-
/**
|
|
86
|
-
* Fired when the touchpad button on this controller is modified
|
|
87
|
-
*/
|
|
88
|
-
get onTouchpadButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
89
|
-
/**
|
|
90
|
-
* Fired when the touchpad values on this controller are modified
|
|
91
|
-
*/
|
|
92
|
-
get onTouchpadValuesChangedObservable(): Observable<StickValues>;
|
|
93
|
-
protected _updateTrackpad(): void;
|
|
94
|
-
/**
|
|
95
|
-
* Called once per frame by the engine.
|
|
96
|
-
*/
|
|
97
|
-
update(): void;
|
|
98
|
-
/**
|
|
99
|
-
* Called once for each button that changed state since the last frame
|
|
100
|
-
* @param buttonIdx Which button index changed
|
|
101
|
-
* @param state New state of the button
|
|
102
|
-
*/
|
|
103
|
-
protected _handleButtonChange(buttonIdx: number, state: ExtendedGamepadButton): void;
|
|
104
|
-
/**
|
|
105
|
-
* Moves the buttons on the controller mesh based on their current state
|
|
106
|
-
* @param buttonName the name of the button to move
|
|
107
|
-
* @param buttonValue the value of the button which determines the buttons new position
|
|
108
|
-
*/
|
|
109
|
-
protected _lerpButtonTransform(buttonName: string, buttonValue: number): void;
|
|
110
|
-
/**
|
|
111
|
-
* Moves the axis on the controller mesh based on its current state
|
|
112
|
-
* @param axis the index of the axis
|
|
113
|
-
* @param axisValue the value of the axis which determines the meshes new position
|
|
114
|
-
* @internal
|
|
115
|
-
*/
|
|
116
|
-
protected _lerpAxisTransform(axis: number, axisValue: number): void;
|
|
117
|
-
/**
|
|
118
|
-
* Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.
|
|
119
|
-
* @param scene scene in which to add meshes
|
|
120
|
-
* @param meshLoaded optional callback function that will be called if the mesh loads successfully.
|
|
121
|
-
* @param forceDefault
|
|
122
|
-
*/
|
|
123
|
-
initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void, forceDefault?: boolean): void;
|
|
124
|
-
/**
|
|
125
|
-
* Takes a list of meshes (as loaded from the glTF file) and finds the root node, as well as nodes that
|
|
126
|
-
* can be transformed by button presses and axes values, based on this._mapping.
|
|
127
|
-
*
|
|
128
|
-
* @param scene scene in which the meshes exist
|
|
129
|
-
* @param meshes list of meshes that make up the controller model to process
|
|
130
|
-
* @returns structured view of the given meshes, with mapping of buttons and axes to meshes that can be transformed.
|
|
131
|
-
*/
|
|
132
|
-
private _processModel;
|
|
133
|
-
private _createMeshInfo;
|
|
134
|
-
/**
|
|
135
|
-
* Gets the ray of the controller in the direction the controller is pointing
|
|
136
|
-
* @param length the length the resulting ray should be
|
|
137
|
-
* @returns a ray in the direction the controller is pointing
|
|
138
|
-
*/
|
|
139
|
-
getForwardRay(length?: number): Ray;
|
|
140
|
-
/**
|
|
141
|
-
* Disposes of the controller
|
|
142
|
-
*/
|
|
143
|
-
dispose(): void;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* This class represents a new windows motion controller in XR.
|
|
147
|
-
*/
|
|
148
|
-
export declare class XRWindowsMotionController extends WindowsMotionController {
|
|
149
|
-
/**
|
|
150
|
-
* Changing the original WIndowsMotionController mapping to fir the new mapping
|
|
151
|
-
*/
|
|
152
|
-
protected readonly _mapping: {
|
|
153
|
-
buttons: string[];
|
|
154
|
-
buttonMeshNames: {
|
|
155
|
-
trigger: string;
|
|
156
|
-
menu: string;
|
|
157
|
-
grip: string;
|
|
158
|
-
thumbstick: string;
|
|
159
|
-
trackpad: string;
|
|
160
|
-
};
|
|
161
|
-
buttonObservableNames: {
|
|
162
|
-
trigger: string;
|
|
163
|
-
menu: string;
|
|
164
|
-
grip: string;
|
|
165
|
-
thumbstick: string;
|
|
166
|
-
trackpad: string;
|
|
167
|
-
};
|
|
168
|
-
axisMeshNames: string[];
|
|
169
|
-
pointingPoseMeshName: string;
|
|
170
|
-
};
|
|
171
|
-
/**
|
|
172
|
-
* Construct a new XR-Based windows motion controller
|
|
173
|
-
*
|
|
174
|
-
* @param gamepadInfo the gamepad object from the browser
|
|
175
|
-
*/
|
|
176
|
-
constructor(gamepadInfo: any);
|
|
177
|
-
/**
|
|
178
|
-
* holds the thumbstick values (X,Y)
|
|
179
|
-
*/
|
|
180
|
-
thumbstickValues: StickValues;
|
|
181
|
-
/**
|
|
182
|
-
* Fired when the thumbstick on this controller is clicked
|
|
183
|
-
*/
|
|
184
|
-
onThumbstickStateChangedObservable: Observable<ExtendedGamepadButton>;
|
|
185
|
-
/**
|
|
186
|
-
* Fired when the thumbstick on this controller is modified
|
|
187
|
-
*/
|
|
188
|
-
onThumbstickValuesChangedObservable: Observable<StickValues>;
|
|
189
|
-
/**
|
|
190
|
-
* Fired when the touchpad button on this controller is modified
|
|
191
|
-
*/
|
|
192
|
-
onTrackpadChangedObservable: Observable<ExtendedGamepadButton>;
|
|
193
|
-
/**
|
|
194
|
-
* Fired when the touchpad values on this controller are modified
|
|
195
|
-
*/
|
|
196
|
-
onTrackpadValuesChangedObservable: Observable<StickValues>;
|
|
197
|
-
/**
|
|
198
|
-
* Fired when the thumbstick button on this controller is modified
|
|
199
|
-
* here to prevent breaking changes
|
|
200
|
-
*/
|
|
201
|
-
get onThumbstickButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
|
|
202
|
-
/**
|
|
203
|
-
* updating the thumbstick(!) and not the trackpad.
|
|
204
|
-
* This is named this way due to the difference between WebVR and XR and to avoid
|
|
205
|
-
* changing the parent class.
|
|
206
|
-
*/
|
|
207
|
-
protected _updateTrackpad(): void;
|
|
208
|
-
/**
|
|
209
|
-
* Disposes the class with joy
|
|
210
|
-
*/
|
|
211
|
-
dispose(): void;
|
|
212
|
-
}
|