feat: adding the skin_shader_generator, and gacha base barebone

This commit is contained in:
2026-04-24 00:17:00 +08:00
parent 16c82a48b8
commit 7e4b707e84
196 changed files with 4883 additions and 200 deletions
+45
View File
@@ -0,0 +1,45 @@
@tool
extends SceneTree
func _init():
var models = {
"Oldpop": "res://assets/characters/Oldpop.glb",
"Bob": "res://assets/characters/Bob.glb",
"Gatot": "res://assets/characters/Gatot.glb",
"Masbro": "res://assets/characters/Masbro.glb"
}
for name in models:
print("\n=== Inspecting %s ===" % name)
var scene = load(models[name]).instantiate()
_inspect_node(scene)
quit()
func _inspect_node(node: Node):
if node is MeshInstance3D:
_print_mesh_uv_bounds(node)
for child in node.get_children():
_inspect_node(child)
func _print_mesh_uv_bounds(mi: MeshInstance3D):
var mesh = mi.mesh
if not mesh: return
var min_uv = Vector2(1e10, 1e10)
var max_uv = Vector2(-1e10, -1e10)
for s in mesh.get_surface_count():
var arrays = mesh.surface_get_arrays(s)
var uvs = arrays[Mesh.ARRAY_TEX_UV]
if not uvs: continue
for uv in uvs:
min_uv.x = min(min_uv.x, uv.x)
min_uv.y = min(min_uv.y, uv.y)
max_uv.x = max(max_uv.x, uv.x)
max_uv.y = max(max_uv.y, uv.y)
print("- Mesh: %s" % mi.name)
print(" UV Min: %s" % min_uv)
print(" UV Max: %s" % max_uv)
+1
View File
@@ -0,0 +1 @@
uid://bb0wohmy3qlnh