extends SceneTree func _initialize() -> void: call_deferred("run") func run() -> void: var arena := RelayArena.new() root.add_child(arena) var nav := NavigationMesh.new() nav.cell_size = 0.2 nav.cell_height = 0.05 nav.agent_height = 1.8 nav.agent_radius = 0.4 nav.agent_max_climb = 0.25 nav.agent_max_slope = 46 nav.region_min_size = 2 nav.region_merge_size = 8 nav.edge_max_error = 1.0 nav.geometry_parsed_geometry_type = NavigationMesh.PARSED_GEOMETRY_STATIC_COLLIDERS nav.geometry_collision_mask = 1 var source := NavigationMeshSourceGeometryData3D.new() NavigationServer3D.parse_source_geometry_data(nav, source, arena) NavigationServer3D.bake_from_source_geometry_data(nav, source) DirAccess.make_dir_recursive_absolute("res://assets/navigation") var error := ResourceSaver.save(nav, "res://assets/navigation/quarry.res") print("QUARRY BAKE polygons=", nav.get_polygon_count(), " saved=", error) arena.free() quit(0 if nav.get_polygon_count() > 0 and error == OK else 1)