2020.5.8.141 - More Radiant UI laser additions, tweaks and fixes, matrix nodes
Several more additions to new laser (passing through transparent UI areas, passing through to gizmos with developer tool, activating by light trigger press, context cursor icons), more LogiX nodes for working with matrices (packing/unpacking), cone emitter update and bunch of other additions, tweaks and bugfixes.
[h2]New Features:[/h2]
- Added "Laser Passthrough" mechanism and enabled it for some canvases (notification panel, context without middle visual)
-- This lets the laser pass through the canvas collider if it doesn't hit any visual
-- This fixes the laser being blocked by large collider for the notifications, even if only one is shown (reported by @GearBell and others before)
-- This restores the ability to double-click on the world orbs to open them, by the laser simply passing through the middle of the context menu
- Added preferred/allowed hit mechanism for tooltips to allow them to make laser pass through objects if they would hit a preferred target
-- This is now used on developer tooltip, making the laser pass through the object if it would hit a gizmo
- Added context specific cursor system for the laser - grabbables, touchables, sliders and text fields now have their own unique cursor to help indicate the actions
-- Cursor icons made by @Coffee, they're not final versions and will receive graphical tweaks after this initial release
- Laser is now also activated at light trigger touch (based on request by @Shifty, @GearBell, @Turk and others)
-- If you let go without fully clicking, laser will immediatelly go away
-- If you grab object without fully activating laser by clicking trigger and then let go of trigger, you will hold the object without the laser being shown (this actually came as a side-effect of the implementation, but it seems interesting, so let me know how this feels)
- Added more LogiX nodes to work with matrices (requested by @Earthmark, @Zegopharo, @H3BO3 and others):
-- Pack/Unpack Rows/Columns (allows constructing/deconstructing matrices from vectors)
-- GetElement (returns element at specific row and column)
-- Transpose
-- Constructing matrices: TRS (Position, Rotation, Scale), RotationScale, Rotation, Scale
-- Decomposed Position/Rotation/Scale
- Added "Flash Root" output to the Flash Highlight Hierarchy, which allows custom actions performed with the highlight visual (e.g. deleting it early)
-- By setting the duration to infinity, this can be used to keep the highlight active indefinitely and delete it when desired (requested by @SHFR_H a while back)
- Added "DirectionReferencePoint" to ConeEmitte and SphereEmitterr, which allows adjusting the reference point for particle emit DirectionCenter
-- For new instances of ConeEmitter, this is set to [0; -1; 0] by default, making the particles emit along the direction of the cone from the tip(requested by @Enverex)
- Added ConstantSlerp (requested by Ifrogotwhosorry ;_;)
- Added a mechanism that auto-updates default locomotion icons (new icons to come soon, let me know if this resets your custom icons)
[h2]Tweaks:[/h2]
- Laser will now color itself green when it hits a custom interaction target (e.g. tool interaction target and other objects that are not grabbable or touchable)
- Added auto-respawn when the user transform becomes corrupted (Infinity/NaN) or goes too far (more than 1e5 units in any direction)
- Hidden the source of the orange (requested by @Coffee)
- Upgraded to Unity 2019.3.13f1 (from 2019.3.12f1)
[h2]Bugfixes:[/h2]
- Fixed asset variant system failing to generate RawRGBA variants for input textures with more than 8 bits per channel (e.g. 64-bit PNG) (based on report by @Enverex)
- Hardened permission system verification for inspectors and other building UI's (based on report by @ProbablePrime and @LeDrascol)
- Fixed avatars being equipped when clicked with a tool (reported by @ProbablePrime)
- Added guards against invalid laser smoothing parameters to prevent the lasers from breaking (based on report by @Shifty)

[h2]New Features:[/h2]
- Added "Laser Passthrough" mechanism and enabled it for some canvases (notification panel, context without middle visual)
-- This lets the laser pass through the canvas collider if it doesn't hit any visual
-- This fixes the laser being blocked by large collider for the notifications, even if only one is shown (reported by @GearBell and others before)
-- This restores the ability to double-click on the world orbs to open them, by the laser simply passing through the middle of the context menu
- Added preferred/allowed hit mechanism for tooltips to allow them to make laser pass through objects if they would hit a preferred target
-- This is now used on developer tooltip, making the laser pass through the object if it would hit a gizmo
- Added context specific cursor system for the laser - grabbables, touchables, sliders and text fields now have their own unique cursor to help indicate the actions
-- Cursor icons made by @Coffee, they're not final versions and will receive graphical tweaks after this initial release
- Laser is now also activated at light trigger touch (based on request by @Shifty, @GearBell, @Turk and others)
-- If you let go without fully clicking, laser will immediatelly go away
-- If you grab object without fully activating laser by clicking trigger and then let go of trigger, you will hold the object without the laser being shown (this actually came as a side-effect of the implementation, but it seems interesting, so let me know how this feels)
- Added more LogiX nodes to work with matrices (requested by @Earthmark, @Zegopharo, @H3BO3 and others):
-- Pack/Unpack Rows/Columns (allows constructing/deconstructing matrices from vectors)
-- GetElement (returns element at specific row and column)
-- Transpose
-- Constructing matrices: TRS (Position, Rotation, Scale), RotationScale, Rotation, Scale
-- Decomposed Position/Rotation/Scale
- Added "Flash Root" output to the Flash Highlight Hierarchy, which allows custom actions performed with the highlight visual (e.g. deleting it early)
-- By setting the duration to infinity, this can be used to keep the highlight active indefinitely and delete it when desired (requested by @SHFR_H a while back)
- Added "DirectionReferencePoint" to ConeEmitte and SphereEmitterr, which allows adjusting the reference point for particle emit DirectionCenter
-- For new instances of ConeEmitter, this is set to [0; -1; 0] by default, making the particles emit along the direction of the cone from the tip(requested by @Enverex)
- Added ConstantSlerp (requested by Ifrogotwhosorry ;_;)
- Added a mechanism that auto-updates default locomotion icons (new icons to come soon, let me know if this resets your custom icons)
[h2]Tweaks:[/h2]
- Laser will now color itself green when it hits a custom interaction target (e.g. tool interaction target and other objects that are not grabbable or touchable)
- Added auto-respawn when the user transform becomes corrupted (Infinity/NaN) or goes too far (more than 1e5 units in any direction)
- Hidden the source of the orange (requested by @Coffee)
- Upgraded to Unity 2019.3.13f1 (from 2019.3.12f1)
[h2]Bugfixes:[/h2]
- Fixed asset variant system failing to generate RawRGBA variants for input textures with more than 8 bits per channel (e.g. 64-bit PNG) (based on report by @Enverex)
- Hardened permission system verification for inspectors and other building UI's (based on report by @ProbablePrime and @LeDrascol)
- Fixed avatars being equipped when clicked with a tool (reported by @ProbablePrime)
- Added guards against invalid laser smoothing parameters to prevent the lasers from breaking (based on report by @Shifty)


