Files
streaming_world/assets/blender/scripts/mixamo/lib/constraints.py
2025-01-28 11:30:59 +03:00

19 lines
765 B
Python

import bpy
def add_copy_transf(p_bone, tgt, subtgt):
cns_transf = p_bone.constraints.get("Copy Transforms")
if cns_transf == None:
cns_transf = p_bone.constraints.new("COPY_TRANSFORMS")
cns_transf.name = "Copy Transforms"
cns_transf.target = tgt
cns_transf.subtarget = subtgt
def set_constraint_inverse_matrix(cns):
# set the inverse matrix of Child Of constraint
tar_obj = cns.target
subtarget_pbone = tar_obj.pose.bones.get(cns.subtarget)
if subtarget_pbone:
#cns.inverse_matrix = tar_obj.matrix_world.inverted() @ subtarget_pbone.matrix_basis.inverted()
print("reset child of cns", cns.name, cns.subtarget)
cns.inverse_matrix = subtarget_pbone.bone.matrix_local.to_4x4().inverted()