@needle-tools/engine 4.11.5-next.f5ee735 → 4.12.0-beta
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 +14 -0
- package/components.needle.json +1 -1
- package/custom-elements.json +420 -0
- package/dist/{generateMeshBVH.worker-D1Vr8UHG.js → generateMeshBVH.worker-mO20N_b8.js} +4 -4
- package/dist/{needle-engine.bundle-DtudWpG2.js → needle-engine.bundle-DBdgyYGK.js} +2767 -2685
- package/dist/{needle-engine.bundle-DvGMCIAT.min.js → needle-engine.bundle-DhdNodjw.min.js} +112 -112
- package/dist/{needle-engine.bundle-CpC_7cRL.umd.cjs → needle-engine.bundle-DmY4g6s0.umd.cjs} +103 -103
- package/dist/needle-engine.d.ts +18164 -1
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-DqdcvaFn.js → postprocessing-BTW9pD_s.js} +1822 -1717
- package/dist/{postprocessing-DEkzT9iD.umd.cjs → postprocessing-CMgoN5t5.umd.cjs} +229 -153
- package/dist/{postprocessing-Dzq4RXcy.min.js → postprocessing-DYDtB188.min.js} +227 -151
- package/dist/{vendor-DtTGRuXh.min.js → vendor-BKGa4GE0.min.js} +34 -34
- package/dist/{vendor-Dkpn1a8s.js → vendor-D0zoswDa.js} +1626 -1599
- package/dist/{vendor-DhTcel4c.umd.cjs → vendor-UCpFAwt1.umd.cjs} +30 -30
- package/lib/engine/api.d.ts +0 -1
- package/lib/engine/api.js +0 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_context.js +1 -1
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.js +1 -1
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_license.js +1 -1
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +11 -2
- package/lib/engine/engine_physics_rapier.js +9 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_texture.d.ts +1 -1
- package/lib/engine/engine_tonemapping.d.ts +1 -1
- package/lib/engine/engine_types.d.ts +16 -0
- package/lib/engine/engine_typestore.d.ts +1 -0
- package/lib/engine/engine_typestore.js +5 -6
- package/lib/engine/engine_typestore.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +11 -0
- package/lib/engine/webcomponents/logo-element.js +6 -0
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +24 -3
- package/lib/engine/webcomponents/needle menu/needle-menu.js +18 -3
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +5 -0
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +220 -8
- package/lib/engine/webcomponents/needle-engine.js +94 -13
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +9 -0
- package/lib/engine-components/AlignmentConstraint.js +9 -0
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +1 -0
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +2 -0
- package/lib/engine-components/AudioListener.js +2 -0
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +1 -0
- package/lib/engine-components/AudioSource.js +1 -0
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +2 -0
- package/lib/engine-components/AxesHelper.js +2 -0
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +1 -0
- package/lib/engine-components/Camera.js +1 -0
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CharacterController.d.ts +4 -1
- package/lib/engine-components/CharacterController.js +4 -1
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Component.d.ts +5 -0
- package/lib/engine-components/Component.js +7 -0
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DeleteBox.d.ts +2 -0
- package/lib/engine-components/DeleteBox.js +2 -0
- package/lib/engine-components/DeleteBox.js.map +1 -1
- package/lib/engine-components/DeviceFlag.d.ts +4 -0
- package/lib/engine-components/DeviceFlag.js +4 -0
- package/lib/engine-components/DeviceFlag.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +1 -0
- package/lib/engine-components/DragControls.js +1 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +1 -0
- package/lib/engine-components/DropListener.js +1 -0
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.d.ts +1 -0
- package/lib/engine-components/Duplicatable.js +1 -0
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/EventTrigger.d.ts +2 -0
- package/lib/engine-components/EventTrigger.js +2 -0
- package/lib/engine-components/EventTrigger.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +2 -0
- package/lib/engine-components/GridHelper.js +2 -0
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +1 -0
- package/lib/engine-components/GroundProjection.js +1 -0
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/LODGroup.d.ts +2 -0
- package/lib/engine-components/LODGroup.js +2 -0
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +1 -0
- package/lib/engine-components/Light.js +1 -0
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +1 -0
- package/lib/engine-components/LookAtConstraint.js +1 -0
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +1 -0
- package/lib/engine-components/NeedleMenu.js +1 -0
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +1 -0
- package/lib/engine-components/NestedGltf.js +1 -0
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +1 -0
- package/lib/engine-components/Networking.js +1 -0
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +7 -0
- package/lib/engine-components/OffsetConstraint.js +7 -0
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +1 -0
- package/lib/engine-components/OrbitControls.js +1 -0
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/PlayerColor.d.ts +2 -0
- package/lib/engine-components/PlayerColor.js +2 -0
- package/lib/engine-components/PlayerColor.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +1 -0
- package/lib/engine-components/ReflectionProbe.js +1 -0
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +1 -0
- package/lib/engine-components/RigidBody.js +1 -0
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +1 -0
- package/lib/engine-components/SceneSwitcher.js +1 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/ScreenCapture.d.ts +1 -0
- package/lib/engine-components/ScreenCapture.js +1 -0
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +1 -0
- package/lib/engine-components/SeeThrough.js +1 -0
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.d.ts +2 -0
- package/lib/engine-components/ShadowCatcher.js +2 -0
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +1 -0
- package/lib/engine-components/Skybox.js +1 -0
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +1 -0
- package/lib/engine-components/SmoothFollow.js +1 -0
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +1 -0
- package/lib/engine-components/SpatialTrigger.js +1 -0
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +1 -0
- package/lib/engine-components/SpectatorCamera.js +1 -0
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SpriteRenderer.d.ts +1 -0
- package/lib/engine-components/SpriteRenderer.js +1 -0
- package/lib/engine-components/SpriteRenderer.js.map +1 -1
- package/lib/engine-components/SyncedCamera.d.ts +2 -0
- package/lib/engine-components/SyncedCamera.js +2 -0
- package/lib/engine-components/SyncedCamera.js.map +1 -1
- package/lib/engine-components/SyncedRoom.d.ts +1 -0
- package/lib/engine-components/SyncedRoom.js +1 -0
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +2 -0
- package/lib/engine-components/SyncedTransform.js +2 -0
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +2 -0
- package/lib/engine-components/TransformGizmo.js +2 -0
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +1 -0
- package/lib/engine-components/VideoPlayer.js +1 -0
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/Voip.d.ts +1 -0
- package/lib/engine-components/Voip.js +1 -0
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +24 -3
- package/lib/engine-components/export/usdz/USDZExporter.js +36 -2
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +18 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +18 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -0
- package/lib/engine-components/particlesystem/ParticleSystem.js +1 -0
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/physics/Attractor.d.ts +3 -0
- package/lib/engine-components/physics/Attractor.js +3 -0
- package/lib/engine-components/physics/Attractor.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -0
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +4 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +3 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +3 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +4 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +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 +3 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +3 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +4 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +4 -0
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
- package/lib/engine-components/postprocessing/Volume.d.ts +1 -0
- package/lib/engine-components/postprocessing/Volume.js +1 -0
- package/lib/engine-components/postprocessing/Volume.js.map +1 -1
- package/lib/engine-components/splines/Spline.d.ts +1 -0
- package/lib/engine-components/splines/Spline.js +1 -0
- package/lib/engine-components/splines/Spline.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.d.ts +1 -0
- package/lib/engine-components/splines/SplineWalker.js +1 -0
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -0
- package/lib/engine-components/timeline/PlayableDirector.js +1 -0
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/SignalAsset.d.ts +1 -0
- package/lib/engine-components/timeline/SignalAsset.js +1 -0
- package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
- package/lib/engine-components/ui/Button.d.ts +4 -0
- package/lib/engine-components/ui/Button.js +4 -0
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +5 -0
- package/lib/engine-components/ui/Canvas.js +5 -0
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasGroup.d.ts +4 -0
- package/lib/engine-components/ui/CanvasGroup.js +4 -0
- package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +2 -0
- package/lib/engine-components/ui/EventSystem.js +2 -0
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +4 -0
- package/lib/engine-components/ui/Image.js +4 -0
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/InputField.d.ts +4 -0
- package/lib/engine-components/ui/InputField.js +4 -0
- package/lib/engine-components/ui/InputField.js.map +1 -1
- package/lib/engine-components/ui/Outline.d.ts +7 -0
- package/lib/engine-components/ui/Outline.js +7 -0
- package/lib/engine-components/ui/Outline.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +1 -0
- package/lib/engine-components/ui/Text.js +1 -0
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +1 -0
- package/lib/engine-components/utils/LookAt.js +1 -0
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/web/Clickthrough.d.ts +1 -1
- package/lib/engine-components/web/Clickthrough.js +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +2 -0
- package/lib/engine-components/web/CursorFollow.js +3 -0
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +1 -0
- package/lib/engine-components/web/HoverAnimation.js +1 -0
- package/lib/engine-components/web/HoverAnimation.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +2 -0
- package/lib/engine-components/web/ScrollFollow.js +2 -0
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +1 -0
- package/lib/engine-components/web/ViewBox.js +1 -0
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/Avatar.d.ts +5 -0
- package/lib/engine-components/webxr/Avatar.js +5 -0
- package/lib/engine-components/webxr/Avatar.js.map +1 -1
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js +1 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +1 -0
- package/lib/engine-components/webxr/WebARSessionRoot.js +1 -0
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +1 -1
- package/lib/engine-components/webxr/WebXR.js +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +4 -0
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +4 -0
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +2 -0
- package/lib/engine-components-experimental/networking/PlayerSync.js +2 -0
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/package.json +20 -13
- package/plugins/types/needleConfig.d.ts +1 -1
- package/plugins/types/next.d.ts +1 -1
- package/plugins/types/userconfig.d.ts +4 -1
- package/plugins/vite/custom-element-data.js +80 -0
- package/plugins/vite/index.js +4 -0
- package/src/engine/api.ts +0 -1
- package/src/engine/engine_context.ts +1 -1
- package/src/engine/engine_gltf_builtin_components.ts +1 -1
- package/src/engine/engine_license.ts +1 -1
- package/src/engine/engine_physics_rapier.ts +11 -2
- package/src/engine/engine_texture.ts +1 -1
- package/src/engine/engine_tonemapping.ts +1 -1
- package/src/engine/engine_types.ts +17 -0
- package/src/engine/engine_typestore.ts +5 -6
- package/src/engine/webcomponents/logo-element.ts +12 -0
- package/src/engine/webcomponents/needle menu/needle-menu.ts +24 -3
- package/src/engine/webcomponents/needle-button.ts +6 -0
- package/src/engine/webcomponents/needle-engine.ts +331 -22
- package/src/engine-components/AlignmentConstraint.ts +9 -0
- package/src/engine-components/Animator.ts +1 -0
- package/src/engine-components/AudioListener.ts +2 -0
- package/src/engine-components/AudioSource.ts +1 -0
- package/src/engine-components/AxesHelper.ts +2 -0
- package/src/engine-components/Camera.ts +1 -0
- package/src/engine-components/CharacterController.ts +4 -1
- package/src/engine-components/Component.ts +9 -1
- package/src/engine-components/DeleteBox.ts +2 -0
- package/src/engine-components/DeviceFlag.ts +4 -0
- package/src/engine-components/DragControls.ts +1 -0
- package/src/engine-components/DropListener.ts +1 -0
- package/src/engine-components/Duplicatable.ts +1 -0
- package/src/engine-components/EventTrigger.ts +2 -0
- package/src/engine-components/GridHelper.ts +2 -0
- package/src/engine-components/GroundProjection.ts +1 -0
- package/src/engine-components/LODGroup.ts +2 -0
- package/src/engine-components/Light.ts +1 -0
- package/src/engine-components/LookAtConstraint.ts +1 -0
- package/src/engine-components/NeedleMenu.ts +1 -0
- package/src/engine-components/NestedGltf.ts +1 -0
- package/src/engine-components/Networking.ts +1 -0
- package/src/engine-components/OffsetConstraint.ts +7 -0
- package/src/engine-components/OrbitControls.ts +1 -0
- package/src/engine-components/PlayerColor.ts +2 -0
- package/src/engine-components/ReflectionProbe.ts +1 -0
- package/src/engine-components/RigidBody.ts +1 -0
- package/src/engine-components/SceneSwitcher.ts +1 -0
- package/src/engine-components/ScreenCapture.ts +1 -0
- package/src/engine-components/SeeThrough.ts +1 -0
- package/src/engine-components/ShadowCatcher.ts +2 -0
- package/src/engine-components/Skybox.ts +2 -1
- package/src/engine-components/SmoothFollow.ts +1 -0
- package/src/engine-components/SpatialTrigger.ts +1 -0
- package/src/engine-components/SpectatorCamera.ts +1 -0
- package/src/engine-components/SpriteRenderer.ts +1 -0
- package/src/engine-components/SyncedCamera.ts +2 -0
- package/src/engine-components/SyncedRoom.ts +1 -0
- package/src/engine-components/SyncedTransform.ts +2 -0
- package/src/engine-components/TransformGizmo.ts +2 -0
- package/src/engine-components/VideoPlayer.ts +1 -0
- package/src/engine-components/Voip.ts +1 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +52 -5
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +18 -0
- package/src/engine-components/particlesystem/ParticleSystem.ts +1 -0
- package/src/engine-components/physics/Attractor.ts +3 -0
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -0
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +4 -0
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +3 -0
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +4 -0
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +3 -0
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +4 -0
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Vignette.ts +4 -0
- package/src/engine-components/postprocessing/Volume.ts +1 -0
- package/src/engine-components/splines/Spline.ts +1 -0
- package/src/engine-components/splines/SplineWalker.ts +1 -0
- package/src/engine-components/timeline/PlayableDirector.ts +1 -0
- package/src/engine-components/timeline/SignalAsset.ts +1 -0
- package/src/engine-components/ui/Button.ts +4 -0
- package/src/engine-components/ui/Canvas.ts +5 -0
- package/src/engine-components/ui/CanvasGroup.ts +4 -0
- package/src/engine-components/ui/EventSystem.ts +2 -0
- package/src/engine-components/ui/Image.ts +4 -0
- package/src/engine-components/ui/InputField.ts +4 -0
- package/src/engine-components/ui/Outline.ts +7 -0
- package/src/engine-components/ui/Text.ts +1 -0
- package/src/engine-components/utils/LookAt.ts +1 -0
- package/src/engine-components/web/Clickthrough.ts +1 -1
- package/src/engine-components/web/CursorFollow.ts +4 -0
- package/src/engine-components/web/HoverAnimation.ts +1 -0
- package/src/engine-components/web/ScrollFollow.ts +2 -0
- package/src/engine-components/web/ViewBox.ts +1 -0
- package/src/engine-components/webxr/Avatar.ts +5 -0
- package/src/engine-components/webxr/WebARCameraBackground.ts +1 -0
- package/src/engine-components/webxr/WebARSessionRoot.ts +1 -0
- package/src/engine-components/webxr/WebXR.ts +1 -1
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -0
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +4 -0
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -0
- package/src/engine-components-experimental/networking/PlayerSync.ts +2 -0
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +0 -70
- package/lib/engine/webcomponents/needle-engine.attributes.js +0 -2
- package/lib/engine/webcomponents/needle-engine.attributes.js.map +0 -1
- package/src/engine/webcomponents/needle-engine.attributes.ts +0 -85
|
@@ -14,6 +14,8 @@ class TriggerEvent {
|
|
|
14
14
|
/**
|
|
15
15
|
* The EventTrigger component is used to trigger events when certain pointer events occur on the GameObject.
|
|
16
16
|
* It implements the {@link IPointerEventHandler} interface and can be used to expose events to the user in the editor without writing code.
|
|
17
|
+
*
|
|
18
|
+
* @summary Triggers events on pointer interactions
|
|
17
19
|
* @category Interactivity
|
|
18
20
|
* @group Components
|
|
19
21
|
*/
|
|
@@ -75,6 +75,7 @@ enum LightShadows {
|
|
|
75
75
|
* Debug mode can be enabled with the URL parameter `?debuglights`, which shows
|
|
76
76
|
* additional console output and visual helpers for lights.
|
|
77
77
|
*
|
|
78
|
+
* @summary Light component for various light types and shadow settings
|
|
78
79
|
* @category Rendering
|
|
79
80
|
* @group Components
|
|
80
81
|
*/
|
|
@@ -8,6 +8,7 @@ import type { OrbitControls } from "./OrbitControls.js";
|
|
|
8
8
|
* A LookAtConstraint is used by OrbitControls to make the camera look at a target.
|
|
9
9
|
* This component is used by {@link OrbitControls} internally.
|
|
10
10
|
*
|
|
11
|
+
* @summary Look At Constraint for OrbitControls
|
|
11
12
|
* @category Camera Controls
|
|
12
13
|
* @group Components
|
|
13
14
|
*/
|
|
@@ -10,6 +10,7 @@ import { Behaviour } from './Component.js';
|
|
|
10
10
|
* Controls display options, button visibility, and menu positioning.
|
|
11
11
|
* From code, you can access the menu via {@link Context.menu}.
|
|
12
12
|
*
|
|
13
|
+
* @summary Configuration component for the Needle Menu
|
|
13
14
|
* @category User Interface
|
|
14
15
|
* @group Components
|
|
15
16
|
**/
|
|
@@ -11,6 +11,7 @@ const debug = getParam("debugnestedgltf");
|
|
|
11
11
|
/** The nested gltf is a component that is used to load a gltf file when the component becomes active (start)
|
|
12
12
|
* It will load the gltf file and instantiate it as a child of the parent of the GameObject that has this component
|
|
13
13
|
*
|
|
14
|
+
* @summary Loads and instantiates a nested glTF file
|
|
14
15
|
* @category Asset Management
|
|
15
16
|
* @group Components
|
|
16
17
|
*/
|
|
@@ -11,6 +11,7 @@ const debug = getParam("debugnet");
|
|
|
11
11
|
* This component supplies websocket URLs for establishing connections.
|
|
12
12
|
* It implements the {@link INetworkingWebsocketUrlProvider} interface.
|
|
13
13
|
*
|
|
14
|
+
* @summary Networking configuration component
|
|
14
15
|
* @category Networking
|
|
15
16
|
* @group Components
|
|
16
17
|
*/
|
|
@@ -4,6 +4,13 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
|
4
4
|
import * as utils from "./../engine/engine_three_utils.js";
|
|
5
5
|
import { Behaviour, GameObject } from "./Component.js";
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* OffsetConstraint component allows an object to maintain a specified positional and rotational offset
|
|
9
|
+
* relative to another object, with options for alignment and leveling.
|
|
10
|
+
* @summary Maintains positional and rotational offset relative to another object
|
|
11
|
+
* @category Constraints
|
|
12
|
+
* @group Components
|
|
13
|
+
*/
|
|
7
14
|
export class OffsetConstraint extends Behaviour {
|
|
8
15
|
|
|
9
16
|
@serializable(GameObject)
|
|
@@ -63,6 +63,7 @@ declare module 'three/examples/jsm/controls/OrbitControls.js' {
|
|
|
63
63
|
/** The OrbitControls component is used to control a camera using the [OrbitControls from three.js](https://threejs.org/docs/#examples/en/controls/OrbitControls) library.
|
|
64
64
|
* The three OrbitControls object can be accessed via the `controls` property.
|
|
65
65
|
* The object being controlled by the OrbitControls (usually the camera) can be accessed via the `controllerObject` property.
|
|
66
|
+
* @summary Camera controller using three.js OrbitControls
|
|
66
67
|
* @category Camera
|
|
67
68
|
* @group Components
|
|
68
69
|
*/
|
|
@@ -9,6 +9,8 @@ import { AvatarMarker } from "./webxr/WebXRAvatar.js";
|
|
|
9
9
|
/**
|
|
10
10
|
* PlayerColor assigns a unique color for each user in the room to the object it is attached to.
|
|
11
11
|
* The color is generated based on the user's ID.
|
|
12
|
+
*
|
|
13
|
+
* @summary Assigns a unique color to the player object
|
|
12
14
|
* @category Networking
|
|
13
15
|
* @group Components
|
|
14
16
|
*/
|
|
@@ -140,6 +140,7 @@ class TransformWatch {
|
|
|
140
140
|
* - Example: https://samples.needle.tools/physics-playground
|
|
141
141
|
* - Example: https://samples.needle.tools/physics-&-animation
|
|
142
142
|
*
|
|
143
|
+
* @summary Rigidbody for physical interactions
|
|
143
144
|
* @category Physics
|
|
144
145
|
* @group Components
|
|
145
146
|
*/
|
|
@@ -70,6 +70,7 @@ export declare type ScreenCaptureOptions = {
|
|
|
70
70
|
* By default the component will start sharing the screen when the user clicks on the object this component is attached to. You can set {@link device} This behaviour can be disabled by setting `allowStartOnClick` to false.
|
|
71
71
|
* It is also possible to start the stream manually from your code by calling the {@link share} method.
|
|
72
72
|
*
|
|
73
|
+
* @summary Share screen, camera or microphone in a networked room
|
|
73
74
|
* @category Networking
|
|
74
75
|
* @group Components
|
|
75
76
|
*/
|
|
@@ -22,6 +22,8 @@ enum ShadowMode {
|
|
|
22
22
|
* If the GameObject is a Mesh, it will apply a shadow-catching material to it - otherwise it will create a quad with the shadow-catching material.
|
|
23
23
|
*
|
|
24
24
|
* Note that ShadowCatcher meshes are not raycastable by default; if you want them to be raycastable, change the layers in `onEnable()`.
|
|
25
|
+
*
|
|
26
|
+
* @summary Renders shadows or light on the object
|
|
25
27
|
* @category Rendering
|
|
26
28
|
* @group Components
|
|
27
29
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CompressedCubeTexture, CubeTexture, CubeUVReflectionMapping, EquirectangularRefractionMapping, Texture } from "three"
|
|
2
|
-
import { isDevEnvironment } from "../engine/debug/debug.js";
|
|
3
2
|
|
|
3
|
+
import { isDevEnvironment } from "../engine/debug/debug.js";
|
|
4
4
|
import { ContextEvent, ContextRegistry } from "../engine/engine_context_registry.js";
|
|
5
5
|
import { syncField } from "../engine/engine_networking_auto.js";
|
|
6
6
|
import { loadPMREM } from "../engine/engine_pmrem.js";
|
|
@@ -143,6 +143,7 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreationStart, () => {
|
|
|
143
143
|
* skybox.setSkybox("https://example.com/skybox.hdr");
|
|
144
144
|
* ```
|
|
145
145
|
*
|
|
146
|
+
* @summary Sets the skybox or environment texture of a scene
|
|
146
147
|
* @category Rendering
|
|
147
148
|
* @group Components
|
|
148
149
|
*/
|
|
@@ -9,6 +9,7 @@ import { Behaviour } from "./Component.js";
|
|
|
9
9
|
/**
|
|
10
10
|
* SmoothFollow makes the {@link Object3D} (`GameObject`) smoothly follow another target {@link Object3D}.
|
|
11
11
|
* It can follow the target's position, rotation, or both.
|
|
12
|
+
* @summary Smoothly follows a target object
|
|
12
13
|
* @category Interactivity
|
|
13
14
|
* @group Components
|
|
14
15
|
*/
|
|
@@ -26,6 +26,7 @@ function testMask(mask1, mask2) {
|
|
|
26
26
|
/**
|
|
27
27
|
* Component that receives and responds to spatial events, like entering or exiting a trigger zone.
|
|
28
28
|
* Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
|
|
29
|
+
* @summary Receives spatial trigger events
|
|
29
30
|
* @category Interactivity
|
|
30
31
|
* @group Components
|
|
31
32
|
*/
|
|
@@ -35,6 +35,7 @@ const debug = getParam("debugspectator");
|
|
|
35
35
|
*
|
|
36
36
|
* Debug mode can be enabled with the URL parameter `?debugspectator`, which provides additional console output.
|
|
37
37
|
*
|
|
38
|
+
* @summary Follow other users in a networked room
|
|
38
39
|
* @category Networking
|
|
39
40
|
* @group Components
|
|
40
41
|
*/
|
|
@@ -86,6 +86,7 @@ function updateTextureIfNecessary(tex: Texture) {
|
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
88
|
* A sprite is a mesh that represents a 2D image. Used by the {@link SpriteRenderer} to render 2D images in the scene.
|
|
89
|
+
* @summary 2D image renderer
|
|
89
90
|
* @category Rendering
|
|
90
91
|
* @group Components
|
|
91
92
|
*/
|
|
@@ -63,6 +63,8 @@ declare type UserCamInfo = {
|
|
|
63
63
|
/**
|
|
64
64
|
* SyncedCamera is a component that syncs the camera position and rotation of all users in the room.
|
|
65
65
|
* A prefab can be set to represent the remote cameras visually in the scene.
|
|
66
|
+
*
|
|
67
|
+
* @summary Syncs camera position and rotation of users in a networked room
|
|
66
68
|
* @category Networking
|
|
67
69
|
* @group Components
|
|
68
70
|
*/
|
|
@@ -33,6 +33,7 @@ const debug = utils.getParam("debugsyncedroom");
|
|
|
33
33
|
* myObject.addComponent(SyncedRoom, { joinRandomRoom: true, roomPrefix: "myApp_" });
|
|
34
34
|
* ```
|
|
35
35
|
*
|
|
36
|
+
* @summary Joins a networked room based on URL parameters or a random room
|
|
36
37
|
* @category Networking
|
|
37
38
|
* @group Components
|
|
38
39
|
*/
|
|
@@ -57,6 +57,8 @@ onUpdate((ctx) => {
|
|
|
57
57
|
/**
|
|
58
58
|
* SyncedTransform synchronizes the position and rotation of a game object over the network.
|
|
59
59
|
* It handles ownership transfer, interpolation, and network state updates automatically.
|
|
60
|
+
*
|
|
61
|
+
* @summary Synchronizes object transform over the network with ownership management
|
|
60
62
|
* @category Networking
|
|
61
63
|
* @group Components
|
|
62
64
|
*/
|
|
@@ -10,6 +10,8 @@ import { SyncedTransform } from "./SyncedTransform.js";
|
|
|
10
10
|
/**
|
|
11
11
|
* TransformGizmo displays manipulation controls for translating, rotating, and scaling objects in the scene.
|
|
12
12
|
* It wraps three.js {@link TransformControls} and provides keyboard shortcuts for changing modes and settings.
|
|
13
|
+
*
|
|
14
|
+
* @summary Object manipulation gizmo for translating, rotating, and scaling
|
|
13
15
|
* @category Helpers
|
|
14
16
|
* @group Components
|
|
15
17
|
*/
|
|
@@ -14,6 +14,7 @@ const debugParam = getParam("debugvoip");
|
|
|
14
14
|
/**
|
|
15
15
|
* The Voice over IP component (VoIP) allows you to send and receive audio streams to other users in the same networked room.
|
|
16
16
|
* It requires a networking connection to be working (e.g. by having an active SyncedRoom component in the scene or by connecting to a room manually).
|
|
17
|
+
* @summary Voice over IP (VoIP) for networked audio communication
|
|
17
18
|
* @category Networking
|
|
18
19
|
* @group Components
|
|
19
20
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NEEDLE_progressive } from "@needle-tools/gltf-progressive";
|
|
2
|
-
import { Euler,
|
|
2
|
+
import { Euler, Material, Matrix4, Mesh, Object3D, Quaternion, Vector3 } from "three";
|
|
3
3
|
|
|
4
4
|
import { isDevEnvironment, showBalloonMessage, showBalloonWarning } from "../../../engine/debug/index.js";
|
|
5
5
|
import { hasProLicense } from "../../../engine/engine_license.js";
|
|
@@ -53,6 +53,23 @@ export class CustomBranding {
|
|
|
53
53
|
callToActionURL?: string;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
type BeforeLODExportArguments = {
|
|
57
|
+
readonly exporter: USDZExporter;
|
|
58
|
+
/** The type of LOD being exported, either a texture or a mesh */
|
|
59
|
+
readonly type: "texture" | "mesh";
|
|
60
|
+
/** The Renderer gameobject */
|
|
61
|
+
readonly object: Object3D;
|
|
62
|
+
/** The mesh being exported, if applicable */
|
|
63
|
+
readonly mesh?: Mesh;
|
|
64
|
+
/** The material being exported, if applicable */
|
|
65
|
+
readonly material?: Material;
|
|
66
|
+
/** By default LOD 0 will be exported (highest quality).
|
|
67
|
+
* Set to a different LOD level if needed.
|
|
68
|
+
* Set to -1 to disable LOD export and simply export the current version.
|
|
69
|
+
*/
|
|
70
|
+
overrideLevel?: number;
|
|
71
|
+
}
|
|
72
|
+
|
|
56
73
|
/**
|
|
57
74
|
* Exports the current scene or a specific object as USDZ file and opens it in QuickLook on iOS/iPadOS/visionOS.
|
|
58
75
|
* The USDZ file is generated using the Needle Engine ThreeUSDZExporter.
|
|
@@ -72,8 +89,12 @@ export class CustomBranding {
|
|
|
72
89
|
*/
|
|
73
90
|
export class USDZExporter extends Behaviour {
|
|
74
91
|
|
|
75
|
-
|
|
76
|
-
static readonly
|
|
92
|
+
/** Called before the USDZ file is exported */
|
|
93
|
+
static readonly beforeExport = new EventList<{ readonly exporter: USDZExporter }>();
|
|
94
|
+
/** Called after the USDZ file has been exported */
|
|
95
|
+
static readonly afterExport = new EventList<{ readonly exporter: USDZExporter }>();
|
|
96
|
+
/** Called before LOD level are exported. Can be used to override the LOD export settings */
|
|
97
|
+
static readonly beforeLODExport = new EventList<BeforeLODExportArguments>();
|
|
77
98
|
|
|
78
99
|
/**
|
|
79
100
|
* Assign the object to export as USDZ file. If undefined or null, the whole scene will be exported.
|
|
@@ -329,7 +350,20 @@ export class USDZExporter extends Behaviour {
|
|
|
329
350
|
for (const rend of renderers) {
|
|
330
351
|
for (const mesh of rend.sharedMeshes) {
|
|
331
352
|
if (mesh) {
|
|
332
|
-
|
|
353
|
+
let lodLevel = 0;
|
|
354
|
+
const args: BeforeLODExportArguments = { exporter: this, type: "mesh" as const, object: rend.gameObject, mesh: mesh, };
|
|
355
|
+
USDZExporter.beforeLODExport.invoke(args);
|
|
356
|
+
if (args.overrideLevel !== undefined) {
|
|
357
|
+
if (args.overrideLevel === -1) {
|
|
358
|
+
if (debug) console.warn("Skipping LOD export for mesh due to overrideLevel -1", rend.gameObject, mesh);
|
|
359
|
+
continue; // skip LOD assignment
|
|
360
|
+
}
|
|
361
|
+
else if (args.overrideLevel >= 0) {
|
|
362
|
+
lodLevel = args.overrideLevel;
|
|
363
|
+
if (debug) console.log("Overriding LOD level for mesh export to level " + lodLevel + " " + mesh.name);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
const task = NEEDLE_progressive.assignMeshLOD(mesh, lodLevel);
|
|
333
367
|
if (task instanceof Promise)
|
|
334
368
|
progressiveLoading.push(new Promise<void>((resolve, reject) => {
|
|
335
369
|
task.then(() => {
|
|
@@ -342,7 +376,20 @@ export class USDZExporter extends Behaviour {
|
|
|
342
376
|
}
|
|
343
377
|
for (const mat of rend.sharedMaterials) {
|
|
344
378
|
if (mat) {
|
|
345
|
-
|
|
379
|
+
let lodLevel = 0;
|
|
380
|
+
const args: BeforeLODExportArguments = { exporter: this, type: "texture" as const, object: rend.gameObject, material: mat };
|
|
381
|
+
USDZExporter.beforeLODExport.invoke(args);
|
|
382
|
+
if (args.overrideLevel !== undefined) {
|
|
383
|
+
if (args.overrideLevel === -1) {
|
|
384
|
+
if (debug) console.warn("Skipping LOD assignment due to overrideLevel -1", rend.gameObject, mat);
|
|
385
|
+
continue; // skip LOD assignment
|
|
386
|
+
}
|
|
387
|
+
else if (args.overrideLevel >= 0) {
|
|
388
|
+
lodLevel = args.overrideLevel;
|
|
389
|
+
if (debug) console.log("Overriding LOD level for texture export to level " + lodLevel + " " + mat.name);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
const task = NEEDLE_progressive.assignTextureLOD(mat, lodLevel);
|
|
346
393
|
if (task instanceof Promise)
|
|
347
394
|
progressiveLoading.push(new Promise<void>((resolve, reject) => {
|
|
348
395
|
task.then(() => {
|
|
@@ -31,6 +31,8 @@ function ensureRaycaster(obj: GameObject) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
+
* Make the object move to the target object's transform when clicked.
|
|
35
|
+
* @summary Moves an object to a target transform upon click
|
|
34
36
|
* @category Everywhere Actions
|
|
35
37
|
* @group Components
|
|
36
38
|
*/
|
|
@@ -176,6 +178,8 @@ export class ChangeTransformOnClick extends Behaviour implements IPointerClickHa
|
|
|
176
178
|
}
|
|
177
179
|
|
|
178
180
|
/**
|
|
181
|
+
* Change the material of objects when clicked.
|
|
182
|
+
* @summary Changes the material of objects when clicked
|
|
179
183
|
* @category Everywhere Actions
|
|
180
184
|
* @group Components
|
|
181
185
|
*/
|
|
@@ -366,6 +370,8 @@ export class ChangeMaterialOnClick extends Behaviour implements IPointerClickHan
|
|
|
366
370
|
}
|
|
367
371
|
|
|
368
372
|
/**
|
|
373
|
+
* Set the active state of an object when clicked.
|
|
374
|
+
* @summary Sets the active state of an object when clicked
|
|
369
375
|
* @category Everywhere Actions
|
|
370
376
|
* @group Components
|
|
371
377
|
*/
|
|
@@ -604,6 +610,8 @@ export class SetActiveOnClick extends Behaviour implements IPointerClickHandler,
|
|
|
604
610
|
}
|
|
605
611
|
|
|
606
612
|
/**
|
|
613
|
+
* Hides the object on scene start.
|
|
614
|
+
* @summary Hides the object on scene start
|
|
607
615
|
* @category Everywhere Actions
|
|
608
616
|
* @group Components
|
|
609
617
|
*/
|
|
@@ -651,6 +659,8 @@ export class HideOnStart extends Behaviour implements UsdzBehaviour {
|
|
|
651
659
|
}
|
|
652
660
|
|
|
653
661
|
/**
|
|
662
|
+
* Emphasize the target object when clicked.
|
|
663
|
+
* @summary Emphasizes the target object when clicked
|
|
654
664
|
* @category Everywhere Actions
|
|
655
665
|
* @group Components
|
|
656
666
|
*/
|
|
@@ -683,6 +693,8 @@ export class EmphasizeOnClick extends Behaviour implements UsdzBehaviour {
|
|
|
683
693
|
}
|
|
684
694
|
|
|
685
695
|
/**
|
|
696
|
+
* Plays an audio clip when clicked.
|
|
697
|
+
* @summary Plays an audio clip when clicked
|
|
686
698
|
* @category Everywhere Actions
|
|
687
699
|
* @group Components
|
|
688
700
|
*/
|
|
@@ -808,6 +820,8 @@ export class PlayAudioOnClick extends Behaviour implements IPointerClickHandler,
|
|
|
808
820
|
}
|
|
809
821
|
|
|
810
822
|
/**
|
|
823
|
+
* Plays an animation when clicked.
|
|
824
|
+
* @summary Plays an animation when clicked
|
|
811
825
|
* @category Everywhere Actions
|
|
812
826
|
* @group Components
|
|
813
827
|
*/
|
|
@@ -1216,6 +1230,8 @@ export class PreliminaryTrigger extends Behaviour {
|
|
|
1216
1230
|
}
|
|
1217
1231
|
|
|
1218
1232
|
/**
|
|
1233
|
+
* Hides or shows the object when clicked.
|
|
1234
|
+
* @summary Hides or shows the object when clicked
|
|
1219
1235
|
* @category Everywhere Actions
|
|
1220
1236
|
* @group Components
|
|
1221
1237
|
*/
|
|
@@ -1241,6 +1257,8 @@ export class VisibilityAction extends PreliminaryAction {
|
|
|
1241
1257
|
}
|
|
1242
1258
|
|
|
1243
1259
|
/**
|
|
1260
|
+
* Triggers an action when the object is tapped/clicked.
|
|
1261
|
+
* @summary Triggers an action when the object is tapped/clicked
|
|
1244
1262
|
* @category Everywhere Actions
|
|
1245
1263
|
* @group Components
|
|
1246
1264
|
*/
|
|
@@ -692,6 +692,7 @@ class ParticlesEmissionState implements EmissionState {
|
|
|
692
692
|
*
|
|
693
693
|
* Needle Engine uses [three.quarks](https://github.com/Alchemist0823/three.quarks) under the hood to handle particles.
|
|
694
694
|
*
|
|
695
|
+
* @summary Particle System
|
|
695
696
|
* @category Rendering
|
|
696
697
|
* @group Components
|
|
697
698
|
*/
|
|
@@ -14,6 +14,9 @@ import { Rigidbody } from "../RigidBody.js";
|
|
|
14
14
|
* attractor.strength = 5; // positive value to attract
|
|
15
15
|
* attractor.radius = 10; // only attract within 10 units
|
|
16
16
|
* attractor.targets.push(rigidbody); // add the Rigidbody to be attracted
|
|
17
|
+
* @summary Attract Rigidbodies towards the position of this component
|
|
18
|
+
* @category Physics
|
|
19
|
+
* @group Components
|
|
17
20
|
*/
|
|
18
21
|
export class Attractor extends Behaviour {
|
|
19
22
|
|
|
@@ -7,6 +7,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType, VolumeProfile } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Chromatic Aberration effect simulates the color fringing effect seen in real-world cameras.
|
|
11
|
+
* It offsets the red, green, and blue color channels to create a distorted, colorful edge around objects.
|
|
12
|
+
* This effect can enhance the visual appeal of scenes by adding a subtle or pronounced chromatic distortion.
|
|
13
|
+
* @summary Chromatic Aberration Post-Processing Effect
|
|
10
14
|
* @category Effects
|
|
11
15
|
* @group Components
|
|
12
16
|
*/
|
|
@@ -8,6 +8,9 @@ import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
|
8
8
|
import { ToneMappingEffect } from "./Tonemapping.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
+
* Color Adjustments effect allows you to modify the overall color properties of the rendered scene, including post-exposure, contrast, hue shift, and saturation.
|
|
12
|
+
* These adjustments can be used to enhance the visual aesthetics of the scene or to achieve specific artistic effects.
|
|
13
|
+
* @summary Color Adjustments Post-Processing Effect
|
|
11
14
|
* @category Effects
|
|
12
15
|
* @group Components
|
|
13
16
|
*/
|
|
@@ -17,6 +17,10 @@ export enum DepthOfFieldMode {
|
|
|
17
17
|
const debug = getParam("debugpost");
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Depth of Field effect simulates the focusing behavior of real-world cameras by blurring objects that are outside the focal plane.
|
|
21
|
+
* This effect enhances the sense of depth in a scene by mimicking how cameras focus on subjects at varying distances, creating a more immersive visual experience.
|
|
22
|
+
* It can be adjusted to achieve different artistic effects, from subtle background blurring to pronounced bokeh effects.
|
|
23
|
+
* @summary Depth of Field Post-Processing Effect
|
|
20
24
|
* @category Effects
|
|
21
25
|
* @group Components
|
|
22
26
|
*/
|
|
@@ -7,6 +7,9 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Pixelation effect simulates a pixelated look by enlarging pixels in the rendered scene.
|
|
11
|
+
* This effect can be used to achieve a retro or stylized visual aesthetic, reminiscent of early video games or low-resolution graphics.
|
|
12
|
+
* @summary Pixelation Post-Processing Effect
|
|
10
13
|
* @category Effects
|
|
11
14
|
* @group Components
|
|
12
15
|
*/
|
|
@@ -23,6 +23,10 @@ export enum ScreenSpaceAmbientOcclusionN8QualityMode {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/** Screen Space Ambient Occlusion (SSAO) effect.
|
|
26
|
+
* Ambient Occlusion is a shading method used to calculate how exposed each point in a scene is to ambient lighting.
|
|
27
|
+
* The effect enhances the depth and realism of 3D scenes by simulating the soft shadows that occur in crevices, corners, and areas where objects are close to each other.
|
|
28
|
+
* This implementation uses the N8AO library to provide high-quality SSAO with various quality settings.
|
|
29
|
+
* @summary Screen Space Ambient Occlusion (SSAO) Post-Processing Effect
|
|
26
30
|
* @category Effects
|
|
27
31
|
* @group Components
|
|
28
32
|
* @link [N8AO documentation](https://github.com/N8python/n8ao)
|
|
@@ -14,6 +14,10 @@ import { PostProcessingEffectOrder } from "../utils.js";
|
|
|
14
14
|
// }
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Sharpening effect enhances the details and edges in the rendered scene by increasing the contrast between adjacent pixels.
|
|
18
|
+
* This effect can make textures and fine details appear clearer and more defined, improving the overall visual quality of the scene.
|
|
19
|
+
* It is particularly useful in scenes where details may be lost due to blurriness or low resolution.
|
|
20
|
+
* @summary Sharpening Post-Processing Effect
|
|
17
21
|
* @category Effects
|
|
18
22
|
* @group Components
|
|
19
23
|
*/
|
|
@@ -5,6 +5,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
5
5
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
+
* Tilt Shift effect simulates a miniature scene by applying a selective focus blur to the rendered image.
|
|
9
|
+
* This effect creates a shallow depth of field, making real-world scenes appear as if they are small-scale models.
|
|
10
|
+
* It is often used in photography and cinematography to draw attention to specific areas of the scene while blurring out the rest.
|
|
11
|
+
* @summary Tilt Shift Post-Processing Effect
|
|
8
12
|
* @category Effects
|
|
9
13
|
* @group Components
|
|
10
14
|
*/
|
|
@@ -14,6 +14,10 @@ const debug = getParam("debugpost");
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Tonemapping effect adjusts the brightness and contrast of the rendered scene to map high dynamic range (HDR) colors to a displayable range.
|
|
18
|
+
* This effect is essential for achieving realistic lighting and color representation in 3D scenes, as it helps to preserve details in both bright and dark areas.
|
|
19
|
+
* Various tonemapping algorithms can be applied to achieve different visual styles and effects.
|
|
20
|
+
* @summary Tonemapping Post-Processing Effect
|
|
17
21
|
* @category Effects
|
|
18
22
|
* @group Components
|
|
19
23
|
*/
|
|
@@ -7,6 +7,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Vignette effect darkens the edges of the rendered scene to draw attention to the center.
|
|
11
|
+
* This effect simulates the natural vignetting that occurs in photography and cinematography, where the corners of an image are darker than the center.
|
|
12
|
+
* It can be used to enhance the visual focus on the main subject of the scene and create a more immersive viewing experience.
|
|
13
|
+
* @summary Vignette Post-Processing Effect
|
|
10
14
|
* @category Effects
|
|
11
15
|
* @group Components
|
|
12
16
|
*/
|
|
@@ -56,6 +56,7 @@ export type CreateTrackFunction = (director: PlayableDirector, track: Models.Tra
|
|
|
56
56
|
* The PlayableDirector component is the main component to control timelines in needle engine.
|
|
57
57
|
* It is used to play, pause, stop and evaluate timelines.
|
|
58
58
|
* Assign a TimelineAsset to the `playableAsset` property to start playing a timeline.
|
|
59
|
+
* @summary Controls and plays TimelineAssets
|
|
59
60
|
* @category Animation and Sequencing
|
|
60
61
|
* @group Components
|
|
61
62
|
*/
|