2020.5.9.132 - BC3nm/DXTnm compression seeding, laser tweaks and bugfixes
Sorry for smaller build today, spent some time at the livestream. This build is first phase of adding new texture asset variant "BC3nm" (typically known as DXT5nm) designed specifically for normal maps. This remaps the first two channels into alpha and GB channels and compresses using BC3 with encoder settings more suitable for normal maps. This produces significantly higher normal maps and should get rid of the blocky artifacts.
You will still see the artifacts in this build, but all normal map textures are marked by materials and scheduled on the cloud to be computed. All Neos shaders also need to be recompiled to decode those normal maps, which will take at least 2 days. During this time a lot of them should already be compressed, so when we make the switch it'll be faster and you won't have to wait too much for stuff to load!
Also some more tweaks and bugfixes for the new laser system and scaling.
[h2]New Features:[/h2]
- Added new texture variant: BC3nm (DXT5nm) - normal map with Y packed into GB channels and X into A channel and the block compression using parameters more suitable for normal maps, offering higher detail and less compression artifacts
-- This isn't used by Neos yet, shaders need to be recompiled for this, but this allows the cloud to seed and precompute those variants in advance
- Added automatic marking of textures assigned as NormalMap in materials as normal maps to help prepare the system for a transition
- Added seeding of block compressed normal maps variants - any texture marked as normal map will now be compressed as BC3nm in the cluod
- Added "Decode As Normal Map" property to Unlit Material and UI Unlit Material, which will decode the texture color data as a normal map (can be used for visualization of packed normal maps)
- Added axisDeadZone configuration option to the Config.json, which allows setting deadzone for joystick/touchpad (based on issue by @RueShejn)
[h2]Tweaks:[/h2]
- Lowered the laser soft-pull activation threshold so they trigger before the click event with Oculus Touch controllers (based on report by @Shifty)
- When grabbing, the laser will now visually stick to the initial point on "indirect" grabbables - joints, sliders and so on, rather than the movement reference
- Updated youtube-dl to 2020.05.08 (based on report by @Lewi-bean | Audio Designer)
[h2]Bugfixes:[/h2]
- Fixed trigger locking up when using Oculus with SteamVR, making lasers not re-appear and preventing tools from working (reported by @guillefix, @Cyro, @Jeff07734, tested by @Shifty)
- Fixed incorrect tooltip check, causing avatars to not be equippable (reported by @ProbablePrime)
- Fixed texture compression not respecting threading limitation when the soure texture isn't in the right channel format
- Fixed the new passthrough laser search not returning the first found touchable when going through a collider
- Fixed regression where laser wouldn't penetrate through a collider in the userspace to find a touchable, causing some interactions with private UI to be unreliable
- Fixed laser activating with tools that don't use laser (based on report by @Coffee)
- Fixed not being able to use the "Reset Scale" option when scaled to a different size by external means with scaling disabled (reported by @Shifty)

You will still see the artifacts in this build, but all normal map textures are marked by materials and scheduled on the cloud to be computed. All Neos shaders also need to be recompiled to decode those normal maps, which will take at least 2 days. During this time a lot of them should already be compressed, so when we make the switch it'll be faster and you won't have to wait too much for stuff to load!
Also some more tweaks and bugfixes for the new laser system and scaling.
[h2]New Features:[/h2]
- Added new texture variant: BC3nm (DXT5nm) - normal map with Y packed into GB channels and X into A channel and the block compression using parameters more suitable for normal maps, offering higher detail and less compression artifacts
-- This isn't used by Neos yet, shaders need to be recompiled for this, but this allows the cloud to seed and precompute those variants in advance
- Added automatic marking of textures assigned as NormalMap in materials as normal maps to help prepare the system for a transition
- Added seeding of block compressed normal maps variants - any texture marked as normal map will now be compressed as BC3nm in the cluod
- Added "Decode As Normal Map" property to Unlit Material and UI Unlit Material, which will decode the texture color data as a normal map (can be used for visualization of packed normal maps)
- Added axisDeadZone configuration option to the Config.json, which allows setting deadzone for joystick/touchpad (based on issue by @RueShejn)
[h2]Tweaks:[/h2]
- Lowered the laser soft-pull activation threshold so they trigger before the click event with Oculus Touch controllers (based on report by @Shifty)
- When grabbing, the laser will now visually stick to the initial point on "indirect" grabbables - joints, sliders and so on, rather than the movement reference
- Updated youtube-dl to 2020.05.08 (based on report by @Lewi-bean | Audio Designer)
[h2]Bugfixes:[/h2]
- Fixed trigger locking up when using Oculus with SteamVR, making lasers not re-appear and preventing tools from working (reported by @guillefix, @Cyro, @Jeff07734, tested by @Shifty)
- Fixed incorrect tooltip check, causing avatars to not be equippable (reported by @ProbablePrime)
- Fixed texture compression not respecting threading limitation when the soure texture isn't in the right channel format
- Fixed the new passthrough laser search not returning the first found touchable when going through a collider
- Fixed regression where laser wouldn't penetrate through a collider in the userspace to find a touchable, causing some interactions with private UI to be unreliable
- Fixed laser activating with tools that don't use laser (based on report by @Coffee)
- Fixed not being able to use the "Reset Scale" option when scaled to a different size by external means with scaling disabled (reported by @Shifty)


