Tattoo test bed: Quaternius v3-v6 bakes + Lena pipeline (bake, de-mirror, re-UV, viewers)
Session 2026-07-23/24 additions on top of the existing Quaternius bed: - bake_lena.gd: 6-piece bake on QuatSkin Lena (chiefs-mark/iron-spine arms, voyagers/storm-bearer legs, star-eye chest, hearth-warmth back); global-axis wrap frame + 3cm junction blend kill the elbow split line - demirror_lena.gd: tri-level split of mirror-shared limb UVs (arms 100%->0%, legs 99%->5% crotch-only residual) - reuv_lena.gd: Quaternius-style semantic re-UV (16 islands, cylinder limbs + cylinder head/torso with planar caps) + texture transfer; fixes armpit/chin/ cheek planar smears; single 4096 atlas, per-side tattoos native - main_lena / anim_lena viewers (18 UAL clips, U light toggle) + probes + shots Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Probes the UAL1 GLB loaded at runtime: animation names + sample track paths.
|
||||
extends SceneTree
|
||||
|
||||
const UAL1 := "C:/Users/CAN/tinqs-ltd/ariki-game/assets/quaternius/anim-lib-1/Universal Animation Library[Standard]/Unreal-Godot/UAL1_Standard.glb"
|
||||
|
||||
func _init() -> void:
|
||||
var doc := GLTFDocument.new()
|
||||
var state := GLTFState.new()
|
||||
if doc.append_from_file(UAL1, state) != OK:
|
||||
push_error("UAL load failed")
|
||||
quit(1)
|
||||
return
|
||||
var scene := doc.generate_scene(state)
|
||||
var player: AnimationPlayer = null
|
||||
var stack: Array = [scene]
|
||||
while not stack.is_empty():
|
||||
var n: Node = stack.pop_back()
|
||||
print("node: ", n.get_class(), " '", n.name, "'")
|
||||
if n is AnimationPlayer and player == null:
|
||||
player = n
|
||||
for c in n.get_children():
|
||||
stack.push_back(c)
|
||||
if player == null:
|
||||
print("NO AnimationPlayer")
|
||||
quit(1)
|
||||
return
|
||||
var names := player.get_animation_list()
|
||||
print("clip count: ", names.size())
|
||||
print("clips: ", ", ".join(names.slice(0, 40)))
|
||||
var a := player.get_animation(names[0])
|
||||
print("first clip '", names[0], "' tracks: ", a.get_track_count())
|
||||
for i in mini(4, a.get_track_count()):
|
||||
print(" track path: ", a.track_get_path(i))
|
||||
quit()
|
||||
Reference in New Issue
Block a user