Home Website Youtube GitHub

Space Transfer with "Only Keyframes Frames" breaks

Hi, when I space transfer on a range and check “Only Keyframes Frames”. I get this error:

# Traceback (most recent call last):
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\anim_utils.py", line 1833, in doItByUI
#     self.transfer(startFrame, endFrame, onlyKeyframes)
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\anim_utils.py", line 2019, in transfer
#     self.bakeAnimation(
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\utils.py", line 236, in wrap
#     raise e
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\utils.py", line 233, in wrap
#     return func(*args, **kwargs)
#            ^^^^^^^^^^^^^^^^^^^^^
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\utils.py", line 205, in wrap
#     raise e
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\utils.py", line 202, in wrap
#     return func(*args, **kwargs)
#            ^^^^^^^^^^^^^^^^^^^^^
#   File "C:\Users\root\Documents\maya\2025\modules\scripts\mgear\core\anim_utils.py", line 2006, in bakeAnimation
#     transform.set_world_transform_data(n, world_transform_data[i][j])
#                                           ~~~~~~~~~~~~~~~~~~~~^^^
# IndexError: list index out of range

After looking into that line in anim_utils: I’ve noticed the issue is coming from the index “i” that throws out of range error because it doesn’t take into acount the skipped frames so it tries to access a big index in the list that doesn’t exist.
I’ve solved it by simply adding new counter like this:

What version of mGear?

This should be fixed now. but not yet released :sweat_smile:
it will be in the next version

3 Likes

mGear version: 5.0.7