@needle-tools/engine 4.13.0 → 4.13.1
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/CHANGELOG.md +8 -1
- package/README.md +37 -0
- package/components.needle.json +1 -1
- package/custom-elements.json +138 -4
- package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-BNIUpreS.min.js} +107 -107
- package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-DauZUYl7.js} +2347 -1845
- package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-tjI5Fq2c.umd.cjs} +108 -108
- package/dist/needle-engine.d.ts +4022 -419
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/engine_context.d.ts +16 -0
- package/lib/engine/engine_context.js +16 -0
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +72 -0
- package/lib/engine/engine_gameobject.js +38 -0
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_input.d.ts +80 -4
- package/lib/engine/engine_input.js +78 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_math.d.ts +81 -2
- package/lib/engine/engine_math.js +68 -2
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +181 -14
- package/lib/engine/engine_networking.js +181 -14
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking_auto.d.ts +35 -8
- package/lib/engine/engine_networking_auto.js +35 -8
- package/lib/engine/engine_networking_auto.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +37 -1
- package/lib/engine/engine_physics.js +37 -1
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +78 -0
- package/lib/engine/engine_physics_rapier.js +78 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_serialization_decorator.d.ts +28 -2
- package/lib/engine/engine_serialization_decorator.js +28 -2
- package/lib/engine/engine_serialization_decorator.js.map +1 -1
- package/lib/engine/engine_time.d.ts +23 -3
- package/lib/engine/engine_time.js +23 -3
- package/lib/engine/engine_time.js.map +1 -1
- package/lib/engine/engine_util_decorator.d.ts +31 -1
- package/lib/engine/engine_util_decorator.js +31 -1
- package/lib/engine/engine_util_decorator.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +21 -5
- package/lib/engine/engine_utils.js +21 -5
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
- package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
- package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
- package/lib/engine/extensions/index.d.ts +1 -1
- package/lib/engine/extensions/index.js +1 -1
- package/lib/engine/extensions/index.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
- package/lib/engine-components/AlignmentConstraint.js +23 -3
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +42 -0
- package/lib/engine-components/Animation.js +36 -0
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +37 -4
- package/lib/engine-components/Animator.js +37 -4
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +1 -1
- package/lib/engine-components/AudioListener.js +1 -1
- package/lib/engine-components/AudioSource.d.ts +32 -10
- package/lib/engine-components/AudioSource.js +32 -10
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +22 -3
- package/lib/engine-components/AxesHelper.js +22 -3
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
- package/lib/engine-components/BasicIKConstraint.js +27 -4
- package/lib/engine-components/BasicIKConstraint.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +32 -2
- package/lib/engine-components/Camera.js +32 -2
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CharacterController.d.ts +68 -4
- package/lib/engine-components/CharacterController.js +68 -4
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +69 -12
- package/lib/engine-components/Collider.js +69 -12
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +28 -6
- package/lib/engine-components/ContactShadows.js +33 -8
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/lib/engine-components/DeleteBox.d.ts +43 -2
- package/lib/engine-components/DeleteBox.js +43 -2
- package/lib/engine-components/DeleteBox.js.map +1 -1
- package/lib/engine-components/DeviceFlag.d.ts +21 -2
- package/lib/engine-components/DeviceFlag.js +21 -2
- package/lib/engine-components/DeviceFlag.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +32 -2
- package/lib/engine-components/DragControls.js +32 -2
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +33 -21
- package/lib/engine-components/DropListener.js +33 -21
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.d.ts +36 -5
- package/lib/engine-components/Duplicatable.js +36 -5
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/EventList.d.ts +38 -10
- package/lib/engine-components/EventList.js +40 -12
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/EventTrigger.d.ts +1 -1
- package/lib/engine-components/EventTrigger.js +1 -1
- package/lib/engine-components/Fog.d.ts +23 -1
- package/lib/engine-components/Fog.js +23 -1
- package/lib/engine-components/Fog.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +18 -2
- package/lib/engine-components/GridHelper.js +18 -2
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +24 -2
- package/lib/engine-components/GroundProjection.js +24 -2
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/Interactable.d.ts +17 -2
- package/lib/engine-components/Interactable.js +17 -2
- package/lib/engine-components/Interactable.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +50 -7
- package/lib/engine-components/Joints.js +50 -7
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/LODGroup.d.ts +36 -14
- package/lib/engine-components/LODGroup.js +43 -11
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +30 -5
- package/lib/engine-components/Light.js +30 -5
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +22 -7
- package/lib/engine-components/LookAtConstraint.js +22 -7
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +27 -5
- package/lib/engine-components/NeedleMenu.js +27 -5
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +39 -4
- package/lib/engine-components/NestedGltf.js +42 -4
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +27 -3
- package/lib/engine-components/OffsetConstraint.js +27 -3
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +41 -3
- package/lib/engine-components/OrbitControls.js +41 -3
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/PlayerColor.d.ts +1 -1
- package/lib/engine-components/PlayerColor.js +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +17 -2
- package/lib/engine-components/ReflectionProbe.js +17 -3
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +35 -0
- package/lib/engine-components/Renderer.js +36 -2
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +57 -5
- package/lib/engine-components/RigidBody.js +57 -5
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +11 -0
- package/lib/engine-components/SceneSwitcher.js +11 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/ScreenCapture.d.ts +39 -6
- package/lib/engine-components/ScreenCapture.js +39 -6
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +70 -5
- package/lib/engine-components/SeeThrough.js +70 -5
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.d.ts +56 -4
- package/lib/engine-components/ShadowCatcher.js +56 -4
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +43 -7
- package/lib/engine-components/Skybox.js +43 -7
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +66 -7
- package/lib/engine-components/SmoothFollow.js +66 -7
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +48 -1
- package/lib/engine-components/SpatialTrigger.js +48 -1
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +21 -3
- package/lib/engine-components/SpectatorCamera.js +21 -3
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedRoom.d.ts +7 -1
- package/lib/engine-components/SyncedRoom.js +7 -1
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +55 -6
- package/lib/engine-components/SyncedTransform.js +55 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +30 -3
- package/lib/engine-components/TransformGizmo.js +30 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +33 -6
- package/lib/engine-components/VideoPlayer.js +45 -6
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/Voip.d.ts +33 -2
- package/lib/engine-components/Voip.js +33 -2
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
- package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
- package/lib/engine-components/postprocessing/Volume.js +1 -1
- package/lib/engine-components/splines/Spline.d.ts +409 -12
- package/lib/engine-components/splines/Spline.js +409 -12
- package/lib/engine-components/splines/Spline.js.map +1 -1
- package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
- package/lib/engine-components/splines/SplineUtils.js +1 -0
- package/lib/engine-components/splines/SplineUtils.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
- package/lib/engine-components/splines/SplineWalker.js +3 -1
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +103 -14
- package/lib/engine-components/timeline/PlayableDirector.js +95 -25
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineModels.d.ts +14 -0
- package/lib/engine-components/timeline/TimelineModels.js +4 -0
- package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
- package/lib/engine-components/ui/Button.d.ts +29 -3
- package/lib/engine-components/ui/Button.js +29 -3
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +29 -4
- package/lib/engine-components/ui/Canvas.js +29 -4
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
- package/lib/engine-components/ui/CanvasGroup.js +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +1 -1
- package/lib/engine-components/ui/EventSystem.js +1 -1
- package/lib/engine-components/ui/Graphic.d.ts +1 -0
- package/lib/engine-components/ui/Graphic.js +1 -0
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +22 -3
- package/lib/engine-components/ui/Image.js +22 -3
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/InputField.d.ts +1 -1
- package/lib/engine-components/ui/InputField.js +1 -1
- package/lib/engine-components/ui/Layout.d.ts +3 -0
- package/lib/engine-components/ui/Layout.js +3 -0
- package/lib/engine-components/ui/Layout.js.map +1 -1
- package/lib/engine-components/ui/Outline.d.ts +1 -1
- package/lib/engine-components/ui/Outline.js +1 -1
- package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
- package/lib/engine-components/ui/PointerEvents.js +1 -1
- package/lib/engine-components/ui/Raycaster.d.ts +55 -6
- package/lib/engine-components/ui/Raycaster.js +55 -6
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/ui/RectTransform.d.ts +1 -1
- package/lib/engine-components/ui/RectTransform.js +1 -1
- package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
- package/lib/engine-components/ui/SpatialHtml.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +23 -1
- package/lib/engine-components/ui/Text.js +23 -1
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +1 -1
- package/lib/engine-components/utils/LookAt.js +1 -1
- package/lib/engine-components/utils/OpenURL.d.ts +1 -1
- package/lib/engine-components/utils/OpenURL.js +1 -1
- package/lib/engine-components/web/Clickthrough.d.ts +116 -7
- package/lib/engine-components/web/Clickthrough.js +116 -7
- package/lib/engine-components/web/Clickthrough.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +171 -7
- package/lib/engine-components/web/CursorFollow.js +171 -7
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
- package/lib/engine-components/web/HoverAnimation.js +140 -11
- package/lib/engine-components/web/HoverAnimation.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +4 -1
- package/lib/engine-components/web/ScrollFollow.js +4 -1
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +116 -16
- package/lib/engine-components/web/ViewBox.js +110 -16
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +10 -2
- package/lib/engine-components/webxr/WebXR.js +10 -2
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
- package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
- package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
- package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
- package/lib/engine-components/webxr/XRFlag.js +29 -2
- package/lib/engine-components/webxr/XRFlag.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/custom-element-data.js +128 -19
- package/src/engine/engine_context.ts +16 -0
- package/src/engine/engine_gameobject.ts +73 -0
- package/src/engine/engine_input.ts +83 -7
- package/src/engine/engine_math.ts +81 -2
- package/src/engine/engine_networking.ts +186 -17
- package/src/engine/engine_networking_auto.ts +36 -9
- package/src/engine/engine_physics.ts +41 -1
- package/src/engine/engine_physics_rapier.ts +81 -0
- package/src/engine/engine_serialization_decorator.ts +28 -2
- package/src/engine/engine_time.ts +23 -3
- package/src/engine/engine_util_decorator.ts +31 -1
- package/src/engine/engine_utils.ts +21 -5
- package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
- package/src/engine/extensions/index.ts +2 -2
- package/src/engine-components/AlignmentConstraint.ts +24 -4
- package/src/engine-components/Animation.ts +44 -2
- package/src/engine-components/Animator.ts +40 -7
- package/src/engine-components/AudioListener.ts +1 -1
- package/src/engine-components/AudioSource.ts +37 -15
- package/src/engine-components/AxesHelper.ts +23 -4
- package/src/engine-components/BasicIKConstraint.ts +28 -5
- package/src/engine-components/Camera.ts +33 -3
- package/src/engine-components/CharacterController.ts +74 -7
- package/src/engine-components/Collider.ts +78 -21
- package/src/engine-components/ContactShadows.ts +41 -11
- package/src/engine-components/DeleteBox.ts +43 -2
- package/src/engine-components/DeviceFlag.ts +22 -3
- package/src/engine-components/DragControls.ts +32 -2
- package/src/engine-components/DropListener.ts +41 -29
- package/src/engine-components/Duplicatable.ts +37 -6
- package/src/engine-components/EventList.ts +43 -15
- package/src/engine-components/EventTrigger.ts +1 -1
- package/src/engine-components/Fog.ts +23 -1
- package/src/engine-components/GridHelper.ts +18 -2
- package/src/engine-components/GroundProjection.ts +25 -3
- package/src/engine-components/Interactable.ts +17 -2
- package/src/engine-components/Joints.ts +51 -8
- package/src/engine-components/LODGroup.ts +45 -11
- package/src/engine-components/Light.ts +35 -13
- package/src/engine-components/LookAtConstraint.ts +26 -8
- package/src/engine-components/NeedleMenu.ts +29 -7
- package/src/engine-components/NestedGltf.ts +40 -4
- package/src/engine-components/OffsetConstraint.ts +27 -3
- package/src/engine-components/OrbitControls.ts +41 -3
- package/src/engine-components/PlayerColor.ts +1 -1
- package/src/engine-components/ReflectionProbe.ts +19 -5
- package/src/engine-components/Renderer.ts +35 -1
- package/src/engine-components/RigidBody.ts +64 -8
- package/src/engine-components/SceneSwitcher.ts +11 -0
- package/src/engine-components/ScreenCapture.ts +42 -9
- package/src/engine-components/SeeThrough.ts +76 -9
- package/src/engine-components/ShadowCatcher.ts +61 -6
- package/src/engine-components/Skybox.ts +48 -12
- package/src/engine-components/SmoothFollow.ts +68 -7
- package/src/engine-components/SpatialTrigger.ts +51 -4
- package/src/engine-components/SpectatorCamera.ts +23 -5
- package/src/engine-components/SyncedRoom.ts +8 -2
- package/src/engine-components/SyncedTransform.ts +59 -10
- package/src/engine-components/TransformGizmo.ts +31 -4
- package/src/engine-components/VideoPlayer.ts +48 -6
- package/src/engine-components/Voip.ts +33 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
- package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
- package/src/engine-components/postprocessing/Volume.ts +1 -1
- package/src/engine-components/splines/Spline.ts +412 -14
- package/src/engine-components/splines/SplineUtils.ts +1 -0
- package/src/engine-components/splines/SplineWalker.ts +4 -2
- package/src/engine-components/timeline/PlayableDirector.ts +108 -27
- package/src/engine-components/timeline/SignalAsset.ts +1 -1
- package/src/engine-components/timeline/TimelineModels.ts +18 -2
- package/src/engine-components/ui/Button.ts +29 -3
- package/src/engine-components/ui/Canvas.ts +29 -4
- package/src/engine-components/ui/CanvasGroup.ts +2 -2
- package/src/engine-components/ui/EventSystem.ts +1 -1
- package/src/engine-components/ui/Graphic.ts +1 -0
- package/src/engine-components/ui/Image.ts +22 -3
- package/src/engine-components/ui/InputField.ts +2 -2
- package/src/engine-components/ui/Layout.ts +3 -0
- package/src/engine-components/ui/Outline.ts +1 -1
- package/src/engine-components/ui/PointerEvents.ts +1 -1
- package/src/engine-components/ui/Raycaster.ts +57 -8
- package/src/engine-components/ui/RectTransform.ts +2 -2
- package/src/engine-components/ui/SpatialHtml.ts +1 -1
- package/src/engine-components/ui/Text.ts +24 -2
- package/src/engine-components/utils/LookAt.ts +1 -1
- package/src/engine-components/utils/OpenURL.ts +1 -1
- package/src/engine-components/web/Clickthrough.ts +119 -10
- package/src/engine-components/web/CursorFollow.ts +174 -9
- package/src/engine-components/web/HoverAnimation.ts +142 -13
- package/src/engine-components/web/ScrollFollow.ts +4 -1
- package/src/engine-components/web/ViewBox.ts +118 -18
- package/src/engine-components/webxr/TeleportTarget.ts +23 -4
- package/src/engine-components/webxr/WebXR.ts +11 -3
- package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
- package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
- package/src/engine-components/webxr/XRFlag.ts +30 -3
|
@@ -22,14 +22,66 @@ var ShadowMode;
|
|
|
22
22
|
ShadowMode[ShadowMode["Occluder"] = 2] = "Occluder";
|
|
23
23
|
})(ShadowMode || (ShadowMode = {}));
|
|
24
24
|
/**
|
|
25
|
-
* ShadowCatcher
|
|
26
|
-
*
|
|
25
|
+
* ShadowCatcher renders real-time shadows cast by lights onto a mesh surface.
|
|
26
|
+
* Captures actual shadow data from the scene's lighting system (directional lights, point lights, spot lights).
|
|
27
27
|
*
|
|
28
|
-
*
|
|
28
|
+
* If the GameObject is a Mesh, it applies a shadow-catching material to it.
|
|
29
|
+
* Otherwise, it creates a quad mesh with the shadow-catching material automatically.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
+
* [](https://engine.needle.tools/samples/shadow-catcher/)
|
|
32
|
+
* *Additive ShadowCatcher mode with point light shadows*
|
|
33
|
+
*
|
|
34
|
+
* [](https://engine.needle.tools/samples/transmission/)
|
|
35
|
+
* *ShadowCatcher with directional light shadows*
|
|
36
|
+
*
|
|
37
|
+
* **Shadow Modes:**
|
|
38
|
+
* - `ShadowMask` - Only renders shadows (works best with directional lights)
|
|
39
|
+
* - `Additive` - Renders light additively (works best with point/spot lights)
|
|
40
|
+
* - `Occluder` - Occludes light without rendering shadows
|
|
41
|
+
*
|
|
42
|
+
* **ShadowCatcher vs ContactShadows:**
|
|
43
|
+
* - **ShadowCatcher**: Real-time shadows from actual lights. Accurate directional shadows that match light sources. Requires lights with shadows enabled. Updates every frame.
|
|
44
|
+
* - **{@link ContactShadows}**: Proximity-based ambient occlusion-style shadows. Extremely soft and diffuse, ideal for subtle grounding. Better performance, works without lights.
|
|
45
|
+
*
|
|
46
|
+
* **When to use ShadowCatcher:**
|
|
47
|
+
* - You need accurate shadows that match specific light directions
|
|
48
|
+
* - Scene has real-time lighting with shadow-casting lights
|
|
49
|
+
* - Shadows need to follow light attenuation and angles
|
|
50
|
+
* - AR/VR scenarios where light estimation is available
|
|
51
|
+
* - Hard or semi-hard shadow edges are desired
|
|
52
|
+
*
|
|
53
|
+
* **When to use ContactShadows instead:**
|
|
54
|
+
* - You want very soft, ambient occlusion-style ground shadows
|
|
55
|
+
* - Performance is critical (no per-frame shadow rendering)
|
|
56
|
+
* - Scene doesn't have shadow-casting lights
|
|
57
|
+
* - Product visualization or configurators (subtle grounding effect)
|
|
58
|
+
* - Soft, diffuse shadows are more visually appealing than accurate ones
|
|
59
|
+
*
|
|
60
|
+
* **Note:** ShadowCatcher meshes are not raycastable by default (layer 2). Change layers in `onEnable()` if raycasting is needed.
|
|
61
|
+
*
|
|
62
|
+
* @example Basic shadow catcher plane
|
|
63
|
+
* ```ts
|
|
64
|
+
* const plane = new Object3D();
|
|
65
|
+
* const catcher = addComponent(plane, ShadowCatcher);
|
|
66
|
+
* catcher.mode = ShadowMode.ShadowMask;
|
|
67
|
+
* catcher.shadowColor = new RGBAColor(0, 0, 0, 0.8);
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @example Apply to existing mesh
|
|
71
|
+
* ```ts
|
|
72
|
+
* const mesh = this.gameObject.getComponent(Mesh);
|
|
73
|
+
* const catcher = addComponent(mesh, ShadowCatcher);
|
|
74
|
+
* // The mesh will now catch shadows from scene lights
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @summary Renders real-time shadows from lights onto surfaces
|
|
31
78
|
* @category Rendering
|
|
32
79
|
* @group Components
|
|
80
|
+
* @see {@link ContactShadows} for proximity-based fake shadows (better performance)
|
|
81
|
+
* @see {@link Light} for shadow-casting light configuration
|
|
82
|
+
* @see {@link Renderer} for shadow receiving settings
|
|
83
|
+
* @link https://engine.needle.tools/samples/shadow-catcher/
|
|
84
|
+
* @link https://engine.needle.tools/samples/transmission/
|
|
33
85
|
*/
|
|
34
86
|
export class ShadowCatcher extends Behaviour {
|
|
35
87
|
//@type Needle.Engine.ShadowCatcher.Mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowCatcher.js","sourceRoot":"","sources":["../../src/engine-components/ShadowCatcher.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAY,IAAI,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShadowCatcher.js","sourceRoot":"","sources":["../../src/engine-components/ShadowCatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,20 +4,52 @@ type AnyString = string & {
|
|
|
4
4
|
_brand?: never;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
* RemoteSkybox
|
|
8
|
-
* It supports .hdr, .exr, .jpg, .png files.
|
|
7
|
+
* The [RemoteSkybox](https://engine.needle.tools/docs/api/RemoteSkybox) component allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
|
|
8
|
+
* It supports .hdr, .exr, .jpg, .png, and .ktx2 files.
|
|
9
|
+
*
|
|
10
|
+
* **HTML Attributes:**
|
|
11
|
+
* You can control skybox and environment from HTML using `<needle-engine>` attributes:
|
|
12
|
+
* - `background-image`: Sets the scene background/skybox image
|
|
13
|
+
* - `environment-image`: Sets the scene environment map (for reflections and lighting)
|
|
14
|
+
*
|
|
15
|
+
* These attributes accept URLs or magic skybox names (see examples below).
|
|
16
|
+
*
|
|
17
|
+
* **Magic Skybox Names:**
|
|
18
|
+
* Built-in optimized skyboxes hosted on Needle CDN:
|
|
19
|
+
* - `"studio"` - Neutral studio lighting (default)
|
|
20
|
+
* - `"blurred-skybox"` - Blurred environment
|
|
21
|
+
* - `"quicklook"` - Apple QuickLook object mode style
|
|
22
|
+
* - `"quicklook-ar"` - Apple QuickLook AR mode style
|
|
9
23
|
*
|
|
10
24
|
* ### Events
|
|
11
25
|
* - `dropped-unknown-url`: Emitted when a file is dropped on the scene. The event detail contains the sender, the url and a function to apply the url.
|
|
12
26
|
*
|
|
13
|
-
* @example
|
|
27
|
+
* @example Using HTML attributes
|
|
28
|
+
* ```html
|
|
29
|
+
* <needle-engine
|
|
30
|
+
* background-image="https://example.com/skybox.hdr"
|
|
31
|
+
* environment-image="studio">
|
|
32
|
+
* </needle-engine>
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example Using magic skybox names
|
|
36
|
+
* ```html
|
|
37
|
+
* <needle-engine background-image="studio"></needle-engine>
|
|
38
|
+
* <needle-engine environment-image="quicklook"></needle-engine>
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example Adding via code
|
|
14
42
|
* ```ts
|
|
15
|
-
* GameObject.addComponent(gameObject,
|
|
43
|
+
* GameObject.addComponent(gameObject, RemoteSkybox, {
|
|
44
|
+
* url: "https://example.com/skybox.hdr",
|
|
45
|
+
* background: true,
|
|
46
|
+
* environment: true
|
|
47
|
+
* });
|
|
16
48
|
* ```
|
|
17
49
|
*
|
|
18
|
-
* @example
|
|
50
|
+
* @example Handle custom dropped URL
|
|
19
51
|
* ```ts
|
|
20
|
-
* const skybox = GameObject.addComponent(gameObject,
|
|
52
|
+
* const skybox = GameObject.addComponent(gameObject, RemoteSkybox);
|
|
21
53
|
* skybox.addEventListener("dropped-unknown-url", (evt) => {
|
|
22
54
|
* let url = evt.detail.url;
|
|
23
55
|
* console.log("User dropped file", url);
|
|
@@ -28,14 +60,18 @@ type AnyString = string & {
|
|
|
28
60
|
* });
|
|
29
61
|
* ```
|
|
30
62
|
*
|
|
31
|
-
* @example
|
|
63
|
+
* @example Update skybox at runtime
|
|
32
64
|
* ```ts
|
|
33
65
|
* skybox.setSkybox("https://example.com/skybox.hdr");
|
|
66
|
+
* // Or use a magic name:
|
|
67
|
+
* skybox.setSkybox("studio");
|
|
34
68
|
* ```
|
|
35
69
|
*
|
|
36
70
|
* @summary Sets the skybox or environment texture of a scene
|
|
37
71
|
* @category Rendering
|
|
38
72
|
* @group Components
|
|
73
|
+
* @see {@link Camera} for clearFlags and background control
|
|
74
|
+
* @link https://engine.needle.tools/docs/html.html#needle-engine-element
|
|
39
75
|
*/
|
|
40
76
|
export declare class RemoteSkybox extends Behaviour {
|
|
41
77
|
/**
|
|
@@ -109,20 +109,52 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreationStart, () => {
|
|
|
109
109
|
});
|
|
110
110
|
});
|
|
111
111
|
/**
|
|
112
|
-
* RemoteSkybox
|
|
113
|
-
* It supports .hdr, .exr, .jpg, .png files.
|
|
112
|
+
* The [RemoteSkybox](https://engine.needle.tools/docs/api/RemoteSkybox) component allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
|
|
113
|
+
* It supports .hdr, .exr, .jpg, .png, and .ktx2 files.
|
|
114
|
+
*
|
|
115
|
+
* **HTML Attributes:**
|
|
116
|
+
* You can control skybox and environment from HTML using `<needle-engine>` attributes:
|
|
117
|
+
* - `background-image`: Sets the scene background/skybox image
|
|
118
|
+
* - `environment-image`: Sets the scene environment map (for reflections and lighting)
|
|
119
|
+
*
|
|
120
|
+
* These attributes accept URLs or magic skybox names (see examples below).
|
|
121
|
+
*
|
|
122
|
+
* **Magic Skybox Names:**
|
|
123
|
+
* Built-in optimized skyboxes hosted on Needle CDN:
|
|
124
|
+
* - `"studio"` - Neutral studio lighting (default)
|
|
125
|
+
* - `"blurred-skybox"` - Blurred environment
|
|
126
|
+
* - `"quicklook"` - Apple QuickLook object mode style
|
|
127
|
+
* - `"quicklook-ar"` - Apple QuickLook AR mode style
|
|
114
128
|
*
|
|
115
129
|
* ### Events
|
|
116
130
|
* - `dropped-unknown-url`: Emitted when a file is dropped on the scene. The event detail contains the sender, the url and a function to apply the url.
|
|
117
131
|
*
|
|
118
|
-
* @example
|
|
132
|
+
* @example Using HTML attributes
|
|
133
|
+
* ```html
|
|
134
|
+
* <needle-engine
|
|
135
|
+
* background-image="https://example.com/skybox.hdr"
|
|
136
|
+
* environment-image="studio">
|
|
137
|
+
* </needle-engine>
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @example Using magic skybox names
|
|
141
|
+
* ```html
|
|
142
|
+
* <needle-engine background-image="studio"></needle-engine>
|
|
143
|
+
* <needle-engine environment-image="quicklook"></needle-engine>
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @example Adding via code
|
|
119
147
|
* ```ts
|
|
120
|
-
* GameObject.addComponent(gameObject,
|
|
148
|
+
* GameObject.addComponent(gameObject, RemoteSkybox, {
|
|
149
|
+
* url: "https://example.com/skybox.hdr",
|
|
150
|
+
* background: true,
|
|
151
|
+
* environment: true
|
|
152
|
+
* });
|
|
121
153
|
* ```
|
|
122
154
|
*
|
|
123
|
-
* @example
|
|
155
|
+
* @example Handle custom dropped URL
|
|
124
156
|
* ```ts
|
|
125
|
-
* const skybox = GameObject.addComponent(gameObject,
|
|
157
|
+
* const skybox = GameObject.addComponent(gameObject, RemoteSkybox);
|
|
126
158
|
* skybox.addEventListener("dropped-unknown-url", (evt) => {
|
|
127
159
|
* let url = evt.detail.url;
|
|
128
160
|
* console.log("User dropped file", url);
|
|
@@ -133,14 +165,18 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreationStart, () => {
|
|
|
133
165
|
* });
|
|
134
166
|
* ```
|
|
135
167
|
*
|
|
136
|
-
* @example
|
|
168
|
+
* @example Update skybox at runtime
|
|
137
169
|
* ```ts
|
|
138
170
|
* skybox.setSkybox("https://example.com/skybox.hdr");
|
|
171
|
+
* // Or use a magic name:
|
|
172
|
+
* skybox.setSkybox("studio");
|
|
139
173
|
* ```
|
|
140
174
|
*
|
|
141
175
|
* @summary Sets the skybox or environment texture of a scene
|
|
142
176
|
* @category Rendering
|
|
143
177
|
* @group Components
|
|
178
|
+
* @see {@link Camera} for clearFlags and background control
|
|
179
|
+
* @link https://engine.needle.tools/docs/html.html#needle-engine-element
|
|
144
180
|
*/
|
|
145
181
|
export class RemoteSkybox extends Behaviour {
|
|
146
182
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,uBAAuB,EAAE,gCAAgC,EAAW,MAAM,OAAO,CAAA;AAE9H,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5H,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;AAChD,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;AAIjD,MAAM,gBAAgB,GAA8D;IAChF,QAAQ,EAAE;QACN,GAAG,EAAE,gFAAgF;QACrF,OAAO,EAAE,sFAAsF;KAClG;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE,2EAA2E;QAChF,OAAO,EAAE,iFAAiF;KAC7F;IACD,cAAc,EAAE;QACZ,GAAG,EAAE,6EAA6E;QAClF,OAAO,EAAE,mFAAmF;KAC/F;IACD,WAAW,EAAE;QACT,GAAG,EAAE,iFAAiF;QACtF,OAAO,EAAE,uFAAuF;KACnG;CACK,CAAC;AAIX,SAAS,2BAA2B,CAAC,OAAiB,EAAE,GAAW,EAAE,MAAe,EAAE,WAAoB,EAAE,SAAmD;IAE3J,oFAAoF;IACpF,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;QACzE,OAAO,CAAC,IAAI,CAAC,0BAA0B,SAAS,WAAW,GAAG,kDAAkD,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC;KACf;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE;QAC1B,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,QAAQ,EAAE;YACV,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC,CAAC;gBACzD,OAAO;aACV;YACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC9B;aACI;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,IAAI,WAAW,EAAE;oBACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;wBAClE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;qBACpC;iBACJ;gBACD,IAAI,MAAM,EAAE;oBACR,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC/D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;iBACrC;aACJ;SACJ;IACL,CAAC,CAAC;IACF,0BAA0B,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;QACpC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC;QACvE,6BAA6B,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;AAC3C,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE9E,IAAI,eAAe,EAAE;QACjB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,eAAe,CAAC,CAAC;QACtF,wGAAwG;QACxG,uFAAuF;QACvF,iKAAiK;QACjK,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACvG,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IACD,IAAI,gBAAgB,EAAE;QAClB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C,GAAG,gBAAgB,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACzG,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;AACL,CAAC,CAAC,CAAC;AACH,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACrE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC;;;;;;;;;;;;OAYG;IAGH,GAAG,GAAgC,QAAQ,CAAC;IAE5C;;;OAGG;IAEH,SAAS,GAAY,IAAI,CAAC;IAE1B;;;OAGG;IAEH,UAAU,GAAY,IAAI,CAAC;IAE3B;;;OAGG;IAEH,WAAW,GAAY,IAAI,CAAC;IAE5B;;;OAGG;IAEH,eAAe,GAAY,IAAI,CAAC;IAExB,QAAQ,CAAU;IAClB,sBAAsB,CAAW;IACjC,gBAAgB,GAAmB,IAAI,CAAC;IACxC,eAAe,GAAQ,IAAI,CAAC;IAEpC,gBAAgB;IAChB,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,sBAAsB,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;YACzD,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;SAC3C;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IAEO,mBAAmB;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE;YAClC,8CAA8C;YAC9C,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5B;iBACI,IAAI,KAAK,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,GAAG,6FAA6F,CAAC,CAAC;aAC5J;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,GAAmD,EAAE,IAAa;QAC9E,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEzC,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,oCAAoC,GAAG,IAAI,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;SAC5H;QAED,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;SACf;aACI;YACD,IAAI,CAAC,sBAAsB,EAAE,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;SAC3C;QACD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;SAChB;QACD,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;SAChB;QACD,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;YACvB,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAC/F,OAAO,KAAK,CAAC,CAAC,4BAA4B;SAC7C;QACD,yBAAyB;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC,MAAM,YAAY,WAAW,IAAI,MAAM,YAAY,qBAAqB,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,uBAAuB,EAAE;YACzH,gBAAgB;SACnB;aACI;YACD,MAAM,CAAC,OAAO,GAAG,gCAAgC,CAAC;YAClD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,OAAO;SACV;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAC3D,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxQ,IAAI,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,KAAK,SAAS;YACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;IACxG,CAAC;IAGgB,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhF,eAAe,CAAC,GAAW;QAC/B,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAEO,kBAAkB,CAAC,GAAW;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;SACvC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE;YACxC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;SAC7C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAIO,kBAAkB;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAEO,eAAe,GAAG,CAAC,CAAY,EAAE,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,CAAC,CAAC,YAAY;YAAE,OAAO;QAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;YACrC,kDAAkD;YAClD,0CAA0C;YAC1C,yCAAyC;YACzC,6BAA6B;YAC7B,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,OAAO,EAAE;gBAC9C,CAAC,CAAC,cAAc,EAAE,CAAC;aACtB;SACJ;IACL,CAAC,CAAC;IAEM,MAAM,GAAG,CAAC,CAAY,EAAE,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,CAAC,CAAC,YAAY;YAAE,OAAO;QAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;YACrC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,eAAe,EAAE;gBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,iDAAiD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;gBACjG,IAAI,CAAC,IAAI,EAAE;oBACP,IAAI,GAAG,IAAI,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;iBAC/E;gBACD,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,IAAI,EAAE;oBACN,MAAM,SAAS,GAAG,uDAAuD,GAAG,IAAI,GAAG,SAAS,CAAC;oBAC7F,OAAO,CAAC,GAAG,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;oBACrE,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC1B,MAAM;iBACT;qBACI,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;oBACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,GAAG,CAAC,CAAC;oBAC/D,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;iBACT;qBACI;oBAED,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,kGAAkG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtL,mFAAmF;oBACnF,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,qBAAqB,EAAE;wBAC/C,MAAM,EAAE;4BACJ,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE,CAAC;4BACR,GAAG;4BACH,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE;gCACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BACxB,CAAC;yBACJ;qBACJ,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBAC3B;aACJ;iBACI,IAAI,IAAI,IAAI,OAAO,EAAE;gBACtB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrC,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,4CAA4C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjI,OAAO;iBACV;gBACD,2DAA2D;gBAC3D,qCAAqC;gBACrC,6CAA6C;gBAC7C,0BAA0B;gBAC1B,sCAAsC;gBACtC,IAAI;gBACJ,QAAQ;gBACR;oBACI,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7B;gBACD,MAAM;aACT;SACJ;IACL,CAAC,CAAC;CACL;AAxQG;IAFC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;IACrD,YAAY,CAAC,GAAG,CAAC;yCAC0B;AAO5C;IADC,YAAY,EAAE;+CACW;AAO1B;IADC,YAAY,EAAE;gDACY;AAO3B;IADC,YAAY,EAAE;iDACa;AAO5B;IADC,YAAY,EAAE;qDACiB;AAgPpC,SAAS,uBAAuB,CAAC,GAA8B,EAAE,WAAoB,EAAE,UAAmB;IAEtG,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEnD,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,UAAU,CAAC;IAE7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAqB,CAAC,CAAC;IACrE,IAAI,KAAK,EAAE;QACP,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;KAChD;SACI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,KAAK,CAAC,EAAE;QAC9E,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACvJ,IAAG,WAAW,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,4CAA4C,GAAG,uBAAuB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrJ;KACJ;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,54 @@ import { Object3D } from "three";
|
|
|
2
2
|
import { Axes } from "../engine/engine_physics.types.js";
|
|
3
3
|
import { Behaviour } from "./Component.js";
|
|
4
4
|
/**
|
|
5
|
-
* SmoothFollow makes
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* [SmoothFollow](https://engine.needle.tools/docs/api/SmoothFollow) makes this GameObject smoothly follow another target object's position and/or rotation.
|
|
6
|
+
*
|
|
7
|
+
* **Position Following:**
|
|
8
|
+
* When enabled (`followFactor > 0`), this object will move towards the target's world position.
|
|
9
|
+
* The object interpolates from its current position to the target's position each frame.
|
|
10
|
+
* Use `positionAxes` to restrict following to specific axes (e.g., only horizontal movement).
|
|
11
|
+
*
|
|
12
|
+
* **Rotation Following:**
|
|
13
|
+
* When enabled (`rotateFactor > 0`), this object will rotate to match the target's world rotation.
|
|
14
|
+
* The object smoothly interpolates from its current rotation to the target's rotation each frame.
|
|
15
|
+
* This makes the object face the same direction as the target, not look at it (use {@link LookAt} for that).
|
|
16
|
+
*
|
|
17
|
+
* **Smoothing:**
|
|
18
|
+
* Both position and rotation use time-based interpolation (lerp/slerp).
|
|
19
|
+
* Higher factor values = faster following (less lag), lower values = slower following (more lag).
|
|
20
|
+
* Set a factor to 0 to disable that type of following entirely.
|
|
21
|
+
*
|
|
22
|
+
* **Common Use Cases:**
|
|
23
|
+
* - Camera following a player character
|
|
24
|
+
* - UI elements tracking world objects
|
|
25
|
+
* - Delayed motion effects (ghost trails, spring arms)
|
|
26
|
+
* - Smoothed object attachment
|
|
27
|
+
*
|
|
28
|
+
* @example Follow a target with smooth position
|
|
29
|
+
* ```ts
|
|
30
|
+
* const follower = myObject.addComponent(SmoothFollow);
|
|
31
|
+
* follower.target = playerObject;
|
|
32
|
+
* follower.followFactor = 5; // Higher = faster following
|
|
33
|
+
* follower.rotateFactor = 0; // Don't follow rotation
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example Follow only on horizontal plane
|
|
37
|
+
* ```ts
|
|
38
|
+
* follower.positionAxes = Axes.X | Axes.Z; // Follow X and Z only (no vertical)
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example Follow both position and rotation
|
|
42
|
+
* ```ts
|
|
43
|
+
* follower.target = targetObject;
|
|
44
|
+
* follower.followFactor = 3; // Smooth position following
|
|
45
|
+
* follower.rotateFactor = 2; // Smooth rotation following
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @summary Smoothly follows a target object's position and/or rotation
|
|
8
49
|
* @category Interactivity
|
|
9
50
|
* @group Components
|
|
51
|
+
* @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
|
|
52
|
+
* @see {@link Mathf} for the interpolation used
|
|
10
53
|
*/
|
|
11
54
|
export declare class SmoothFollow extends Behaviour {
|
|
12
55
|
/**
|
|
@@ -14,16 +57,28 @@ export declare class SmoothFollow extends Behaviour {
|
|
|
14
57
|
*/
|
|
15
58
|
target: Object3D | null;
|
|
16
59
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
60
|
+
* Speed factor for position following.
|
|
61
|
+
* Controls how quickly this object moves to match the target's position.
|
|
62
|
+
* Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
|
|
63
|
+
* Set to 0 to disable position following entirely.
|
|
64
|
+
* @default 0.1
|
|
19
65
|
*/
|
|
20
66
|
followFactor: number;
|
|
21
67
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
68
|
+
* Speed factor for rotation following.
|
|
69
|
+
* Controls how quickly this object rotates to match the target's rotation.
|
|
70
|
+
* Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
|
|
71
|
+
* Set to 0 to disable rotation following entirely.
|
|
72
|
+
* @default 0.1
|
|
24
73
|
*/
|
|
25
74
|
rotateFactor: number;
|
|
75
|
+
/**
|
|
76
|
+
* Which position axes to follow. Use bitwise OR to combine:
|
|
77
|
+
* `Axes.X | Axes.Y` follows only X and Y axes.
|
|
78
|
+
* @default Axes.All
|
|
79
|
+
*/
|
|
26
80
|
positionAxes: Axes;
|
|
81
|
+
/** When true, rotates 180° around Y axis (useful for mirrored setups) */
|
|
27
82
|
flipForward: boolean;
|
|
28
83
|
private static _invertForward;
|
|
29
84
|
private _firstUpdate;
|
|
@@ -31,5 +86,9 @@ export declare class SmoothFollow extends Behaviour {
|
|
|
31
86
|
* Update the position and rotation of the GameObject to follow the target.
|
|
32
87
|
*/
|
|
33
88
|
onBeforeRender(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Manually update the position/rotation to follow the target.
|
|
91
|
+
* @param hard If true, snaps instantly to target without smoothing
|
|
92
|
+
*/
|
|
34
93
|
updateNow(hard: boolean): void;
|
|
35
94
|
}
|
|
@@ -11,11 +11,54 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
|
11
11
|
import { getWorldPosition, getWorldQuaternion } from "../engine/engine_three_utils.js";
|
|
12
12
|
import { Behaviour } from "./Component.js";
|
|
13
13
|
/**
|
|
14
|
-
* SmoothFollow makes
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* [SmoothFollow](https://engine.needle.tools/docs/api/SmoothFollow) makes this GameObject smoothly follow another target object's position and/or rotation.
|
|
15
|
+
*
|
|
16
|
+
* **Position Following:**
|
|
17
|
+
* When enabled (`followFactor > 0`), this object will move towards the target's world position.
|
|
18
|
+
* The object interpolates from its current position to the target's position each frame.
|
|
19
|
+
* Use `positionAxes` to restrict following to specific axes (e.g., only horizontal movement).
|
|
20
|
+
*
|
|
21
|
+
* **Rotation Following:**
|
|
22
|
+
* When enabled (`rotateFactor > 0`), this object will rotate to match the target's world rotation.
|
|
23
|
+
* The object smoothly interpolates from its current rotation to the target's rotation each frame.
|
|
24
|
+
* This makes the object face the same direction as the target, not look at it (use {@link LookAt} for that).
|
|
25
|
+
*
|
|
26
|
+
* **Smoothing:**
|
|
27
|
+
* Both position and rotation use time-based interpolation (lerp/slerp).
|
|
28
|
+
* Higher factor values = faster following (less lag), lower values = slower following (more lag).
|
|
29
|
+
* Set a factor to 0 to disable that type of following entirely.
|
|
30
|
+
*
|
|
31
|
+
* **Common Use Cases:**
|
|
32
|
+
* - Camera following a player character
|
|
33
|
+
* - UI elements tracking world objects
|
|
34
|
+
* - Delayed motion effects (ghost trails, spring arms)
|
|
35
|
+
* - Smoothed object attachment
|
|
36
|
+
*
|
|
37
|
+
* @example Follow a target with smooth position
|
|
38
|
+
* ```ts
|
|
39
|
+
* const follower = myObject.addComponent(SmoothFollow);
|
|
40
|
+
* follower.target = playerObject;
|
|
41
|
+
* follower.followFactor = 5; // Higher = faster following
|
|
42
|
+
* follower.rotateFactor = 0; // Don't follow rotation
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example Follow only on horizontal plane
|
|
46
|
+
* ```ts
|
|
47
|
+
* follower.positionAxes = Axes.X | Axes.Z; // Follow X and Z only (no vertical)
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Follow both position and rotation
|
|
51
|
+
* ```ts
|
|
52
|
+
* follower.target = targetObject;
|
|
53
|
+
* follower.followFactor = 3; // Smooth position following
|
|
54
|
+
* follower.rotateFactor = 2; // Smooth rotation following
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @summary Smoothly follows a target object's position and/or rotation
|
|
17
58
|
* @category Interactivity
|
|
18
59
|
* @group Components
|
|
60
|
+
* @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
|
|
61
|
+
* @see {@link Mathf} for the interpolation used
|
|
19
62
|
*/
|
|
20
63
|
export class SmoothFollow extends Behaviour {
|
|
21
64
|
/**
|
|
@@ -23,16 +66,28 @@ export class SmoothFollow extends Behaviour {
|
|
|
23
66
|
*/
|
|
24
67
|
target = null;
|
|
25
68
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
69
|
+
* Speed factor for position following.
|
|
70
|
+
* Controls how quickly this object moves to match the target's position.
|
|
71
|
+
* Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
|
|
72
|
+
* Set to 0 to disable position following entirely.
|
|
73
|
+
* @default 0.1
|
|
28
74
|
*/
|
|
29
75
|
followFactor = .1;
|
|
30
76
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
77
|
+
* Speed factor for rotation following.
|
|
78
|
+
* Controls how quickly this object rotates to match the target's rotation.
|
|
79
|
+
* Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
|
|
80
|
+
* Set to 0 to disable rotation following entirely.
|
|
81
|
+
* @default 0.1
|
|
33
82
|
*/
|
|
34
83
|
rotateFactor = .1;
|
|
84
|
+
/**
|
|
85
|
+
* Which position axes to follow. Use bitwise OR to combine:
|
|
86
|
+
* `Axes.X | Axes.Y` follows only X and Y axes.
|
|
87
|
+
* @default Axes.All
|
|
88
|
+
*/
|
|
35
89
|
positionAxes = Axes.All;
|
|
90
|
+
/** When true, rotates 180° around Y axis (useful for mirrored setups) */
|
|
36
91
|
flipForward = false;
|
|
37
92
|
static _invertForward = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
|
|
38
93
|
_firstUpdate = true;
|
|
@@ -42,6 +97,10 @@ export class SmoothFollow extends Behaviour {
|
|
|
42
97
|
onBeforeRender() {
|
|
43
98
|
this.updateNow(false);
|
|
44
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Manually update the position/rotation to follow the target.
|
|
102
|
+
* @param hard If true, snaps instantly to target without smoothing
|
|
103
|
+
*/
|
|
45
104
|
updateNow(hard) {
|
|
46
105
|
if (!this.target || this.target === this.gameObject)
|
|
47
106
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmoothFollow.js","sourceRoot":"","sources":["../../src/engine-components/SmoothFollow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SmoothFollow.js","sourceRoot":"","sources":["../../src/engine-components/SmoothFollow.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,32 @@ import { EventList } from "./EventList.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Component that receives and responds to spatial events, like entering or exiting a trigger zone.
|
|
6
6
|
* Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
|
|
7
|
+
*
|
|
8
|
+
* Place this on objects that should react when entering trigger zones. The receiver checks
|
|
9
|
+
* against all active SpatialTriggers each frame and fires events when intersections change.
|
|
10
|
+
*
|
|
11
|
+
* Events can be connected via {@link EventList} in the editor or listened to in code.
|
|
12
|
+
*
|
|
13
|
+
* @example Listen to trigger events
|
|
14
|
+
* ```ts
|
|
15
|
+
* export class DoorTrigger extends Behaviour {
|
|
16
|
+
* @serializable(SpatialTriggerReceiver)
|
|
17
|
+
* receiver?: SpatialTriggerReceiver;
|
|
18
|
+
*
|
|
19
|
+
* start() {
|
|
20
|
+
* this.receiver?.onEnter?.addEventListener(() => {
|
|
21
|
+
* console.log("Player entered door zone");
|
|
22
|
+
* });
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
7
27
|
* @summary Receives spatial trigger events
|
|
8
28
|
* @category Interactivity
|
|
9
29
|
* @group Components
|
|
30
|
+
* @see {@link SpatialTrigger} for defining trigger zones
|
|
31
|
+
* @see {@link EventList} for event handling
|
|
32
|
+
* @link https://engine.needle.tools/samples/spatial-triggers/
|
|
10
33
|
*/
|
|
11
34
|
export declare class SpatialTriggerReceiver extends Behaviour {
|
|
12
35
|
/**
|
|
@@ -53,9 +76,33 @@ export declare class SpatialTriggerReceiver extends Behaviour {
|
|
|
53
76
|
}
|
|
54
77
|
/**
|
|
55
78
|
* A spatial trigger component that detects objects within a box-shaped area.
|
|
56
|
-
* Used to trigger events when objects enter, stay in, or exit the defined area
|
|
79
|
+
* Used to trigger events when objects enter, stay in, or exit the defined area.
|
|
80
|
+
*
|
|
81
|
+
* The trigger area is defined by the GameObject's bounding box (uses {@link BoxHelperComponent}).
|
|
82
|
+
* Objects with {@link SpatialTriggerReceiver} components are tested against this area.
|
|
83
|
+
*
|
|
84
|
+
* **Mask system:** Both trigger and receiver have a `triggerMask` - they only interact
|
|
85
|
+
* when their masks have overlapping bits set. This allows selective triggering.
|
|
86
|
+
*
|
|
87
|
+
* **Debug:** Use `?debugspatialtrigger` URL parameter to visualize trigger zones.
|
|
88
|
+
*
|
|
89
|
+
* @example Create a pickup zone
|
|
90
|
+
* ```ts
|
|
91
|
+
* // On the pickup zone object
|
|
92
|
+
* const trigger = pickupZone.addComponent(SpatialTrigger);
|
|
93
|
+
* trigger.triggerMask = 1; // Layer 1 for pickups
|
|
94
|
+
*
|
|
95
|
+
* // On the player
|
|
96
|
+
* const receiver = player.addComponent(SpatialTriggerReceiver);
|
|
97
|
+
* receiver.triggerMask = 1; // Match the pickup layer
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @summary Define a trigger zone that detects entering objects
|
|
57
101
|
* @category Interactivity
|
|
58
102
|
* @group Components
|
|
103
|
+
* @see {@link SpatialTriggerReceiver} for objects that respond to triggers
|
|
104
|
+
* @see {@link BoxHelperComponent} for the underlying box used to define the trigger area
|
|
105
|
+
* @link https://engine.needle.tools/samples/spatial-triggers/
|
|
59
106
|
*/
|
|
60
107
|
export declare class SpatialTrigger extends Behaviour {
|
|
61
108
|
/** Global registry of all active spatial triggers in the scene */
|