@babylonjs/core 5.45.2 → 5.46.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/Actions/condition.js +23 -23
- package/Actions/condition.js.map +1 -1
- package/Animations/animatable.js +48 -48
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.js +53 -53
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.js +53 -53
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/runtimeAnimation.js +36 -36
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioEngine.js +14 -14
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/audioSceneComponent.js +14 -14
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.js +47 -47
- package/Audio/sound.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +1 -1
- package/Behaviors/Meshes/fadeInOutBehavior.js +11 -11
- package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js +34 -34
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Bones/bone.js +15 -15
- package/Bones/bone.js.map +1 -1
- package/Bones/boneIKController.js +9 -9
- package/Bones/boneIKController.js.map +1 -1
- package/Bones/boneLookController.js +50 -50
- package/Bones/boneLookController.js.map +1 -1
- package/Bones/skeleton.js +35 -35
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.js +14 -14
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/dataBuffer.js +6 -6
- package/Buffers/dataBuffer.js.map +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +42 -42
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +18 -18
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.js +178 -178
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/arcRotateCamera.js +176 -176
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.js +90 -90
- package/Cameras/camera.js.map +1 -1
- package/Cameras/flyCamera.js +82 -82
- package/Cameras/flyCamera.js.map +1 -1
- package/Cameras/freeCamera.js +54 -54
- package/Cameras/freeCamera.js.map +1 -1
- package/Compute/computeShader.js +12 -12
- package/Compute/computeShader.js.map +1 -1
- package/Culling/ray.d.ts +1 -1
- package/Debug/axesViewer.js +12 -12
- package/Debug/axesViewer.js.map +1 -1
- package/Debug/debugLayer.js +21 -21
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/directionalLightFrustumViewer.js +20 -20
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Debug/rayHelper.js +10 -10
- package/Debug/rayHelper.js.map +1 -1
- package/Debug/skeletonViewer.js +81 -81
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSource.d.ts +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js +31 -31
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/InputDevices/deviceTypes.d.ts +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +2 -2
- package/Engines/Extensions/engine.computeShader.d.ts +3 -3
- package/Engines/Extensions/engine.multiRender.js +1 -1
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +1 -1
- package/Engines/Extensions/engine.renderTarget.d.ts +1 -1
- package/Engines/Extensions/engine.renderTarget.js +1 -1
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Native/nativeDataStream.d.ts +1 -1
- package/Engines/Native/nativeHardwareTexture.js +3 -3
- package/Engines/Native/nativeHardwareTexture.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +5 -5
- package/Engines/Native/nativePipelineContext.js +7 -7
- package/Engines/Native/nativePipelineContext.js.map +1 -1
- package/Engines/Native/nativeRenderTargetWrapper.js +6 -6
- package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
- package/Engines/Processors/shaderCodeInliner.js +4 -4
- package/Engines/Processors/shaderCodeInliner.js.map +1 -1
- package/Engines/Processors/shaderProcessingOptions.d.ts +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js +3 -3
- package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js +3 -3
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +6 -6
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +5 -5
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +11 -11
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +7 -7
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js +4 -4
- package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js +7 -7
- package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +9 -9
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.js +5 -5
- package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +10 -10
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.js +6 -6
- package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js +3 -3
- package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +3 -3
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +3 -3
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTimestampQuery.js +3 -3
- package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
- package/Engines/engine.js +134 -134
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.js +6 -6
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +25 -25
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +25 -25
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.js +243 -243
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +132 -132
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/keyboardEvents.js +10 -10
- package/Events/keyboardEvents.js.map +1 -1
- package/Events/pointerEvents.js +9 -9
- package/Events/pointerEvents.js.map +1 -1
- package/Gamepads/Controllers/poseEnabledController.js +9 -9
- package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
- package/Gamepads/Controllers/webVRController.js +13 -13
- package/Gamepads/Controllers/webVRController.js.map +1 -1
- package/Gamepads/gamepad.js +20 -20
- package/Gamepads/gamepad.js.map +1 -1
- package/Gizmos/axisDragGizmo.js +45 -45
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/axisScaleGizmo.js +12 -12
- package/Gizmos/axisScaleGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.js +74 -74
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/gizmo.js +34 -34
- package/Gizmos/gizmo.js.map +1 -1
- package/Gizmos/gizmoManager.js +40 -40
- package/Gizmos/gizmoManager.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +23 -23
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Gizmos/planeRotationGizmo.js +12 -12
- package/Gizmos/planeRotationGizmo.js.map +1 -1
- package/Gizmos/positionGizmo.js +40 -40
- package/Gizmos/positionGizmo.js.map +1 -1
- package/Gizmos/rotationGizmo.js +47 -47
- package/Gizmos/rotationGizmo.js.map +1 -1
- package/Gizmos/scaleGizmo.js +41 -41
- package/Gizmos/scaleGizmo.js.map +1 -1
- package/Helpers/environmentHelper.js +18 -18
- package/Helpers/environmentHelper.js.map +1 -1
- package/Helpers/textureDome.js +96 -96
- package/Helpers/textureDome.js.map +1 -1
- package/IAccessibilityTag.d.ts +2 -2
- package/Instrumentation/engineInstrumentation.js +21 -21
- package/Instrumentation/engineInstrumentation.js.map +1 -1
- package/Instrumentation/sceneInstrumentation.js +90 -90
- package/Instrumentation/sceneInstrumentation.js.map +1 -1
- package/Layers/effectLayer.js +48 -48
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.js +32 -32
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +26 -26
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.js +40 -40
- package/Layers/layer.js.map +1 -1
- package/LensFlares/lensFlare.js +15 -15
- package/LensFlares/lensFlare.js.map +1 -1
- package/LensFlares/lensFlareSystem.js +4 -4
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +18 -18
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +115 -115
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/directionalLight.js +31 -31
- package/Lights/directionalLight.js.map +1 -1
- package/Lights/light.js +72 -72
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.js +18 -18
- package/Lights/pointLight.js.map +1 -1
- package/Lights/spotLight.js +30 -30
- package/Lights/spotLight.js.map +1 -1
- package/Loading/sceneLoader.d.ts +1 -1
- package/Materials/Background/backgroundMaterial.js +124 -124
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +8 -8
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +14 -14
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +9 -9
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +26 -26
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +34 -34
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +14 -14
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +16 -16
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.js +7 -7
- package/Materials/Node/Blocks/customBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +13 -13
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.js +30 -30
- package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -1
- package/Materials/Node/nodeMaterial.js +60 -60
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +35 -35
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +50 -50
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.js +5 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.js +4 -4
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +52 -52
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js +17 -17
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.js +5 -5
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.js +209 -209
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.js +5 -5
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js +6 -6
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +51 -51
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/baseTexture.js +99 -99
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.js +61 -61
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/externalTexture.js +16 -16
- package/Materials/Textures/externalTexture.js.map +1 -1
- package/Materials/Textures/hdrCubeTexture.js +44 -44
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.js +31 -31
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +73 -73
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.js +47 -47
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/rawTexture2DArray.js +6 -6
- package/Materials/Textures/rawTexture2DArray.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.js +142 -142
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +1 -1
- package/Materials/Textures/texture.js +26 -26
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureCreationOptions.d.ts +1 -1
- package/Materials/Textures/textureSampler.js +20 -20
- package/Materials/Textures/textureSampler.js.map +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js +6 -6
- package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinTexture.js +39 -39
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.js +40 -40
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/drawWrapper.js +6 -6
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.js +18 -18
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.js +9 -9
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/fresnelParameters.d.ts +2 -2
- package/Materials/fresnelParameters.js +13 -13
- package/Materials/fresnelParameters.js.map +1 -1
- package/Materials/material.detailMapConfiguration.js +5 -5
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +223 -223
- package/Materials/material.js.map +1 -1
- package/Materials/materialPluginBase.js +5 -5
- package/Materials/materialPluginBase.js.map +1 -1
- package/Materials/materialPluginEvent.d.ts +14 -14
- package/Materials/materialPluginManager.d.ts +1 -1
- package/Materials/multiMaterial.js +16 -16
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +14 -14
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.js +100 -100
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js +3 -3
- package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
- package/Maths/math.functions.js +2 -0
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.path.js +11 -11
- package/Maths/math.path.js.map +1 -1
- package/Maths/math.vector.d.ts +6 -7
- package/Maths/math.vector.js +48 -48
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/goldbergBuilder.d.ts +2 -2
- package/Meshes/Compression/dracoCompression.js +23 -23
- package/Meshes/Compression/dracoCompression.js.map +1 -1
- package/Meshes/Compression/meshoptCompression.js +9 -9
- package/Meshes/Compression/meshoptCompression.js.map +1 -1
- package/Meshes/abstractMesh.js +179 -179
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.js +32 -32
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/goldbergMesh.d.ts +1 -1
- package/Meshes/linesMesh.js +3 -3
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.js +165 -165
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/polygonMesh.js +5 -5
- package/Meshes/polygonMesh.js.map +1 -1
- package/Meshes/subMesh.js +59 -59
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/transformNode.js +52 -52
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js +12 -12
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/arrayTools.d.ts +1 -1
- package/Misc/copyTextureToTexture.js +3 -3
- package/Misc/copyTextureToTexture.js.map +1 -1
- package/Misc/coroutine.d.ts +5 -5
- package/Misc/deferred.js +9 -9
- package/Misc/deferred.js.map +1 -1
- package/Misc/depthReducer.js +7 -7
- package/Misc/depthReducer.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +1 -1
- package/Misc/error.d.ts +1 -1
- package/Misc/fileTools.d.ts +5 -5
- package/Misc/filesInput.js +6 -6
- package/Misc/filesInput.js.map +1 -1
- package/Misc/khronosTextureContainer2.js +9 -9
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/observable.js +12 -12
- package/Misc/observable.js.map +1 -1
- package/Misc/perfCounter.js +16 -16
- package/Misc/perfCounter.js.map +1 -1
- package/Misc/sceneOptimizer.js +76 -76
- package/Misc/sceneOptimizer.js.map +1 -1
- package/Misc/stringDictionary.d.ts +1 -1
- package/Misc/trajectoryClassifier.js +67 -67
- package/Misc/trajectoryClassifier.js.map +1 -1
- package/Misc/videoRecorder.js +15 -15
- package/Misc/videoRecorder.js.map +1 -1
- package/Misc/virtualJoystick.js +12 -12
- package/Misc/virtualJoystick.js.map +1 -1
- package/Morph/morphTarget.js +28 -28
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.js +18 -18
- package/Morph/morphTargetManager.js.map +1 -1
- package/Offline/database.js +12 -12
- package/Offline/database.js.map +1 -1
- package/Particles/EmitterTypes/coneParticleEmitter.js +25 -25
- package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
- package/Particles/EmitterTypes/meshParticleEmitter.js +20 -20
- package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
- package/Particles/baseParticleSystem.js +232 -232
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/cloudPoint.js +9 -9
- package/Particles/cloudPoint.js.map +1 -1
- package/Particles/gpuParticleSystem.js +123 -123
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particleSystem.js +102 -102
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/pointsCloudSystem.js +18 -18
- package/Particles/pointsCloudSystem.js.map +1 -1
- package/Particles/solidParticle.js +23 -23
- package/Particles/solidParticle.js.map +1 -1
- package/Physics/v1/physicsEngine.js +14 -14
- package/Physics/v1/physicsEngine.js.map +1 -1
- package/Physics/v1/physicsImpostor.js +149 -149
- package/Physics/v1/physicsImpostor.js.map +1 -1
- package/Physics/v2/physicsEngine.js +14 -14
- package/Physics/v2/physicsEngine.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +129 -129
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +68 -68
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +6 -6
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +226 -225
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +10 -10
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/anaglyphPostProcess.js +7 -7
- package/PostProcesses/anaglyphPostProcess.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.js +7 -7
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.js +28 -28
- package/PostProcesses/bloomEffect.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.js +7 -7
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.js +32 -32
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.js +7 -7
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.js +7 -7
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js +7 -7
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.js +7 -7
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.js +7 -7
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.js +36 -36
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/depthOfFieldMergePostProcess.js +7 -7
- package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.js +7 -7
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.js +7 -7
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.js +7 -7
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +42 -42
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.js +41 -41
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.js +15 -15
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +2 -2
- package/PostProcesses/postProcess.js +123 -123
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/refractionPostProcess.js +21 -21
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +7 -7
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js +19 -19
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.js +7 -7
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/stereoscopicInterlacePostProcess.js +14 -14
- package/PostProcesses/stereoscopicInterlacePostProcess.js.map +1 -1
- package/PostProcesses/tonemapPostProcess.js +7 -7
- package/PostProcesses/tonemapPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +11 -11
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/PostProcesses/vrDistortionCorrectionPostProcess.js +7 -7
- package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
- package/Rendering/depthPeelingRenderer.js +36 -36
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthRenderer.js +8 -8
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/edgesRenderer.js +34 -34
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.js +8 -8
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js +3 -3
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObject.js +19 -19
- package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +12 -12
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js +18 -18
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +68 -68
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTextures.js +29 -29
- package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +44 -44
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +51 -51
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/renderingGroup.js +25 -25
- package/Rendering/renderingGroup.js.map +1 -1
- package/Rendering/renderingManager.js +21 -21
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.js +18 -18
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/utilityLayerRenderer.js +76 -76
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Sprites/sprite.js +16 -16
- package/Sprites/sprite.js.map +1 -1
- package/Sprites/spriteManager.js +81 -81
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteMap.js +32 -32
- package/Sprites/spriteMap.js.map +1 -1
- package/Sprites/spriteRenderer.js +6 -6
- package/Sprites/spriteRenderer.js.map +1 -1
- package/Sprites/thinSprite.js +22 -22
- package/Sprites/thinSprite.js.map +1 -1
- package/States/stencilStateComposer.js +10 -10
- package/States/stencilStateComposer.js.map +1 -1
- package/XR/features/WebXRAnchorSystem.js +7 -7
- package/XR/features/WebXRAnchorSystem.js.map +1 -1
- package/XR/features/WebXRControllerMovement.d.ts +3 -3
- package/XR/features/WebXRControllerMovement.js +97 -97
- package/XR/features/WebXRControllerMovement.js.map +1 -1
- package/XR/features/WebXRControllerPhysics.js +24 -24
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.js +26 -26
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRDOMOverlay.d.ts +1 -1
- package/XR/features/WebXRFeaturePointSystem.js +6 -6
- package/XR/features/WebXRFeaturePointSystem.js.map +1 -1
- package/XR/features/WebXRHandTracking.d.ts +1 -1
- package/XR/features/WebXRHandTracking.js +95 -95
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRWalkingLocomotion.js +21 -21
- package/XR/features/WebXRWalkingLocomotion.js.map +1 -1
- package/XR/motionController/webXRAbstractMotionController.d.ts +3 -3
- package/XR/motionController/webXRMotionControllerManager.d.ts +1 -1
- package/XR/native/nativeXRFrame.js +3 -3
- package/XR/native/nativeXRFrame.js.map +1 -1
- package/XR/webXRFeaturesManager.d.ts +1 -1
- package/XR/webXRLayerWrapper.d.ts +2 -2
- package/XR/webXRLayerWrapper.js +17 -17
- package/XR/webXRLayerWrapper.js.map +1 -1
- package/abstractScene.d.ts +2 -2
- package/node.d.ts +1 -1
- package/node.js +71 -71
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +777 -777
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +12 -12
- package/types.d.ts +11 -11
|
@@ -23,182 +23,6 @@ Node.AddNodeConstructor("ArcRotateCamera", (name, scene) => {
|
|
|
23
23
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_introduction#arc-rotate-camera
|
|
24
24
|
*/
|
|
25
25
|
export class ArcRotateCamera extends TargetCamera {
|
|
26
|
-
/**
|
|
27
|
-
* Instantiates a new ArcRotateCamera in a given scene
|
|
28
|
-
* @param name Defines the name of the camera
|
|
29
|
-
* @param alpha Defines the camera rotation along the longitudinal axis
|
|
30
|
-
* @param beta Defines the camera rotation along the latitudinal axis
|
|
31
|
-
* @param radius Defines the camera distance from its target
|
|
32
|
-
* @param target Defines the camera target
|
|
33
|
-
* @param scene Defines the scene the camera belongs to
|
|
34
|
-
* @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
|
|
35
|
-
*/
|
|
36
|
-
constructor(name, alpha, beta, radius, target, scene, setActiveOnSceneIfNoneActive = true) {
|
|
37
|
-
super(name, Vector3.Zero(), scene, setActiveOnSceneIfNoneActive);
|
|
38
|
-
/**
|
|
39
|
-
* Current inertia value on the longitudinal axis.
|
|
40
|
-
* The bigger this number the longer it will take for the camera to stop.
|
|
41
|
-
*/
|
|
42
|
-
this.inertialAlphaOffset = 0;
|
|
43
|
-
/**
|
|
44
|
-
* Current inertia value on the latitudinal axis.
|
|
45
|
-
* The bigger this number the longer it will take for the camera to stop.
|
|
46
|
-
*/
|
|
47
|
-
this.inertialBetaOffset = 0;
|
|
48
|
-
/**
|
|
49
|
-
* Current inertia value on the radius axis.
|
|
50
|
-
* The bigger this number the longer it will take for the camera to stop.
|
|
51
|
-
*/
|
|
52
|
-
this.inertialRadiusOffset = 0;
|
|
53
|
-
/**
|
|
54
|
-
* Minimum allowed angle on the longitudinal axis.
|
|
55
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
56
|
-
*/
|
|
57
|
-
this.lowerAlphaLimit = null;
|
|
58
|
-
/**
|
|
59
|
-
* Maximum allowed angle on the longitudinal axis.
|
|
60
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
61
|
-
*/
|
|
62
|
-
this.upperAlphaLimit = null;
|
|
63
|
-
/**
|
|
64
|
-
* Minimum allowed angle on the latitudinal axis.
|
|
65
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
66
|
-
*/
|
|
67
|
-
this.lowerBetaLimit = 0.01;
|
|
68
|
-
/**
|
|
69
|
-
* Maximum allowed angle on the latitudinal axis.
|
|
70
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
71
|
-
*/
|
|
72
|
-
this.upperBetaLimit = Math.PI - 0.01;
|
|
73
|
-
/**
|
|
74
|
-
* Minimum allowed distance of the camera to the target (The camera can not get closer).
|
|
75
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
76
|
-
*/
|
|
77
|
-
this.lowerRadiusLimit = null;
|
|
78
|
-
/**
|
|
79
|
-
* Maximum allowed distance of the camera to the target (The camera can not get further).
|
|
80
|
-
* This can help limiting how the Camera is able to move in the scene.
|
|
81
|
-
*/
|
|
82
|
-
this.upperRadiusLimit = null;
|
|
83
|
-
/**
|
|
84
|
-
* Defines the current inertia value used during panning of the camera along the X axis.
|
|
85
|
-
*/
|
|
86
|
-
this.inertialPanningX = 0;
|
|
87
|
-
/**
|
|
88
|
-
* Defines the current inertia value used during panning of the camera along the Y axis.
|
|
89
|
-
*/
|
|
90
|
-
this.inertialPanningY = 0;
|
|
91
|
-
/**
|
|
92
|
-
* Defines the distance used to consider the camera in pan mode vs pinch/zoom.
|
|
93
|
-
* Basically if your fingers moves away from more than this distance you will be considered
|
|
94
|
-
* in pinch mode.
|
|
95
|
-
*/
|
|
96
|
-
this.pinchToPanMaxDistance = 20;
|
|
97
|
-
/**
|
|
98
|
-
* Defines the maximum distance the camera can pan.
|
|
99
|
-
* This could help keeping the camera always in your scene.
|
|
100
|
-
*/
|
|
101
|
-
this.panningDistanceLimit = null;
|
|
102
|
-
/**
|
|
103
|
-
* Defines the target of the camera before panning.
|
|
104
|
-
*/
|
|
105
|
-
this.panningOriginTarget = Vector3.Zero();
|
|
106
|
-
/**
|
|
107
|
-
* Defines the value of the inertia used during panning.
|
|
108
|
-
* 0 would mean stop inertia and one would mean no deceleration at all.
|
|
109
|
-
*/
|
|
110
|
-
this.panningInertia = 0.9;
|
|
111
|
-
//-- end properties for backward compatibility for inputs
|
|
112
|
-
/**
|
|
113
|
-
* Defines how much the radius should be scaled while zooming on a particular mesh (through the zoomOn function)
|
|
114
|
-
*/
|
|
115
|
-
this.zoomOnFactor = 1;
|
|
116
|
-
/**
|
|
117
|
-
* Defines a screen offset for the camera position.
|
|
118
|
-
*/
|
|
119
|
-
this.targetScreenOffset = Vector2.Zero();
|
|
120
|
-
/**
|
|
121
|
-
* Allows the camera to be completely reversed.
|
|
122
|
-
* If false the camera can not arrive upside down.
|
|
123
|
-
*/
|
|
124
|
-
this.allowUpsideDown = true;
|
|
125
|
-
/**
|
|
126
|
-
* Define if double tap/click is used to restore the previously saved state of the camera.
|
|
127
|
-
*/
|
|
128
|
-
this.useInputToRestoreState = true;
|
|
129
|
-
/** @internal */
|
|
130
|
-
this._viewMatrix = new Matrix();
|
|
131
|
-
/**
|
|
132
|
-
* Defines the allowed panning axis.
|
|
133
|
-
*/
|
|
134
|
-
this.panningAxis = new Vector3(1, 1, 0);
|
|
135
|
-
this._transformedDirection = new Vector3();
|
|
136
|
-
/**
|
|
137
|
-
* Defines if camera will eliminate transform on y axis.
|
|
138
|
-
*/
|
|
139
|
-
this.mapPanning = false;
|
|
140
|
-
/**
|
|
141
|
-
* Observable triggered when the mesh target has been changed on the camera.
|
|
142
|
-
*/
|
|
143
|
-
this.onMeshTargetChangedObservable = new Observable();
|
|
144
|
-
/**
|
|
145
|
-
* Defines whether the camera should check collision with the objects oh the scene.
|
|
146
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions#how-can-i-do-this-
|
|
147
|
-
*/
|
|
148
|
-
this.checkCollisions = false;
|
|
149
|
-
/**
|
|
150
|
-
* Defines the collision radius of the camera.
|
|
151
|
-
* This simulates a sphere around the camera.
|
|
152
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions#arcrotatecamera
|
|
153
|
-
*/
|
|
154
|
-
this.collisionRadius = new Vector3(0.5, 0.5, 0.5);
|
|
155
|
-
this._previousPosition = Vector3.Zero();
|
|
156
|
-
this._collisionVelocity = Vector3.Zero();
|
|
157
|
-
this._newPosition = Vector3.Zero();
|
|
158
|
-
this._computationVector = Vector3.Zero();
|
|
159
|
-
this._onCollisionPositionChange = (collisionId, newPosition, collidedMesh = null) => {
|
|
160
|
-
if (!collidedMesh) {
|
|
161
|
-
this._previousPosition.copyFrom(this._position);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
this.setPosition(newPosition);
|
|
165
|
-
if (this.onCollide) {
|
|
166
|
-
this.onCollide(collidedMesh);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
// Recompute because of constraints
|
|
170
|
-
const cosa = Math.cos(this.alpha);
|
|
171
|
-
const sina = Math.sin(this.alpha);
|
|
172
|
-
const cosb = Math.cos(this.beta);
|
|
173
|
-
let sinb = Math.sin(this.beta);
|
|
174
|
-
if (sinb === 0) {
|
|
175
|
-
sinb = 0.0001;
|
|
176
|
-
}
|
|
177
|
-
const target = this._getTargetPosition();
|
|
178
|
-
this._computationVector.copyFromFloats(this.radius * cosa * sinb, this.radius * cosb, this.radius * sina * sinb);
|
|
179
|
-
target.addToRef(this._computationVector, this._newPosition);
|
|
180
|
-
this._position.copyFrom(this._newPosition);
|
|
181
|
-
let up = this.upVector;
|
|
182
|
-
if (this.allowUpsideDown && this.beta < 0) {
|
|
183
|
-
up = up.clone();
|
|
184
|
-
up = up.negate();
|
|
185
|
-
}
|
|
186
|
-
this._computeViewMatrix(this._position, target, up);
|
|
187
|
-
this._viewMatrix.addAtIndex(12, this.targetScreenOffset.x);
|
|
188
|
-
this._viewMatrix.addAtIndex(13, this.targetScreenOffset.y);
|
|
189
|
-
this._collisionTriggered = false;
|
|
190
|
-
};
|
|
191
|
-
this._target = Vector3.Zero();
|
|
192
|
-
if (target) {
|
|
193
|
-
this.setTarget(target);
|
|
194
|
-
}
|
|
195
|
-
this.alpha = alpha;
|
|
196
|
-
this.beta = beta;
|
|
197
|
-
this.radius = radius;
|
|
198
|
-
this.getViewMatrix();
|
|
199
|
-
this.inputs = new ArcRotateCameraInputsManager(this);
|
|
200
|
-
this.inputs.addKeyboard().addMouseWheel().addPointers();
|
|
201
|
-
}
|
|
202
26
|
/**
|
|
203
27
|
* Defines the target point of the camera.
|
|
204
28
|
* The camera looks towards it from the radius distance.
|
|
@@ -564,6 +388,182 @@ export class ArcRotateCamera extends TargetCamera {
|
|
|
564
388
|
this._autoRotationBehavior = null;
|
|
565
389
|
}
|
|
566
390
|
}
|
|
391
|
+
/**
|
|
392
|
+
* Instantiates a new ArcRotateCamera in a given scene
|
|
393
|
+
* @param name Defines the name of the camera
|
|
394
|
+
* @param alpha Defines the camera rotation along the longitudinal axis
|
|
395
|
+
* @param beta Defines the camera rotation along the latitudinal axis
|
|
396
|
+
* @param radius Defines the camera distance from its target
|
|
397
|
+
* @param target Defines the camera target
|
|
398
|
+
* @param scene Defines the scene the camera belongs to
|
|
399
|
+
* @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
|
|
400
|
+
*/
|
|
401
|
+
constructor(name, alpha, beta, radius, target, scene, setActiveOnSceneIfNoneActive = true) {
|
|
402
|
+
super(name, Vector3.Zero(), scene, setActiveOnSceneIfNoneActive);
|
|
403
|
+
/**
|
|
404
|
+
* Current inertia value on the longitudinal axis.
|
|
405
|
+
* The bigger this number the longer it will take for the camera to stop.
|
|
406
|
+
*/
|
|
407
|
+
this.inertialAlphaOffset = 0;
|
|
408
|
+
/**
|
|
409
|
+
* Current inertia value on the latitudinal axis.
|
|
410
|
+
* The bigger this number the longer it will take for the camera to stop.
|
|
411
|
+
*/
|
|
412
|
+
this.inertialBetaOffset = 0;
|
|
413
|
+
/**
|
|
414
|
+
* Current inertia value on the radius axis.
|
|
415
|
+
* The bigger this number the longer it will take for the camera to stop.
|
|
416
|
+
*/
|
|
417
|
+
this.inertialRadiusOffset = 0;
|
|
418
|
+
/**
|
|
419
|
+
* Minimum allowed angle on the longitudinal axis.
|
|
420
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
421
|
+
*/
|
|
422
|
+
this.lowerAlphaLimit = null;
|
|
423
|
+
/**
|
|
424
|
+
* Maximum allowed angle on the longitudinal axis.
|
|
425
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
426
|
+
*/
|
|
427
|
+
this.upperAlphaLimit = null;
|
|
428
|
+
/**
|
|
429
|
+
* Minimum allowed angle on the latitudinal axis.
|
|
430
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
431
|
+
*/
|
|
432
|
+
this.lowerBetaLimit = 0.01;
|
|
433
|
+
/**
|
|
434
|
+
* Maximum allowed angle on the latitudinal axis.
|
|
435
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
436
|
+
*/
|
|
437
|
+
this.upperBetaLimit = Math.PI - 0.01;
|
|
438
|
+
/**
|
|
439
|
+
* Minimum allowed distance of the camera to the target (The camera can not get closer).
|
|
440
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
441
|
+
*/
|
|
442
|
+
this.lowerRadiusLimit = null;
|
|
443
|
+
/**
|
|
444
|
+
* Maximum allowed distance of the camera to the target (The camera can not get further).
|
|
445
|
+
* This can help limiting how the Camera is able to move in the scene.
|
|
446
|
+
*/
|
|
447
|
+
this.upperRadiusLimit = null;
|
|
448
|
+
/**
|
|
449
|
+
* Defines the current inertia value used during panning of the camera along the X axis.
|
|
450
|
+
*/
|
|
451
|
+
this.inertialPanningX = 0;
|
|
452
|
+
/**
|
|
453
|
+
* Defines the current inertia value used during panning of the camera along the Y axis.
|
|
454
|
+
*/
|
|
455
|
+
this.inertialPanningY = 0;
|
|
456
|
+
/**
|
|
457
|
+
* Defines the distance used to consider the camera in pan mode vs pinch/zoom.
|
|
458
|
+
* Basically if your fingers moves away from more than this distance you will be considered
|
|
459
|
+
* in pinch mode.
|
|
460
|
+
*/
|
|
461
|
+
this.pinchToPanMaxDistance = 20;
|
|
462
|
+
/**
|
|
463
|
+
* Defines the maximum distance the camera can pan.
|
|
464
|
+
* This could help keeping the camera always in your scene.
|
|
465
|
+
*/
|
|
466
|
+
this.panningDistanceLimit = null;
|
|
467
|
+
/**
|
|
468
|
+
* Defines the target of the camera before panning.
|
|
469
|
+
*/
|
|
470
|
+
this.panningOriginTarget = Vector3.Zero();
|
|
471
|
+
/**
|
|
472
|
+
* Defines the value of the inertia used during panning.
|
|
473
|
+
* 0 would mean stop inertia and one would mean no deceleration at all.
|
|
474
|
+
*/
|
|
475
|
+
this.panningInertia = 0.9;
|
|
476
|
+
//-- end properties for backward compatibility for inputs
|
|
477
|
+
/**
|
|
478
|
+
* Defines how much the radius should be scaled while zooming on a particular mesh (through the zoomOn function)
|
|
479
|
+
*/
|
|
480
|
+
this.zoomOnFactor = 1;
|
|
481
|
+
/**
|
|
482
|
+
* Defines a screen offset for the camera position.
|
|
483
|
+
*/
|
|
484
|
+
this.targetScreenOffset = Vector2.Zero();
|
|
485
|
+
/**
|
|
486
|
+
* Allows the camera to be completely reversed.
|
|
487
|
+
* If false the camera can not arrive upside down.
|
|
488
|
+
*/
|
|
489
|
+
this.allowUpsideDown = true;
|
|
490
|
+
/**
|
|
491
|
+
* Define if double tap/click is used to restore the previously saved state of the camera.
|
|
492
|
+
*/
|
|
493
|
+
this.useInputToRestoreState = true;
|
|
494
|
+
/** @internal */
|
|
495
|
+
this._viewMatrix = new Matrix();
|
|
496
|
+
/**
|
|
497
|
+
* Defines the allowed panning axis.
|
|
498
|
+
*/
|
|
499
|
+
this.panningAxis = new Vector3(1, 1, 0);
|
|
500
|
+
this._transformedDirection = new Vector3();
|
|
501
|
+
/**
|
|
502
|
+
* Defines if camera will eliminate transform on y axis.
|
|
503
|
+
*/
|
|
504
|
+
this.mapPanning = false;
|
|
505
|
+
/**
|
|
506
|
+
* Observable triggered when the mesh target has been changed on the camera.
|
|
507
|
+
*/
|
|
508
|
+
this.onMeshTargetChangedObservable = new Observable();
|
|
509
|
+
/**
|
|
510
|
+
* Defines whether the camera should check collision with the objects oh the scene.
|
|
511
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions#how-can-i-do-this-
|
|
512
|
+
*/
|
|
513
|
+
this.checkCollisions = false;
|
|
514
|
+
/**
|
|
515
|
+
* Defines the collision radius of the camera.
|
|
516
|
+
* This simulates a sphere around the camera.
|
|
517
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions#arcrotatecamera
|
|
518
|
+
*/
|
|
519
|
+
this.collisionRadius = new Vector3(0.5, 0.5, 0.5);
|
|
520
|
+
this._previousPosition = Vector3.Zero();
|
|
521
|
+
this._collisionVelocity = Vector3.Zero();
|
|
522
|
+
this._newPosition = Vector3.Zero();
|
|
523
|
+
this._computationVector = Vector3.Zero();
|
|
524
|
+
this._onCollisionPositionChange = (collisionId, newPosition, collidedMesh = null) => {
|
|
525
|
+
if (!collidedMesh) {
|
|
526
|
+
this._previousPosition.copyFrom(this._position);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
this.setPosition(newPosition);
|
|
530
|
+
if (this.onCollide) {
|
|
531
|
+
this.onCollide(collidedMesh);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
// Recompute because of constraints
|
|
535
|
+
const cosa = Math.cos(this.alpha);
|
|
536
|
+
const sina = Math.sin(this.alpha);
|
|
537
|
+
const cosb = Math.cos(this.beta);
|
|
538
|
+
let sinb = Math.sin(this.beta);
|
|
539
|
+
if (sinb === 0) {
|
|
540
|
+
sinb = 0.0001;
|
|
541
|
+
}
|
|
542
|
+
const target = this._getTargetPosition();
|
|
543
|
+
this._computationVector.copyFromFloats(this.radius * cosa * sinb, this.radius * cosb, this.radius * sina * sinb);
|
|
544
|
+
target.addToRef(this._computationVector, this._newPosition);
|
|
545
|
+
this._position.copyFrom(this._newPosition);
|
|
546
|
+
let up = this.upVector;
|
|
547
|
+
if (this.allowUpsideDown && this.beta < 0) {
|
|
548
|
+
up = up.clone();
|
|
549
|
+
up = up.negate();
|
|
550
|
+
}
|
|
551
|
+
this._computeViewMatrix(this._position, target, up);
|
|
552
|
+
this._viewMatrix.addAtIndex(12, this.targetScreenOffset.x);
|
|
553
|
+
this._viewMatrix.addAtIndex(13, this.targetScreenOffset.y);
|
|
554
|
+
this._collisionTriggered = false;
|
|
555
|
+
};
|
|
556
|
+
this._target = Vector3.Zero();
|
|
557
|
+
if (target) {
|
|
558
|
+
this.setTarget(target);
|
|
559
|
+
}
|
|
560
|
+
this.alpha = alpha;
|
|
561
|
+
this.beta = beta;
|
|
562
|
+
this.radius = radius;
|
|
563
|
+
this.getViewMatrix();
|
|
564
|
+
this.inputs = new ArcRotateCameraInputsManager(this);
|
|
565
|
+
this.inputs.addKeyboard().addMouseWheel().addPointers();
|
|
566
|
+
}
|
|
567
567
|
// Cache
|
|
568
568
|
/** @internal */
|
|
569
569
|
_initCache() {
|