Latios Framework for ECS

repository·master·Indexed 23 days ago

https://github.com/dreaming381/latios-framework

A collection of tools, algorithms, and API extensions for ECS, version 0.15.12. Includes modules for Core, QVVS Transforms, Calci Math and Algorithms, Psyshock Physics, Myri Audio, Kinemation Animation and Rendering, Caligraphics Text and UI, LifeFX VFX, and Unika Scripting.

Tokens
420
Snippets
0
Records
2
Agent score
30%

What's inside Latios Framework

  1. Manage Skinned Mesh Culling with PostProcessMatrix

    master

    Because the current Unity Transforms compatibility mode does not automatically detect when a skinned mesh requires the slow culling path (due to scale or shear), the user is responsible for managing the PostProcessMatrix.

    To ensure accurate culling for skinned meshes that do not have a LocalToWorld identical to their parent skeleton, you must manually specify a PostProcessMatrix.

  2. Known limitations of Unity Transforms compatibility mode

    master

    When using the Unity Transforms compatibility mode in Latios Framework, be aware of the following functional consequences and limitations:

    • Baking Issues: Optimized skeletons may bake children of exported bones in incorrect positions. These positions will only correct themselves once animation begins, meaning they will appear incorrect within the Unity Editor.
    • Motion Vectors Timing: For normal meshes, the motion vector system updates at the beginning of SimulationSystemGroup instead of PresentationSystemGroup.
    • Skinned Mesh Motion Vectors: Motion vectors for skinned meshes attached to exposed skeletons are currently not supported.
    • Collision Layers: Psyshock CollisionLayers generated from Entity Queries only account for position and rotation, ignoring scale and shear.
    • Skinning Limitations: Exposed skeletons only utilize the position and rotation of bones for skinning.
    • Bone Export Constraints: Exported bones only receive position, rotation, and uniform scale from the optimized skeleton; any stretch data is ignored.
    • Culling Accuracy: Skinned meshes must have a LocalToWorld identical to their parent skeleton, or you must provide a properly specified PostProcessMatrix. Failure to do so will result in inaccurate culling.