From 7fbed1dbd6fdba4c103cec2c35ad53527eee9128 Mon Sep 17 00:00:00 2001 From: Christopher Biscardi Date: Sat, 20 Dec 2025 05:38:43 -0800 Subject: [PATCH 1/3] add note to flag --- crates/bevy_gltf/src/loader/mod.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/bevy_gltf/src/loader/mod.rs b/crates/bevy_gltf/src/loader/mod.rs index 77339cfa95bef..070660a132ca0 100644 --- a/crates/bevy_gltf/src/loader/mod.rs +++ b/crates/bevy_gltf/src/loader/mod.rs @@ -151,6 +151,13 @@ pub struct GltfLoader { pub default_sampler: Arc>, /// The default glTF coordinate conversion setting. This can be overridden /// per-load by [`GltfLoaderSettings::convert_coordinates`]. + /// + /// Setting any of these values to true will result in the relevant entities + /// moving in the opposite direction when using the forward direction. + /// This means that within a scene, different entities will move in different + /// directions when using the forward direction. + /// There is no combination of flags that will make all entities in a scene + /// move in the same foward direction. pub default_convert_coordinates: GltfConvertCoordinates, /// glTF extension data processors. /// These are Bevy-side processors designed to access glTF From a9325b73f1c5dca1c304805ba8dc52f114e2f257 Mon Sep 17 00:00:00 2001 From: Christopher Biscardi Date: Sat, 20 Dec 2025 06:15:07 -0800 Subject: [PATCH 2/3] gltf flag docs note --- crates/bevy_gltf/src/loader/mod.rs | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/crates/bevy_gltf/src/loader/mod.rs b/crates/bevy_gltf/src/loader/mod.rs index 070660a132ca0..d62caae32f07a 100644 --- a/crates/bevy_gltf/src/loader/mod.rs +++ b/crates/bevy_gltf/src/loader/mod.rs @@ -154,10 +154,14 @@ pub struct GltfLoader { /// /// Setting any of these values to true will result in the relevant entities /// moving in the opposite direction when using the forward direction. - /// This means that within a scene, different entities will move in different - /// directions when using the forward direction. - /// There is no combination of flags that will make all entities in a scene - /// move in the same foward direction. + /// This means that within a scene, different entities in a hierarchy will + /// move in different global directions when using the forward direction + /// for that `Entity`. + /// + /// For example, a parent `Entity` with a child that has a `Mesh3d` + /// component will move "backwards" when using its forward direction, and the + /// `Entity` holding the `Mesh3d` will move in the opposite direction when using + /// its forward direction. pub default_convert_coordinates: GltfConvertCoordinates, /// glTF extension data processors. /// These are Bevy-side processors designed to access glTF @@ -211,6 +215,17 @@ pub struct GltfLoaderSettings { /// Overrides the default glTF coordinate conversion setting. /// /// If `None`, uses the global default set by [`GltfPlugin::convert_coordinates`](crate::GltfPlugin::convert_coordinates). + /// + /// Setting any of these values to true will result in the relevant entities + /// moving in the opposite direction when using the forward direction. + /// This means that within a scene, different entities in a hierarchy will + /// move in different global directions when using the forward direction + /// for that `Entity`. + /// + /// For example, a parent `Entity` with a child that has a `Mesh3d` + /// component will move "backwards" when using its forward direction, and the + /// `Entity` holding the `Mesh3d` will move in the opposite direction when using + /// its forward direction. pub convert_coordinates: Option, } From f2b60af5da46c4a25ba457693e2421f2a451c0ca Mon Sep 17 00:00:00 2001 From: Christopher Biscardi Date: Sat, 20 Dec 2025 06:59:31 -0800 Subject: [PATCH 3/3] update from discord feedback --- crates/bevy_gltf/src/loader/mod.rs | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/crates/bevy_gltf/src/loader/mod.rs b/crates/bevy_gltf/src/loader/mod.rs index d62caae32f07a..b13c3add10dab 100644 --- a/crates/bevy_gltf/src/loader/mod.rs +++ b/crates/bevy_gltf/src/loader/mod.rs @@ -153,15 +153,18 @@ pub struct GltfLoader { /// per-load by [`GltfLoaderSettings::convert_coordinates`]. /// /// Setting any of these values to true will result in the relevant entities - /// moving in the opposite direction when using the forward direction. + /// moving in opposite directions when using the forward direction. /// This means that within a scene, different entities in a hierarchy will /// move in different global directions when using the forward direction /// for that `Entity`. /// - /// For example, a parent `Entity` with a child that has a `Mesh3d` - /// component will move "backwards" when using its forward direction, and the - /// `Entity` holding the `Mesh3d` will move in the opposite direction when using - /// its forward direction. + /// For example, a parent `Entity` A, with a child `Entity` B that has a `Mesh3d` + /// component: + /// + /// - Entity A with a `Transform` + /// - Entity B with a `Transform`, `Mesh3d`, `MeshMaterial3d` + /// + /// If A's forward moves "North", B's forward moves "South" pub default_convert_coordinates: GltfConvertCoordinates, /// glTF extension data processors. /// These are Bevy-side processors designed to access glTF @@ -217,15 +220,18 @@ pub struct GltfLoaderSettings { /// If `None`, uses the global default set by [`GltfPlugin::convert_coordinates`](crate::GltfPlugin::convert_coordinates). /// /// Setting any of these values to true will result in the relevant entities - /// moving in the opposite direction when using the forward direction. + /// moving in opposite directions when using the forward direction. /// This means that within a scene, different entities in a hierarchy will /// move in different global directions when using the forward direction /// for that `Entity`. /// - /// For example, a parent `Entity` with a child that has a `Mesh3d` - /// component will move "backwards" when using its forward direction, and the - /// `Entity` holding the `Mesh3d` will move in the opposite direction when using - /// its forward direction. + /// For example, a parent `Entity` A, with a child `Entity` B that has a `Mesh3d` + /// component: + /// + /// - Entity A with a `Transform` + /// - Entity B with a `Transform`, `Mesh3d`, `MeshMaterial3d` + /// + /// If A's forward moves "North", B's forward moves "South" pub convert_coordinates: Option, }