diff --git a/studio/src/scene.rs b/studio/src/scene.rs index dcf6555..d615818 100644 --- a/studio/src/scene.rs +++ b/studio/src/scene.rs @@ -321,10 +321,16 @@ fn tag_scene_elements( fn tag_skeleton( mut cmd: Commands, + r_active_scene: Res, + r_scene_spawner: Res, q_joints: Query>, q_parents: Query>, ) { - let joints: Vec<_> = q_joints.iter().collect(); + let joints = r_scene_spawner + .iter_instance_entities(**r_active_scene) + .filter(|&ent| q_joints.contains(ent)) + .collect::>(); + if let Some(root) = algo::nearest_common_ancestor(&joints, &q_parents) { cmd.entity(root).insert(Skeleton); }