-
Notifications
You must be signed in to change notification settings - Fork 2
Version history
oneMillionWorlds edited this page Nov 29, 2025
·
16 revisions
- Add android support
- Improve hand simulation where runtime does not supply hand bone positions
- Official release for compatible with JME 3.7.0
- Desktop simulation (Allowing the VR hands, handset buttons and VR head to be simulated from the mouse and keyboard - to make for an easier development experience (without taking the headset off and on constantly)
- Compatible with JME 3.7.0. Upgrade of LWJGL to 3.3.3
- Add tutorial mode into Mechanical toggles (where normal behaviour can be replaced by a separate listener. Potentially for tutorial modes
- DeferredAttachmentService can now use multiple threads
- Support for MSAA (Multi-Sampling Anti-Aliasing)
- Allow the hands to be transfered to a custom root node (for use when menus are being shown in an overlay viewport)
- Support removing a listener on a Mechanical button within its own callback
Improvements to MechanicalToggles & MechanicalButtons
- Add MechanicalToggles & MechanicalButtons
- Support multiple viewports per eye (e.g. overlaid debug shapes or main menu obscuring scene)
- Bug fix (6 Viewports) so Bloom filter (and other post processors) work correctly - solves flicker bug
- Support swapping hand models at run time
- If hand bone tracking is unavailable estimate it if possible (using a grab action)
- Further memory bug fixes
- Assorted bug fixes to prevent memory errors on some runtimes
The XR_EXT_hand_tracking extension is no longer mandatory, with graceful hand model degradation instead of an exception if unavailable
- Publish the source as delomboked (rather than with lombok annotations) this stops IDEs complaining that the source and bytecode do not match
- Allow for DPAD style bindings to be used
- Warn if VSync is enabled
- Pipeline publish (So more reliable tagging)
- Move to OpemXR (from OpenVR).
- Include all new hand models and textures (for new OpenXR bones)
- Remove a number of long deprecated methods
- Correct bug where TAMARIN_STOP_BUBBLING is not respeted during grab actions.
- Tweaks to what "pointing hand" means
- Include information on how much a hand has moved in the AbstractGrabControl callbacks
- Fix bug where the movePlayerFeetToPosition function didn't do anything (possibly JMonkey 3.6 introduced, but Tamarin was doing dodgy stuff)
- Allow a pre clenched hand to be "given" an item to hold
- Quality of life improvements by making hand specific actions accessible from the BoundHand
- Allow AbstractGrabControlled nodes to be connected to non root nodes
- Allowed hand ring menus items to be dynamic (recalculating on each opening)
- Correct hand ring menus bug
- Performance improvements for hand ring menus
- All allow multiple nodes to be bound for lemur click detection
- Support detecting when a user "clicks on nothing" (i.e. report clicks that don't hit anything as well as normal picks)
- Allow grab controls to have their motion restrained to a line
- Improvements to grab (Use detection spheres rather than lines
- Added TamarinUtilities with helper methods for moving and rotating the player (a non trivial task as the VR coordinate origin must be moved)
- Bugfix so bound hands can have a click handler detached within that click handler
- Added a debug window state, a movable "screen" that can hold debug information
- Introduce RelativeMovingGrabControl (A grab control that doesn't "snap to hand)
- Rename AutoMovingGrabControl to SnapToHandGrabControl (to disambiguate from RelativeMovingGrabControl)
- Added basic touch based lemur interaction (buttons & Text Fields only)
- Allow a grab control to move its parent node (For things like handles that move everything, but only the handle can be grabbed)
- Fix bug where lemur picking wouldn't pick things closer than 1 meter
- introduce FunctionRegistrations so that functions (like lemur clicking) can be more precisely removed when several of the same type may be present
- Add IDs to some app states (so they can be efficiently acquired from the state manager
- Support Lemur Dropdowns (point and click only, not finger tip interaction)
- Add a HandRingMenuFunction (menu that opens as a ring round the hand and can be used by sweeping the hand through it
- Fix bug where the hand pose velocity and rotational velocity were presented in the OpenVr coordinate system not the requested system
- Provided the hand velocity from within the bound hand
- Added support for climbing
- Check that a node is being using an an observer, raise helpful exception if not
Includes breaking changes in bold
- Fix bug #1; player hands no longer jitter while moving
- Drop support for camera based observers (must set a node using vrAppState#setObserver). This was required to support the fix to #1
- Added respect for seated and standing VR universe (previously seated VR universe was hard coded)