From b5e87d59113b559e57e53ca9eddf87e96889bc9a Mon Sep 17 00:00:00 2001 From: Nova Date: Wed, 25 Jan 2023 09:23:01 -0500 Subject: [PATCH] feat(material): auto copy on change parameter --- src/nodes/drawable/model.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nodes/drawable/model.rs b/src/nodes/drawable/model.rs index f42cab8..66554fa 100644 --- a/src/nodes/drawable/model.rs +++ b/src/nodes/drawable/model.rs @@ -209,12 +209,14 @@ impl Model { for ((material_idx, parameter_name), parameter_value) in material_parameters.iter() { if let Some(material) = sk_model.get_material(sk, *material_idx as i32) { + let new_material = material.clone(); parameter_value.apply_to_material( &self.space.node.upgrade().unwrap().client.upgrade().unwrap(), // TODO: don't unwrap sk, - &material, + &new_material, parameter_name.as_str(), ); + sk_model.set_material(sk, *material_idx as i32, &new_material); } } material_parameters.clear();