Releases: needle-tools/needle-engine-support
Releases · needle-tools/needle-engine-support
Needle Engine Blender Addon 0.51.1
- Fix: Issue with drawing the projects panel
3.47.3-pre
Needle Engine
- Add: Improved ParticleSystem MinMaxCurve and MinMaxGradient types with utility methods (
constant
,betweenTwoColors
/setConstant
,setMinMaxConstant
,setCurve
) - Add: preliminary support for MX Ink pens
- Add: NeedleXRController
pinchPosition
getter for hand tracking - Add: SceneSwitcher add
sceneLoaded
Eventlist - Add: DragControls static
CurrentlySelected
getter to access all currently active DragControls components - Fix: Gizmo label offset
- Fix: XRControllerFollow on VisionOS with hand tracking
- Fix: Vision OS depth buffer workaround (FB14720123)
- Fix: emulate grip space for hands that don't have grip space
- Fix:
screenshot2
should use passed in camera - Fix: nextjs plugin fix for error caused by mesh bvh worker integration
- Fix:
input.mouseDoubleClick
getter - Fix: EventList invocation with custom arguments (e.g.
myEvent.invoke("test")
)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.47.2-pre
Needle Engine
- Add: Type definitions for Object3D Needle Engine extension methods like
addComponent
orworldPosition
- Add: ObjectUtils
createText
- Add: static
BoxCollider.add
method - Add: Experimental util method
PlayerSync.setupFrom
to easily setup networked player representations - Add: ContactShadows
minSize
property - Fix: ShadowCatcher should set
receiveShadow
to true - Fix: Animation
play
should restart the animation if it's at the end - Fix: ContactShadows should ignore Line materials
- Fix: SyncedRoom component is easier to setup from code
- Fix: Properly resolve EventList calls when using
instantiate
to the new instances - Fix: WebXR simulator hand gesture calculation
- Fix: WebXR desktop preview with postprocessing enabled
- Fix: WebXR input
click
detection - Change: Physics collider center x should not be flipped. Instead the exporters need to ensure the correct space
Unity Integration
- Add: Basic Everywhere Actions Unity Runtime implementation:
- ChangeMaterialOnClick
- ChangeTransformOnClick
- HideOnStart
- PlayAnimationOnClick
- PlayAudioOnClick
- SetActiveOnClick
- Add: Improved support for importing glTF files with asset references:
- Import of AudioSource component with referenced AudioClip file
- Import of VideoPlayer component with referenced VideoClip file
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
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