1. Neos VR
  2. News

Neos VR News

2021.9.14.1348 - Precision grab mode, Quantity parsing & formatting and more

So I've pushed the small build earlier and then remembered I wanted to a few more things in it, so here they are! ^^;

Notably there's a new grabbing more - Precision grab! You can enable this through the context menu. It should make it easier to grab a single item that's between your index finger and thumb, especially when there's a whole bunch of grabbable items.

Also I've exposed a bunch of nodes for parsing and formatting quantities (supported are Acceleration, Angle, Distance, Mass, Ratio, Temperature, Time, Velocity, Current, Resistance and Voltage). Neos has this functionality internally, but it can be quite useful in some cases, if at very least for converting units.

Also fixing another source of crash with Uri node.

[h2]New Features:[/h2]
- Added "Precision" grab mode
-- Instead of a large grab sphere in the palm that grabs everything in the vicinity, this grabs the single closest item between the tips of Index and Thumb finger on the hand
-- You can enable this through the context menu of given hand. If this is popular enough, we might make it the default, but we'll have to get some feedback on it first. Try it out and let us know what you think!
- Added "Auto" grab mode
-- This switches between precision and palm grab based on the orientation of the hand - if the palm is facing upwards or downvarts, palm grab is used, otherwise (hand is more sideways) precision grab is used
- Added "Laser Only" grab mode
-- This will disable hand grabbing completely and will only use laser for grabbing

- Added ParseQuantity LogiX node which will parse string as a particular quantity
- Added FormatQuantity LogiX node, which formats any of the supported quantities as particular unit
-- If FormatUnit is null, it will try to use best possible unit based on the provided value
-- You can optionally use long unit names
- Added BaseValue and FromBaseValue nodes which allow converting between a quantity and its base value (double)

[h2]Tweaks:[/h2]
- Added Neos Festa 3 Participant badge (requested by @orange)
- Removed Neos Festa 3 exhibitor badge from the session menu

- Merged Finnish locale additions and fixes for Universe by @Toni Kat

