extends SceneTree ## Persist imported assets as native Godot scenes, independent of import extension at runtime. func _initialize() -> void: for name in ["v_9mmar", "w_9mmar", "p_9mmar"]: var scene: PackedScene = load("res://assets/weapons/" + name + ".mdl") assert(scene != null) assert(ResourceSaver.save(scene, "res://assets/weapons/" + name + ".scn") == OK) var node := scene.instantiate() var textures := 0 for mesh in node.find_children("*", "MeshInstance3D", true, false): for i in mesh.mesh.get_surface_count(): var material = mesh.mesh.surface_get_material(i) assert(material is StandardMaterial3D and material.albedo_texture != null) textures += 1 assert(textures > 0) if name == "v_9mmar": var animation: AnimationPlayer = node.get_node("AnimationPlayer") for expected in ["deploy", "reload", "shoot", "idle1"]: assert(animation.has_animation(expected)) assert(animation.get_animation(expected).get_track_count() > 0) print("EXPORT VERIFIED ", name, " textured surfaces=", textures) node.free() quit()