Skip Navigation

User banner
Posts
2
Comments
2
Joined
5 days ago

  • Thanks a lots, folks! 😄 Everything works fine now 👍đŸŧ

    What I have to do:

    1. 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)
    
      
    1. Change mesh.surface_set_material to mesh.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 🤝đŸŧ

  • Thanks a lot to everyone! I'll try it 😄

  • Godot @programming.dev

    Sticking of objects when those uses CharacterBody2D

    Godot @programming.dev

    Problems with making unique material