Files
PythonInUnreal/tools/smoke_relative_move.py
T
2026-10-31 23:11:57 +01:00

25 lines
1.2 KiB
Python

"""Verify position queries and relative movement after kept Mixamo root travel."""
import math
from ue_workshop import Scene, Sequence
from ue_workshop.animations import CreatureAnimations as C
from ue_workshop.characters import CREATURE_MODEL
scene = Scene("RelativeMoveSmoke")
creature = scene.skeletal_model(CREATURE_MODEL, name="Creature", height=300, location=(0, -850, 0))
shot = Sequence(scene, fps=30, frames=180)
shot.animation(creature, C.MUTANT_RUN, start=0, end=60, keep_end_position=True)
shot.animation(creature, C.MUTANT_SWIPING, start=20)
shot.animation(creature, C.MUTANT_WALKING, start=80, end=120)
before = shot.position(creature, 80)
assert math.dist(before, (0, -850, 0)) > 100, before
target = shot.move(creature, start=80, end=120, offset=(0, 50, 0), interpolation="auto")
assert math.dist(shot.position(creature, 80), before) < 0.001
assert math.dist(shot.position(creature, 120), target) < 0.001
assert abs(target[1] - before[1] - 50) < 0.001
assert math.dist(shot.position(creature, 179), target) < 0.001
middle = shot.position(creature, 100)
assert before[1] < middle[1] < target[1]
shot.save(open_editor=False)
print("Relative movement from", before, "to", target)