1. Neos VR
  2. News
  3. 2020.8.3.1234 - UIX RawGraphic, Xiexe Blend Modes, networking and UIX fixes...

2020.8.3.1234 - UIX RawGraphic, Xiexe Blend Modes, networking and UIX fixes...

More goodies related to the work on the new World UI! New RawGraphic for UIX, UI masking / stencil support for Projection 360 and more.

Xiexe Toon material has gotten upgrades as well, with support for all blending modes that Flat Lit Toon had and there's now full conversion function, which should translate old Flat Lit Toon nearly 1:1. I'll deprecate Flat Lit Toon and auto-convert everthing soon, THIS IS YOUR LAST CHANCE to report any missing things or problems with conversion before it's forced!

Tweaks and bugfixes for networking are included as well. Friends list will now use LAN IP if available when joining and the relay not working correctly has been fixed. Sessions that have ended are now correctly detected again, rather than hanging on connecting endlessly. And also another elusive bug causing UIX to stop updating was finally fixed!

[h2]New Features:[/h2]
- Added RawGraphic UIX graphic, which allows using raw material and material property block in UIX
-- It supports auto-adjusting UV's to preserve aspect ratio of given RectTransform it's on
-- It also supports generating optional Normal and Tangent data, which is necessary for certain materials (e.g. PBR materials, which can now be used with UIX if they're propertly configured)
-- It also supports a custom material property block, which allows efficiently sharing a single material, while overriding certain properties
- Added BlendMode support for Xiexe Toon Material (it now supports, Opaque, Cutout, Transparent, Alpha, Additive and Multiply) (requested by @Turk )
- Added OffsetUnit, OffsetFactor, ZWrite and ZTest support to Xiexe Toon (requested by @Hayden (PolyLogiX - ZyroDesign))
- Added Stencil, ColorMask and RectClip support to Projection360 shader, making it work correctly with masking in UIX canvases
- Added Pressing and HoverStay events to buttons (UIX Button and Physical Button), which are fired for the whole duration of hover or press
-- Button Events node now exposes those new events as well
- Added Projection360PropertyBlock which allows overiding the texture and perspective projection parameters efficiently
- Added SizeCompensation to VideoPlayer, which allows compensating the aspect ratio of the video playback (based on feedback by @CuriousVR#9828)
-- The video importer will also setup [0.5, 1] compensation for horizontal stereo and [1, 0.5] for vertial by default, to prevent videos from being squished
- Added "OverrideOwnerId" to Workspace, which allows loading workspace of another user/group and can be used to easily load customized UI's for various events (added based on request by @Karel | CEO on behalf of @jasonmo for the Metamovie project)
-- This is currently restricted to the Neos groups for safety reasons, mechanism to add more allowed owners will be added later
- Added "Readonly" to Workspace, which prevents the workspace from being saved on changes
- Added conversion code from Flat Lit Toon to Xiexe Toon, which tries to match the look as closely as possible
-- IMPORTANT!!! Since Xiexe now should have pretty much feature parity with Flat Lit Toon in Neos, I'll be removing Flat Lit Toon soon and auto-converting all instances. THIS IS YOUR LAST CHANCE to check for any conversion problems and report them (they will still be fixable afterwards for old content, but you'll have to live with them until they're fixed)

[h2]Tweaks:[/h2]
- LogiX relay nodes (value and Impulse) will now "dissolve" when deleted with visible visuals (implemented by @Coffee | Programmer)
- Common material interface now also defines normal map scale/offset and normal scale, making those properties transfer when converting materials if they're present and supported
- Changed the default shadow ramp for Xiexe Toon to use a softer one (based on suggestion from I-forgot-who-sorry ;_;)
- Added TikTok to supported video services for direct import (requested by @Theo | Video Production)

[h2]Bugfixes:[/h2]
- Joining users through the friends list will now fetch locally discovered session info if it's available
-- This will allow the connection to be made directly on LAN if possible, rather than going through the cloud, fixing where it's not possible to connect to local sessions/headless on some networks (based on report by @Tekno Catron)
- Fixed a race condition in Text component, which would randomly break UIX canvas, causing it to stop updating (could be pretty rare, to common depending on the system) (reported and many logs from testing builds provided by @KierDran to fix this issue)
- Fixed OpenWorld not opening the world after it has already been opened once, unless the WorldLink is changed (reported by @Dante)
- Added extra logging for developer tooltip exceptions when selecting objects to help diagnose problem with long freezes (based on report by @Shifty | Quality Control Lead)
- Fixed incorrect detection of sessions that have ended, causing them to get stuck on "Establishing connection" rather than giving an error (reported by @Hayden (PolyLogiX - ZyroDesign) , @Enverex, @Anomalous and others)
- Fixed cloud relay not parsing the new session URL's correctly after recent changes, causing the connection to get stuck when NAT punchthrough doesn't work (based on report by @AdmiralSoap through @Shifty | Quality Control Lead)
- Fixed StringRemove node throwing an exception when the number of characters to remove is less than 0 (reported by @Alex from Alaska)