diff --git a/src/nodes/model.rs b/src/nodes/model.rs index eef5662..8eda6ce 100644 --- a/src/nodes/model.rs +++ b/src/nodes/model.rs @@ -109,9 +109,10 @@ impl Model { material_parameters.clear(); } + let global_transform = self.space.global_transform().into(); sk_model.draw( draw_ctx, - self.space.global_transform().into(), + global_transform, Rgba::new(Rgb::new(1_f32, 1_f32, 1_f32), 1_f32), RenderLayer::Layer0, ); diff --git a/src/nodes/spatial.rs b/src/nodes/spatial.rs index 54bee18..6a33fc4 100644 --- a/src/nodes/spatial.rs +++ b/src/nodes/spatial.rs @@ -12,7 +12,7 @@ use std::sync::{Arc, Weak}; pub struct Spatial { pub(super) node: Weak, parent: Mutex>>, - transform: Mutex, + pub(super) transform: Mutex, } impl Spatial { @@ -135,7 +135,7 @@ impl Spatial { } self.set_local_transform(Spatial::space_to_space_matrix( - self.parent.lock().as_deref(), + Some(self), parent.cloned().as_deref(), )); *self.parent.lock() = parent.cloned();