Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2023
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. bl_info = {
  2.     "name" : "Keyframe Visibility",
  3.     "description" : "Use operators to hide or show selected objects, and insert keyframes.",
  4.     "author" : "hisanimations",
  5.     "version" : (1, 0, 0),
  6.     "blender" : (3, 0, 0),
  7.     "location" : "Search Menu > Show Now, Hide Next / Hide Before, Show Now",
  8.     "support" : "COMMUNITY",
  9.     "category" : "3D View",
  10. }
  11. import bpy
  12.  
  13. def ToggleHide(a, b):
  14.     a.hide_viewport = False if b else True
  15.     a.hide_render = False if b else True
  16.     a.keyframe_insert(data_path='hide_viewport')
  17.     a.keyframe_insert(data_path='hide_render')
  18. class HISANIM_OT_SHOWHIDE(bpy.types.Operator):
  19.     bl_idname = 'hisanim.showhide'
  20.     bl_label = 'Show Now, Hide Next'
  21.     bl_description = 'Keyframe visibility to show current frame, hide next frame'
  22.    
  23.     def execute(self, context):
  24.         for i in bpy.context.selected_objects:
  25.             ToggleHide(i, True)
  26.             context.scene.frame_current += 1
  27.             ToggleHide(i, False)
  28.             context.scene.frame_current += -1
  29.        
  30.         return {'FINISHED'}
  31.  
  32. class HISANIM_OT_HIDESHOW(bpy.types.Operator):
  33.     bl_idname = 'hisanim.hideshow'
  34.     bl_label = 'Hide Before, Show Now'
  35.     bl_description = 'man'
  36.    
  37.     def execute(self, context):
  38.         for i in bpy.context.selected_objects:
  39.             context.scene.frame_current += -1
  40.             ToggleHide(i, False)
  41.             context.scene.frame_current += 1
  42.             ToggleHide(i, True)
  43.         return {'FINISHED'}
  44.    
  45. classes = [HISANIM_OT_SHOWHIDE, HISANIM_OT_HIDESHOW]
  46.  
  47. def register():
  48.     for i in classes:
  49.         bpy.utils.register_class(i)
  50. def unregister():
  51.     for i in classes:
  52.         bpy.utils.unregister_class(i)
  53.        
  54. if __name__ == '__main__':
  55.     register()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement