Releases: needle-tools/needle-engine-support
3.41.0-exp
Needle Engine
- Add: AnimationRegistry, accessible via
this.context.animations
- Add: static AnimationUtils class
- Add:
TestSceneUtils.createComparisonScene
for quickly spinning up test scenes - Add: Menu
appendChild
can now create a button from a structured json object - Add: New
exportAsGLTF
function - Add:
<needle-engine contactshadows>
attribute - Add: Lifecycle hooks like
onStart
oronUpdate
can now be configured to only run once using the options argument. For example:onBeforeRender(ctx => { ... }, { once: true })
- Fix: Postprocessing where Tonemapping was not being applied in some cases
- Fix:
screenshot
method does now support Reflection Probe lighting - Fix: Lightmapped objects with MultiMaterial objects spamming warnings
- Change: Improve Postprocessing Bloom
- Change: Improve FBX loading
- Change: ContactShadows
autoFit
increases shadow area by factor 1 (previously 0.5) - Change: Bump three to 0.162.4 adding GLTFExporter plugin hooks and animation retargeting using
userData { name }
- Change: Bump postprocessing to ^6.35.5
- Change: Bump gltf-progressive dependency
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.40.0-exp.1
Needle Engine
- Add: Experimental support to load
.fbx
files via<needle-engine src>
- Fix: issue where
<needle-engine autoplay>
would not play animations - Change: "IsMobile" check because window.orientation is deprecated
- Change: USDZ move direct/indirect interaction logic to tapTrigger and add options (by default, both are allowed)
- Change: Production build command changed - vite plugin now runs when
vite build
is invoked with--production
- e.g.vite build -- --production
. The legacy npm build script is automatically updated when the plugin runs for the first time.
Needle Engine
- Bump Needle Engine version
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.40.0-exp
IMPORTANT NOTICE
Needle Engine does now require NPM 10 to be installed.
Simply run npm update -g npm
in your commandline/terminal or use the Needle Engine project validation window.
NPM 10 is required due to an update in the compression pipeline which brings faster and more stable compression of glTF/GLB files as well as texture and mesh LODs.
Our automatic LOD generation improves performance and loading times of application of all sizes significantly. This allows to use higher texture resolutions and meshes with higher poly counts in projects while Needle Engine takes care of loading the appropriate LOD keeping loading times fast and your website responsive.
Needle Engine
- Update gltf-progressive dependency for smarter LOD texture loading
- Add:
WebARSessionRoot.onPlaced
event hook - Fix: InputField click should open keyboard on Android and iOS
- Fix: ContactShadow and ShadowCatcher meshes should not be raycastable
- Fix: Mesh particle LODs not being loaded
- Fix: UI Image/Raw Image texture LODs not being updated
- Change: OrbitControls
fitCamera
use options object, add "centerCamera" option
Unity Integration
- Update build-pipeline dependency for automatic texture LOD generation
- Improve project validation requiring NPM 10
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.39.0-exp.2
Needle Engine
- Fix: vite build pipeline plugin
Unity Integration
- Fix: run npm install with include optional sharp for build pipeline
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.39.0-exp.1
Needle Engine
- Fix: vite build pipeline plugin
Unity Integration
- Fix: run npm install with include optional sharp for build pipeline
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.39.0-exp
Needle Engine
- Fix: Issue where OrbitControls setTarget not working as expected sometimes due to first frame matrices not being updated yet
- Fix: Gizmos sometimes rendering for 2 frames instead of just 1
- Change: WebXRImageTracking now applies some smoothing based on jitter amount
- Change: Bump gltf-build-pipeline package to 2.1
Unity Integration
- Fix: Issue where context menu export would not clear internal cache that prevented re-exporting the same file multiple times
- Fix: Export context menu handle case where directories can not be deleted because they're locked by a CLI tool
- Change: Dont write progressive texture max size if no specific settings are found because we then want it to be handled by the build pipeline package (depends on the usecase etc)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.38.0-exp.1
Needle Engine
- Fix: needle menu CSS blur in safari
- Fix: USDZ - move Animation component animations into correct sequence depending on whether it should loop or not
- Fix: QuickLook button being created by WebXR despite
usdzExporter.allowCreateQuicklookButton
explicitly being off - Fix: Issue in vite plugin for Node 16 where fetch wasn't supported yet
- Fix: AudioListener should remove itself when disabled
Unity Integration
- Minor WebXR component tooltip improvements
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.38.0-exp
Needle Engine
- Add: OrbitControls
clickBackgroundToFitScene
property that can be used to allow autofitting when users click on the background. By default it is set to 2 clicks - Add: Vite plugin option to open browser with network ip address when the server starts by setting
needlePlugins(command, config, { openBrowser: true })
in vite.config.js - Fix: USDZ image tracking orientation corrects for node world matrix now, resulting in proper placement relative to the image
- Fix: WebARSessionRoot matrix and invertForward were not correctly applied for USDZ export
- Change: WebXR Image Tracking orientation was rotated by 180°. Now it's consistent between iOS USDZ and Android WebXR. If you're using image tracking, you might have to rotate your content 180° to adjust to the new orientation.
Unity Integration
- Add: OrbitControls
clickBackgroundToFitScene
property that can be used to allow autofitting when users click on the background. By default it is set to 2 clicks
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.16-exp
Needle Engine
- Add:
Gizmos.DrawWireMesh
- Fix: use lowpoly raycast mesh again when available
- Fix: USDZ - issue where image tracking orientation was inconsistent between Android and iOS
- Change: USDZ - better logs when unsupported animation tracks are used during export (e.g. .activeSelf or material animations).
- Change: USDZ - show balloon warning when exporting unsupported track types
Unity Integration
- Add: ImageTracking now renders gizmo texture on tracked object
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.15-exp
Needle Engine
- Add: ScreenCapture
deviceFilter
anddeviceName
properties that simplify camera selection - Fix: Avatar hands being visible in screenbased AR
- Fix: USDZ workaround for Apple bug FB13808839 - skeletal mesh rest poses must be decomposable in RealityKit
- Fix: Issue where Lightmap LOD textures did not load
- Fix: Issue where Custom Shader LOD textures did not load
- Change:
Powered by Needle
tag can be hidden with indie license
Unity Integration
- Add: ScreenCapture
deviceName
field and dropdown for simplified camera selection - Change:
Powered by Needle
tag can be hidden with indie license using the Needle Menu component
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples