

1·
14 days agoThanks a lots, folks! 😄 Everything works fine now 👍🏼
What I have to do:
- Made don’t only materials, but also meshes as unique:
var new_model = model.front.duplicate(true)
var new_ship: Node3D = new_model.instantiate()
new_ship.position = front_model_pos
_model_parent.add_child(new_ship)
_make_ship_materials_unique(new_ship)
- Change
mesh.surface_set_material
tomesh.set_surface_override_material
:
func _make_ship_materials_unique(new_ship: Node3D) -> void:
for i in new_ship.get_children(true):
if i is MeshInstance3D:
for n in range(i.get_surface_override_material_count()):
i.set_surface_override_material(n, i.mesh.surface_get_material(n).duplicate(true))
func damaged_spec_effect() -> void:
for i in ship.get_children(true):
if i is MeshInstance3D:
for n in range(i.get_surface_override_material_count()):
_create_fade_in_then_out_effect(i.get_surface_override_material(n), Color.RED)
And everything started works as well. Thanks again 🤝🏼
I personally don’t know 🤷🏻♂️. I’ve try both variants.