ce4c4e7d13
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>
27 lines
819 B
GDScript
27 lines
819 B
GDScript
# Dumps all bone names + rest origins of the Quaternius Regular Male skeleton.
|
|
extends SceneTree
|
|
|
|
const GLTF_PATH := "C:/Users/CAN/tinqs-ltd/ariki-game/assets/quaternius/source-models/Regular_Male_FullBody.gltf"
|
|
|
|
func _init() -> void:
|
|
var doc := GLTFDocument.new()
|
|
var state := GLTFState.new()
|
|
if doc.append_from_file(GLTF_PATH, state) != OK:
|
|
push_error("GLTF load failed")
|
|
quit(1)
|
|
return
|
|
var scene := doc.generate_scene(state)
|
|
var stack: Array = [scene]
|
|
while not stack.is_empty():
|
|
var n: Node = stack.pop_back()
|
|
if n is Skeleton3D:
|
|
var skel: Skeleton3D = n
|
|
for i in skel.get_bone_count():
|
|
var o := skel.get_bone_global_rest(i).origin
|
|
print("%s (%.3f, %.3f, %.3f)" % [skel.get_bone_name(i), o.x, o.y, o.z])
|
|
quit()
|
|
return
|
|
for c in n.get_children():
|
|
stack.push_back(c)
|
|
quit(1)
|