Fix one frame visual transform delay #89

Merged
EIREXE merged 2 commits from one_frame into master 2026-10-12 20:21:12 +00:00
Showing only changes of commit 10cad6d944 - Show all commits
+13 -2
View File
@@ -171,21 +171,32 @@ pub fn animation_debug(
&FighterTranslation, &FighterTranslation,
&FighterFacingDirection, &FighterFacingDirection,
&FighterBoneMatrices, &FighterBoneMatrices,
&Fighter,
)>, )>,
mut gizmos: Gizmos, mut gizmos: Gizmos,
fighter_manifests: Res<Assets<FighterManifest>>,
) { ) {
for (global_transform, facing_dir, matrices) in query { for (global_transform, facing_dir, matrices, fighter) in query {
let Some(manifest) = fighter_manifests.get(&fighter.manifest) else {
continue;
};
let global_transform = global_transform.get_3d_transform(facing_dir); let global_transform = global_transform.get_3d_transform(facing_dir);
let marker_transform = global_transform.to_mat4(); let marker_transform = global_transform.to_mat4();
for (_, matrix) in matrices.iter() { for (bone_name, matrix) in matrices.iter() {
let pos = marker_transform.transform_point(Vec3::new( let pos = marker_transform.transform_point(Vec3::new(
matrix.cols[3][0].to_num(), matrix.cols[3][0].to_num(),
matrix.cols[3][1].to_num(), matrix.cols[3][1].to_num(),
matrix.cols[3][2].to_num(), matrix.cols[3][2].to_num(),
)); ));
if manifest.ecb_bones.iter().any(|ecb_bone_name| ecb_bone_name == bone_name) {
gizmos.cross(pos, 1.0, bevy::color::palettes::css::GREEN);
} else {
gizmos.cross(pos, 0.5, bevy::color::palettes::css::RED); gizmos.cross(pos, 0.5, bevy::color::palettes::css::RED);
gizmos.axes(marker_transform, 1.0); gizmos.axes(marker_transform, 1.0);
} }
}
} }
} }