Mixamo2 / apply_animation_blender.py
jasongzy's picture
🐞 fix: misc
8080e63
raw
history blame
1.25 kB
import argparse
import os
from utils import HiddenPrints, bpy, load_mixamo_anim, remove_all, reset, select_objs, update
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--char_path", type=str, required=True)
parser.add_argument("--anim_path", type=str, required=True)
parser.add_argument("--output_dir", type=str, required=True)
args = parser.parse_args()
get_base_name = lambda s: os.path.splitext(os.path.basename(s))[0]
output_filename = f"{get_base_name(args.char_path)}-{get_base_name(args.anim_path)}"
with HiddenPrints():
# remove_all()
reset()
objs = load_mixamo_anim(args.char_path, args.anim_path, do_retarget=True, inplace=False)
update()
# bpy.ops.wm.save_as_mainfile(filepath=os.path.join(args.output_dir, f"{output_filename}.blend"))
select_objs(objs, deselect_first=True)
bpy.ops.export_scene.fbx(
filepath=os.path.join(args.output_dir, f"{output_filename}.fbx"),
check_existing=False,
use_selection=True,
use_triangles=True,
add_leaf_bones=False,
bake_anim=True,
# path_mode="COPY",
# embed_textures=True,
)