[h2]Bugfixes:[/h2]
- Fixed UriInput node throwing exceptions when the Uri is null, instead of properly displaying "null" and causing crash (reported by @ScarsTRF, GH #3010)

2021.9.14.1024 - Undo for LogiX input nodes, tweaks and fixes

Just a small update with a few tweaks and bugfixes. We'll be focusing on some bigger things that will take some time, so I want to push these out so they're not held up.

Compatible with previous build, but some of these won't take effect unless everyone (especially host) is on the latest build.

[h2]Tweaks:[/h2]
- Set null button on LogiX input nodes is now undoable (requested by @AshtonSparx, GH #3006)
- Type input node now has null button as well
- Added "Install NeosVR on Android Phone.bat" to the android-preview branch (requested by @kazu0617 Neos:kazu, GH #3007)

- Merged Korean Universe locale strings by @MirPASEC
- Merged Japanese Universe locale strings by @Aesc/あすく

[h2]Bugfixes:[/h2]
- Fixed undoing changes on Logix input nodes not actually updating the node value
-- Note that if you have existing saved nodes, it will not work correctly. You need to pack and unpack to get the fixed behavior
- Fixed IsTooltipInUse node breaking when evaluated by user that's not holding the tooltip (reported by @AshtonSparx, GH #3001)
- ITriggerActionReceiver components are now ignored when they're disabled
-- This fixes disabled InteractiveCamera component capturing photos when it's part of hierarchy of grabbed object, but disabled (reported by @AshtonSparx, GH #3000)

2021.9.13.981 - DynamicBoneChain simulation is multithreaded, tweaks and fixes

Hello everyone! Got another smaller build for you, but hopefully with some more nice goodies! Notably the rework of the DynamicBoneChain system brings another fruit - the simulation itself now runs multithreaded, which should give another performance boost! There's still lots of optimizations to be done overall, but things should improve bit by bit.

Other than that there's some small additions, tweaks and fixes to things here and there.

[h2]New Features:[/h2]
- Added EmptyString LogiX node (requested by @kazu0617 Neos:kazu, GH #3003)
- Added NullString LogiX node
- Added lightsecond support to distance parsing & formatting
- Added ∅ button to String & Uri input nodes to set them back to null (based on request by @kazu0617 Neos:kazu, GH #3003)

[h2]Optimizations:[/h2]
- DynamicBoneChain simulation is now multithreaded for improved performance
-- Note that this currently only covers the actual numeric simulation stage. Multi-threading more parts will require some extensions of the data model (see our Performance roadmap for more detail)
-- Debug dialog now displays diagnostic information for the major stages
Tweaks:
- Uri input node can now be created using the secondary shortcut (pulling a wire out and pressing secondary) (requested by @kazu0617 Neos:kazu, GH #2996)
- Searching Animation track with null string for Node/Property will now match tracks that have no name (empty string)
-- Node/Property of animation track cannot be null, they are always auto-converted to empty string on import
-- This fixes confusion when trying to find imported tracks that have Node/Property set to null and trying to match it to null (reported by @kazu0617 Neos:kazu, GH GH #3002)
- Text renderer will no longer display the NullContent value when the caret position is active
- String & Uri input nodes will now display "null" when the text is actually null
- MaterialApplyPolicy now works with Skyboxes (implemented by @ProbablePrime | Docs, GH #2329)
- You can now export specific mesh through reference to a MeshRenderer (based on report by @Khosumi, @H3BO3, @Kyuubi, @Enverex, GH #2780)

- Merged Japanese locale additions (including The Universe) by @Aesc/あすく and @kazu0617 Neos:kazu
- Merged The Universe Finnish locale additions by @Toni Kat
- Merged Korean locale additions by @MirPASEC

[h2]Bugfixes:[/h2]
- Fixed decoding of Uri strings from persisted data breaking on certain Uri values
- InteractiveCamera will no longer parent itself under the root when its parent is destroyed and it has no simulating user (reported by @AshtonSparx, GH #2988)
- Fixed Animator breaking when Animation asset is created, but data is null (based on report by @jeana and @Psychpsyo, GH #2920)

2021.9.12.1084 - Improved SI Unit parsing and formatting, fix crash due to Uri

Pushing an extra small build with some improvements to unit parsing and formatting since I forgot to add these to the previous build.

Also patch for a bug causing session crash. Compatible with previous builds, but update is recommended.

[h2]Tweaks:[/h2]
- Micrometers now accept 'µ' (U+00B5), 'μ' (U+03BC) and 'u' during parsing (based on report by @Chroma | Mass Communications, @Ryuvi | Technical Artist, @Nexulan | Producer and others)
-- This fixes micrometers not parsing properly in some cases, due to Unicode defining multiple symbols
- Added more common SI units for Distance - pico, femto and atto (previously it would at most use nanometers)
- Angstrom is no longer classifed as common Distance unit
- Parsecs are no longer classified as common unit (meaning at most light years will be used during auto-formatting)

[h2]Bugfixes:[/h2]
- Fixed Uri decoding resulting in a session crash for other users in the session (reported by @3x1t_5tyl3, @Lexevo, GH #2995)

2021.9.12.967 - Uri Input & Display nodes, fixed head movement lag in desktop

Hello everyone! Just a small build again, we're still crunching the educational demo so that takes most of the time now, but here are some small additions and bugfixes to help some issues that popped up recently!

[h2]New Features:[/h2]
- Added Uri overloads to Request Host Access & IsHostAccessAllowed nodes (requested by @Earthmark, GH #2991)
-- It's recommended to use those nodes when possible, as they automatically parse and extract the host and port from the URL
- Added Uri Input node
- Added Uri display node

- Added OverrideFarTransitionOffset to ScaleObject which allows overriding the global FarTransitionOffset per object
- Added CustomTransition and TransitionLerp to ScaleObject
-- Enabling this will avoid the size transition of the object and instead provide a lerp value for handling a custom transition (e.g. fading in/out)
- Added Randomize Locations to ScaleObjectManager
-- This will randomly place all objects around on the XZ axis, preserving their current distance from the center

[h2]Tweaks:[/h2]
- Merged workaround from BEPUv2 for very dense meshes (relative to player size) causing heavy lag
-- This workaround will skip smoothing out triangle boundaries when the character collides with large number of triangles at once
-- The mesh colliders can become "bumpy" if they're too dense due to the missing boundary smoothing
-- While this reduces the duration of the lag spike, dense mesh colliders will still have negative impact on performance. Please use optimized colliders where you can!
- Removed diagnostic logging for the world master time synchronization
-- I'm removing this because the issue seems resolved. If it still persists let us know and we'll readd it

[h2]Bugfixes:[/h2]
- Fixed regression causing the IK head to lag by a frame behind in desktop mode (reported by @epicEaston197, @SeventhVoid, @MinkyFox, @Cyro, GH #2992, GH #2990)
-- This was fixed by ensuring that update order of input event receivers and input groups is respected between the two groups, instead of just within each group (with input event receivers updating before input groups)
-- Reversed the sorting of input groups by Priority so correspond to the UpdateOrder of components
- Fixed allowedUrlHosts in headless config not properly parsing port numbers when a scheme isn't provided, resulting in URLs for HTTP(s) addresses not being granted access (reported by WallTack, GH #2993)
- Fixed ScaleObject jumping to a random offset when released within the CenterOffsetRadius