2020.7.29.748 - Capsule procedural mesh, LogiX visuals, RiftS controller model
Sorry for less big stuff, I'm still getting my computer up to speed after clean install, but there are some nice additions, tweaks and important bugfixes!
We now finally have a capsule procedural mesh! :smile: The mesh generation has gotten a bunch of general fixes and optimizations too. There are some tweaks to LogiX visuals as well!
RiftS/Quest touch controllers should now be detected correctly and have a proper model for tutorial, no longer confusing users. I finally fixed an elusive bug with the text rendering, making wrong symbols appear sometimes.
[h2]New Features:[/h2]
- Added "Setup fields by name" to Animator component, which will automatically link up fields in the child hierarchy based on the names in the current animation clip (requested by @Nexulan)
-- You can use this to setup a new Animator on an object without one and animation clip from an other object - e.g. if you have several FBX files, one with actual model and others that have just animations without the model
- Added "Recalculate All Tangents (Mikktspace)" to AssetOptimizationWizard, which will recalculate tangents for all static meshes referenced in the hierarchy with the Mikktspace algorithm (requested by @Enverex)
- Added Capsule procedural mesh (requested by @Aegis_Wolf | Art Director, @Turk and many others before)
-- It's also added to the Create New menu as a primitive
[h2]Tweaks:[/h2]
- Added RiftS/Quest version of the Touch controller model for the contextual tutorial (added by @Rue Shejn | Artist 3D, based on report by @Earthmark and @Hayden (PolyLogiX - ZyroDesign) of CV1 model showing instead and confusing users)
- UseVertexColors to QuadMesh, which allows disabling generation of the color channels on the mesh
-- This can be used to make the mesh compatible with the particle system (based on report by @Rue Shejn | Artist 3D)
- Changed the visual of relays to be less node-like (implemented by @Coffee | Programmer)
- Changed the visual of the LogiX cast nodes to be more compact, similarly to relays
- ShapeTip will now use the Material property as material for newly created shapes (the material is duplicated) (based on feedback by @Starkido)
- Upgraded some more old code to the C# async Task system from the old custom Job system and removed some related old code
- Added a mechanism for specifying quantization ranges for individual controller inputs and set default quantization for most 1D analog inputs to be 0...1 instead of -1...0
-- This doubles the precision of the controller inputs transmitted to other users on the network
-- This should also fix 0 value not decoding exactly as 0 for other users (reported by @I wont shut up about reflections and @Alex from Alaska)
--- However note that any -1...1 or other ranges for quantized inputs are not guaranteed to decode precisely to 0!
- Finger photo gesture now excludes lasers when taking photos (based on report by @Alex from Alaska and @Shifty | Quality Control Lead)
- Public and Listed flags are now cleared by default when saving a copy of a world (based on feedback from @GearBell, @ProbablePrime, @Shifty | Quality Control Lead and others)
- Light Tooltip will set the shadow type when moving the directional light source (requested by @Medra)
- Mesh Normal (re)calculation now ignores degenerate triangles, fixing visual artifacts for meshes that contain them (currently Sphere/Capsule mesh with flat shading generate those due to not handling the special case of top and bottom, but this should at least fix their visuals for time being)
- Some optimizations for mesh normal (re)calculation
- Some optimizations for UVSphere/Capsule procedural generation
- Inspector Slider will automatically format the number as integer for integer fields, rather than float
- Upgraded youtube-dl to 2020.07.28 (from 2020.06.06) (based on report by @Nexulan)
- Removed the native Azure Kinect support from the build (this should help significantly reduce the size of the build)
[h2]Bugfixes:[/h2]
- Fixed text rendering system picking the glyph atlas of a wrong font when it contains rendered glyph with the same glyphID
-- This fixes incorrect symbols appearing in certain cases, typically with certain Unicode and math symbols
-- This also fixes Logix tool showing incorrect characters for "greater than or equal" "less than or equal" and other symbols (reported by @Alex from Alaska)
-- Additional this tweak should somewhat improve performance of generating the mesh data for rendering text due to skipping unecessary dictionary lookups
- Fixed GPU mesh upload not properly clearing unused channels that were previously allocated (e.g. when turning color channel on a mesh that previously used it, it would turn black, rather than reverning to white)
- Fixed Audio Volume Settings being editable from world (reported by @Coffee | Programmer on behalf of @Cyro)
- Fixed normal and tangent calculation for Cone mesh with flat shading (reported by @A Monsoon of Babies)
- Fixed RiftS/Quest model of Touch controllers not being detected when running through SteamVR (reported by @Shifty | Quality Control Lead)

