added some stuff for level select 3d menu

This commit is contained in:
2026-02-07 03:23:45 +11:00
parent 56740c7213
commit 35a0ec30a5
42 changed files with 2617 additions and 0 deletions

36
wireframe_generator.gd Normal file
View File

@@ -0,0 +1,36 @@
@tool
extends EditorScenePostImport
const OUT_PATH: String = "res://wireframes/"
func _post_import(scene: Node) -> Object:
var children: Array[Node] = scene.get_children()
print('Updating meshes to wireframe ', scene.name)
for child: Node in children:
if not is_instance_of(child, MeshInstance3D):
continue
var mesh_in: ArrayMesh = child.mesh
assert(mesh_in.surface_get_primitive_type(0) == Mesh.PRIMITIVE_TRIANGLES)
var mesh_out := MeshUtils.unroll_vertices(mesh_in, [Mesh.ARRAY_VERTEX, Mesh.ARRAY_TEX_UV, Mesh.ARRAY_CUSTOM0])
assert(mesh_out.surface_get_primitive_type(0) == Mesh.PRIMITIVE_TRIANGLES)
var material := ShaderMaterial.new()
material.shader = preload("res://shader.gdshader")
mesh_out.surface_set_material(0, material)
#child.mesh = mesh_out
#child.set_surface_override_material(0, material)
#print('Updated ', child)
var filename_out := OUT_PATH + scene.name + ".res"
#mesh_out.take_over_path(filename_out)
ResourceSaver.save(mesh_out, filename_out)
# doesn't seem to help
#, ResourceSaver.SaverFlags.FLAG_CHANGE_PATH | ResourceSaver.SaverFlags.FLAG_REPLACE_SUBRESOURCE_PATHS)
break # only export first mesh
return scene # Return the modified root node when you're done.