feat(ufbx): switch to native ufbx_vec/quat/matrix types

Replaces all Misaki.HighPerformance.Mathematics vector, quaternion, and matrix types in Ghost.Ufbx bindings with new native ufbx_vec2, ufbx_vec3, ufbx_vec4, ufbx_quat, and ufbx_matrix structs. Updates all interop code, struct fields, and API signatures accordingly. Adds struct definitions for the new types and provides matrix operations as struct methods. Removes unnecessary math package reference. Also includes minor fixes to system attributes, meshlet LOD logic, and mesh utility.

BREAKING CHANGE: All Ufbx-related APIs now use ufbx_* types instead of Misaki.HighPerformance.Mathematics types. Existing code using the old types will require updates.
This commit is contained in:
2026-04-07 23:50:55 +09:00
parent a5c10cfe5a
commit 0fc449bc78
60 changed files with 694 additions and 415 deletions

View File

@@ -34,22 +34,19 @@ namespace Ghost.Ufbx
public ufbx_transform transform_offset;
[NativeTypeName("ufbx_vec3")]
public Misaki.HighPerformance.Mathematics.float3 aim_vector;
public ufbx_vec3 aim_vector;
public ufbx_constraint_aim_up_type aim_up_type;
public ufbx_node* aim_up_node;
[NativeTypeName("ufbx_vec3")]
public Misaki.HighPerformance.Mathematics.float3 aim_up_vector;
public ufbx_vec3 aim_up_vector;
public ufbx_node* ik_effector;
public ufbx_node* ik_end_node;
[NativeTypeName("ufbx_vec3")]
public Misaki.HighPerformance.Mathematics.float3 ik_pole_vector;
public ufbx_vec3 ik_pole_vector;
[UnscopedRef]
public ref ufbx_element element