We now finally have a capsule procedural mesh! :smile: The mesh generation has gotten a bunch of general fixes and optimizations too. There are some tweaks to LogiX visuals as well!
RiftS/Quest touch controllers should now be detected correctly and have a proper model for tutorial, no longer confusing users. I finally fixed an elusive bug with the text rendering, making wrong symbols appear sometimes.
[h2]New Features:[/h2]
- Added "Setup fields by name" to Animator component, which will automatically link up fields in the child hierarchy based on the names in the current animation clip (requested by @Nexulan)
-- You can use this to setup a new Animator on an object without one and animation clip from an other object - e.g. if you have several FBX files, one with actual model and others that have just animations without the model
- Added "Recalculate All Tangents (Mikktspace)" to AssetOptimizationWizard, which will recalculate tangents for all static meshes referenced in the hierarchy with the Mikktspace algorithm (requested by @Enverex)
- Added Capsule procedural mesh (requested by @Aegis_Wolf | Art Director, @Turk and many others before)
-- It's also added to the Create New menu as a primitive
[h2]Tweaks:[/h2]
- Added RiftS/Quest version of the Touch controller model for the contextual tutorial (added by @Rue Shejn | Artist 3D, based on report by @Earthmark and @Hayden (PolyLogiX - ZyroDesign) of CV1 model showing instead and confusing users)
- UseVertexColors to QuadMesh, which allows disabling generation of the color channels on the mesh
-- This can be used to make the mesh compatible with the particle system (based on report by @Rue Shejn | Artist 3D)
- Changed the visual of relays to be less node-like (implemented by @Coffee | Programmer)
- Changed the visual of the LogiX cast nodes to be more compact, similarly to relays
- ShapeTip will now use the Material property as material for newly created shapes (the material is duplicated) (based on feedback by @Starkido)
- Upgraded some more old code to the C# async Task system from the old custom Job system and removed some related old code
- Added a mechanism for specifying quantization ranges for individual controller inputs and set default quantization for most 1D analog inputs to be 0...1 instead of -1...0
-- This doubles the precision of the controller inputs transmitted to other users on the network
-- This should also fix 0 value not decoding exactly as 0 for other users (reported by @I wont shut up about reflections and @Alex from Alaska)
--- However note that any -1...1 or other ranges for quantized inputs are not guaranteed to decode precisely to 0!
- Finger photo gesture now excludes lasers when taking photos (based on report by @Alex from Alaska and @Shifty | Quality Control Lead)
- Public and Listed flags are now cleared by default when saving a copy of a world (based on feedback from @GearBell, @ProbablePrime, @Shifty | Quality Control Lead and others)
- Light Tooltip will set the shadow type when moving the directional light source (requested by @Medra)
- Mesh Normal (re)calculation now ignores degenerate triangles, fixing visual artifacts for meshes that contain them (currently Sphere/Capsule mesh with flat shading generate those due to not handling the special case of top and bottom, but this should at least fix their visuals for time being)
- Some optimizations for mesh normal (re)calculation
- Some optimizations for UVSphere/Capsule procedural generation
- Inspector Slider will automatically format the number as integer for integer fields, rather than float
- Upgraded youtube-dl to 2020.07.28 (from 2020.06.06) (based on report by @Nexulan)
- Removed the native Azure Kinect support from the build (this should help significantly reduce the size of the build)
[h2]Bugfixes:[/h2]
- Fixed text rendering system picking the glyph atlas of a wrong font when it contains rendered glyph with the same glyphID
-- This fixes incorrect symbols appearing in certain cases, typically with certain Unicode and math symbols
-- This also fixes Logix tool showing incorrect characters for "greater than or equal" "less than or equal" and other symbols (reported by @Alex from Alaska)
-- Additional this tweak should somewhat improve performance of generating the mesh data for rendering text due to skipping unecessary dictionary lookups
- Fixed GPU mesh upload not properly clearing unused channels that were previously allocated (e.g. when turning color channel on a mesh that previously used it, it would turn black, rather than reverning to white)
- Fixed Audio Volume Settings being editable from world (reported by @Coffee | Programmer on behalf of @Cyro)
- Fixed normal and tangent calculation for Cone mesh with flat shading (reported by @A Monsoon of Babies)
- Fixed RiftS/Quest model of Touch controllers not being detected when running through SteamVR (reported by @Shifty | Quality Control Lead)


