diff --git a/OP_animate_path.py b/OP_animate_path.py index cd00f4d..ffe6547 100644 --- a/OP_animate_path.py +++ b/OP_animate_path.py @@ -63,18 +63,21 @@ def anim_path_from_y_translate(): for k in locy_fcu.keyframe_points: # if k.select_control_point: # based on selection if k.type == 'EXTREME': # using extreme keys. - if not start: + if start is None: start = k end = k else: if start is not None: - ## means back to other frame type after passed breaskdown we stop + ## means back to other frame type after passed breakdown we stop break + + if start and end: + print(f'Offset from key range. start: {start.co.x} - end: {end.co.x}') if not start: return ('ERROR', f"No extreme marked frame was found on bone {b.bone.name}.{['x','y','z'][locy_fcu.array_index]}") if start == end: - return ('ERROR', 'Seems like only one key was marked as extreme ! Need at least two chained') + return ('ERROR', f'Only one key detected as extreme (at frame {start.co.x}) !\nNeed at least two chained marked keys') start_frame = start.co.x start_val = start.co.y diff --git a/__init__.py b/__init__.py index 29faef0..0954a21 100644 --- a/__init__.py +++ b/__init__.py @@ -2,7 +2,7 @@ bl_info = { "name": "Unfold Anim Cycle", "description": "Anim utility to develop walk/run cycles along a curve", "author": "Samuel Bernou", - "version": (0, 3, 0), + "version": (0, 3, 2), "blender": (2, 92, 0), "location": "View3D", "warning": "WIP", @@ -11,24 +11,23 @@ bl_info = { # from . import other_file -import bpy - -import importlib as imp -from . import OP_setup_curve_path -from . import OP_animate_path -from . import OP_expand_cycle_step -from . import OP_snap_contact -from . import OP_world_copy_paste -from . import panels - if 'bpy' in locals(): + import importlib as imp imp.reload(OP_setup_curve_path) imp.reload(OP_animate_path) imp.reload(OP_expand_cycle_step) imp.reload(OP_snap_contact) imp.reload(OP_world_copy_paste) imp.reload(panels) +else: + from . import OP_setup_curve_path + from . import OP_animate_path + from . import OP_expand_cycle_step + from . import OP_snap_contact + from . import OP_world_copy_paste + from . import panels +import bpy class UAC_PGT_settings(bpy.types.PropertyGroup) : ## HIDDEN to hide the animatable dot thing path_to_follow : bpy.props.PointerProperty(type=bpy.types.Object,