Releases: needle-tools/needle-engine-support
Releases · needle-tools/needle-engine-support
Needle Engine Blender Addon 0.51.0
- Add: Initial
File/Export glTF
options for Needle Engine to allow exporting files that only contain the Needle Engine Components that are setup in the scene. - Fix: Issue where AnimatorController condition export didn't work properly when the blend file contained multiple controllers
- Update: Needle Engine to 3.47.2-beta
3.47.1-pre
Needle Engine
- Add: Voip microphone button option to allow users to mute and unmute themselves
- Add: More jsdoc documentation
- Add: NeedleXRController
emitPointerDown
,emitPointerUp
andemitPointerMove
properties to control if the controller should emit pointer events to the Needle Engine Input System - Add: NeedleXRController
pointerMoveDistanceThreshold
andpointerMoveAngleThreshold
for changing when controllerpointermove
events are emitted. These values can be set to 0 to emit events every frame or larger values to reduce the number of events emitted. - Add: Support to disable SpatialGrabRaycaster by setting the static property
SpatialGrabRaycaster.allow = false
- Fix: Improved audio and voicechat streams when using the Voip component to more reliably play audio and connect to all users in the room
- Fix: Prevent browsers translation of HTML icons
- Fix: Issue with Application audio playback permissions check
- Fix: SpriteRenderer setting
renderOrder
must be rounded to an integer - Fix: Vite issue where mesh bvh worker was not found in local dev server
- Fix: Mesh BVH should not raycast on meshes that don't have a position attribute
- Change: EventSystem now respects used events. This means if you subscribe to
pointerdown/pointermove/pointerup
with the queue set to a negative value and callevent.use()
orevent.preventDefault()
the EventSystem will ignore the event.
Unity Integration
- Add: Voip
createMenuButton
option - Add: AudioSource expose
PlayInBackground
option
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.47.0-pre
Needle Engine
- Add: accelerated raycasting using three-mesh-bvh. All calls to
physics.raycast()
now use a spatial grid solution under the hood to improve raycasting performance. (This can be disabled in the raycasting options by settinguseAcceleratedRaycast: false
) - Add:
physics.engine.raycast
methods now have an option to ignore theignoreRaycastLayer
on the Object3D (the three.js layer 2 is used to exclude objects from raycasting. This means settinglayers.set(2)
is equivalent to "Do not raycast on this object") - Minor UI performance improvements
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.46.1-pre.2
Needle Engine
- Add: SpriteRenderer
toneMapped
option - Fix: minor iOS color fix in Needle Menu CSS
- Fix: Voip should stop audio sending and receiving when user disconnects from a networked room
- Fix: WebXR avatar head being offset when user is not centered in rig space
- Change: SyncedRoom auto-generated room name is now numbers only by default
Unity Integration
- Expose: SpriteRenderer
toneMapped
option
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.46.1-pre.1
Needle Engine
- Fix: WebXR teleport and rotation now takes user position in rig space into account. This means when teleporting the user is now placed at the expected ray target point and when rotating the user is rotated around himself as expected (and the position stays the same)
- Fix: Animation component
fadeDuration
didn't fade out previously playing animations but instead stop immediately
Unity Integration
- Fix: Update dialogue
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.46.1-pre
Needle Engine
- Add:
isMacOS
utility method - Improve WebXR controller and hand raycasting and line rendering. Hide rays while the primary pointer i active.
- Improve DragControls performance
- Fix: Animation
play
should resume paused animations instead of restarting - Fix: PWA plugin now automatically disables gzip compression. Improved error message if there's missing configuration
- Fix: SyncedRoom
joinRoom
button not creating a new room if the room url parameter was present but empty - Change: Better error message for circular imports causing scripts to not work
- Change: On OSX and MacOS use power-preference
default
for improved performance (webkit issue)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.46.0-pre.1
Needle Engine
- Add: WebXR teleport using right hand pinch
- Add: WebXR
Quit XR
button - Add: SceneSwitcher
useSceneBackground
option to apply background skybox from loaded scene (if it has any) - Add: SceneSwitcher option to add Needle menu buttons
- Add:
Gizmos.DrawCircle
- Fix: issue where
depth-sensing
would cause camera near and far planes to have invalid values causing the scene to not render properly anymore when exiting AR - Fix: DropListener should not prevent propagation. Otherwise e.g. RemoteSkybox and DropListener would not work together
- Fix: DropListener
placeOnHit
should not raycast on just dropped object - Fix: issue where onPointerEnter is only invoked once if onPointerExit isnt declared
- Fix: WebXRController hits rendering on UI elements
- Fix: WebXRController rays are always visible when enabled but with a low opacity if no object was hit
- Change: WebXR
autoPlace
does now only place on flat surfaces with a small time threshold - Change: DragControls
SnapToSurface
now usesDynamicViewAngle
if no object was hit - Change: Needle Menu active and focus button CSS
Unity Integration
- Update SceneSwitcher component
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
Needle Engine Blender Addon 0.50.9
- Fix: Error in project settings panel due to WebXR component in scene
3.46.0-pre
Needle Engine
- Add: MeshTracking (WebXRPlaneTracking) is by default now generating occluder meshes for detected planes and meshes
- Add: AudioSource properties for
time
,time01
(normalized time),duration
- Add: Animation properties for
time
and method forpause()
- Add: WebXRPlaneTracking
occluder
property to automatically generate occluder meshes for detected meshes - Add: GroundProjection can now blend with the AR environment using the
blending
property - Fix: Animation
playOnAwake
regression - Fix: ContactShadows ignoring GroundProjectedEnv sphere, gizmos and depth only objects (e.g. occluder spheres from mesh tracking)
- Fix: Ensure Sprites when exporting to USDZ
- Fix: DragControls
Snap To Surface
when starting to drag - Change: WebXR controller hits now only use object bounds
- Change: Hide GroundProjection in immersive-ar
- Change: Minimal increase of close distance for SpatialGrab in WebXR
- Change: Settings on WebARSessionRoot are now all moved to the WebXR component
- WebXR performance improvements for immersive-ar sessions as well as controller and hand tracking
- Update three.js dependency to 0.162.6
Unity Integration
- WebARSessionRoot settings have been moved to the WebXR component
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.45.2-pre
Needle Engine
- Add: Support for immersive-ar
unbounded
session for unlimited passthrough experiences (enabled by default).
This is currently an experimental feature in the Quest browser. To enable it go tochrome://flags
and checkWebXR experiments
, then restart the Browser. The next time you start an immersive-ar session on quest the WebXR experience will run without guardian boundaries. - Add: NEPointerEvent
isSpatial
getter to easily determine if an input event was generated by a spatial device - Add: Object
static:true
does now disablematrixAutoUpdate
- Add: vite plugin that ensures that the npm folder exists
- Fix: Raycast handle null or empty objects in targets array
- Fix: Animation component
play()
issue where previous animations were not always stopped/faded out - Fix: SceneSwitcher regression causing scenes to not be unloaded
- Fix: Issue where completely empty scene without explicit XR rig caused invalid placement/rendering in VR
- Change: pointer events are now captured and continue to work when they hover over other HTML elements (if started in the 3D scene)
- Change: Disable touch-action on
<needle-engine>
element
Unity Integration
- Add more characters to default character sheet
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples