1. Neos VR
  2. News
  3. 2021.5.17.871 - Desktop view mode LogiX nodes, Type Input Node, world crash fix

2021.5.17.871 - Desktop view mode LogiX nodes, Type Input Node, world crash fix

Hello everyone! Sorry for another smaller build, it's been a bit difficult for me to focus lately, but there are some small goodies and tweaks to the Desktop stuff and other things.

There are now nodes that you can use to get the active view targeting module and whether the view reference visual is active (independent of the visual itself, it just indicates if it "should" be active).

There's now also Type Field and Type Input Node! These are strongly recommended whenever you work with types (e.g. checking if something is of certain type) as they allow the reference types to be upgraded when we make internal changes without breaking your content.

There's some internal additions too, notably a new mechanism for upgrading fields that change their value/meaning in some way and automatically insert "adapter" when they're driven or referenced to old content keeps working. This in preparation for the ongoing transition from Gamma to Linear, but it's a general mechanism we'll use in future whenever upgrading some behaviors.

Fixed up a bunch of issues and crashes as well, hopefully things will be good now!

[h2]New Features:[/h2]
- Added UserPrimaryHand LogiX node (under Users) which indicates user's primary hand (based on request by @Epsilion)
- Added UserActiveViewTargettingController node (under Users) which outputs the currently active view targetting controller (first person, third person, UI camera, Freeform and any future ones) (based on request by @LeDrascol)
- Added UserViewReferenceActive which indicates if given user has currently active view reference (based on request by @LeDrascol)
-- This is True whenever the visual for view reference in Freeform camera and UI aligned camera are active
- Added TypeField (under Data), which stores a Type (similar to ValueField and ReferenceField)
-- It's highly recommended to use this as basis for any type comparisons, as in case of types being renamed or moved, it can be auto-upgraded
- Added Type Input LogiX node, for Type values
-- If you're checking and matching Type of an object (e.g. the ViewTargettingController), it's STRONGLY recommended to use GetType and compare that to the value you set on Input LogiX node. If you compare the string instead, it's likely that your content WILL BREAK and without ability to automatically fix it. Using Type Input node or TypeField lets us upgrade old types in case of internal changes

- Added internal "FieldAdapter" mechanism for upgrading old data model to ensure compatibility with existing content
-- This mechanism automatically converts old values in-place or inserts adapter that translates them in realtime in case they're driven or referenced by other components/LogiX
-- This is encessary for the upcoming switch to Linear space for upgrading old colors and keeping old setups working similarly enough, but is a general mechanism that will be used for many other aspects in the future
- Added OverrideOwner field to CloudValueVariableDriver which allows overriding owner of the variable value (based on request by @Psychpsyo)
-- This allows locally driving fields with different variables/owners
- Merged new MTC strings by @Rue Shejn | Artist 3D for the upcoming MTC Streamer room

[h2]Tweaks:[/h2]
- Upgraded Oculus Integration to 28.0, which includes OVRPlugin 1.59.0 (previously 1.57.0) and OVRLipSync v20
- MultiLerp node overloads that handle floating point types will now output NaN when the Lerp input is NaN (based on feedback by @chemicalcrux)

[h2]Bugfixes:[/h2]
- Fixed Standalone 360 mode not working properly with the new Desktop system (reported by @ooBLANKAoo)
-- The mode was also renamed to "Screen 360"
-- Note that the Dash overlay currently renders in regular mode (this can be changed on request)
- Fixed ReferenceMultiplexer throwing exceptions when the Index is out of range (found in a log from @ProbablePrime)
-- Its behavior is now consistent with ValueMultiplexer
- Fixed world crash in some cases when the user gets destroyed due to ViewReferenceController running post-physics update (reported by @Rue Shejn | Artist 3D, @ProbablePrime and @OH⅄ƎHOHO⅄)
- Added compensation for Linux scroll values being significantly smaller than on Windows, causing scrolling to be unusably slow (reported by @/home/JellyOsaurusPC)
- Fixed reference feet orientation being computed incorrectly for users using fullbody tracking
-- This fixes users in fullbody spawning at odd angles for CommonSpawnArea with RotationNode set to Feet (reported by @3x1t_5tyl3, @Turk | Mentor Lead/Manager, @Robyn (QueenHidi), @Shadow Panther [RU/EN, UTC+3], @AshtonSparx and others)