Files
tattoo-test/bones.gd
T

27 lines
819 B
GDScript
Raw Normal View History

# 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)