ani
This commit is contained in:
@@ -220,6 +220,26 @@ def main() -> None:
|
||||
cmd.append("--keep-root-motion")
|
||||
run(cmd, "Retarget animation library (Blender)")
|
||||
|
||||
# Blender's large NLA export can omit actions imported from the final
|
||||
# animation libraries on some FBX/Auto-Rig Pro and Mixamo rigs. Re-inject
|
||||
# the three critical late-library clips in compact passes. Besides making
|
||||
# the build deterministic, this prevents backward movement and wall-running
|
||||
# from silently falling through to unrelated ground/fall animations.
|
||||
injector = os.path.join(TOOLS, "inject_wallrun.py")
|
||||
wall_library = os.path.join(args.anim_dir, "_wallrun.glb")
|
||||
backward_library = os.path.join(args.anim_dir, "_directional.glb")
|
||||
wall_fixed = os.path.join(STAGING, f"{name}_wall_motion.glb")
|
||||
fully_fixed = os.path.join(STAGING, f"{name}_required_motion.glb")
|
||||
run([blender, "--background", "--python", injector, "--",
|
||||
final_path, wall_library, wall_fixed,
|
||||
"WallRunLeft", "WallRunRight"],
|
||||
"Guarantee authored wall-run clips (Blender)")
|
||||
run([blender, "--background", "--python", injector, "--",
|
||||
wall_fixed, backward_library, fully_fixed,
|
||||
"strafe_back-cycle=RunBackward"],
|
||||
"Guarantee authored backward locomotion (Blender)")
|
||||
shutil.copyfile(fully_fixed, final_path)
|
||||
|
||||
# 3. Gate on the checks that encode every way this has gone wrong before.
|
||||
run([blender, "--background", "--python", os.path.join(TOOLS, "verify_character.py"),
|
||||
"--", final_path], "Verify the built character (Blender)")
|
||||
|
||||
Reference in New Issue
Block a user