Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import bpy
- bl_info = {
- "name": "Hair Reducer",
- "author": "William Chargin (WChargin)",
- "version": (0, 0, 1),
- "blender": (2, 67, 0),
- "location": "File > Save",
- "description": ("Reduces hair particles on save and restores on load."),
- "warning": "", # used for warning icon and text in addons panel
- "category": "System"}
- @persistent
- def hair_reduce(dummy):
- for ps in bpy.data.particles:
- if ps.type == 'HAIR' and not 'actual_hair_count' in ps:
- ps['actual_hair_count'] = ps.count
- ps.count = 1
- @persistent
- def hair_apply(dummy):
- for ps in bpy.data.particles:
- if ps.type == 'HAIR' and 'actual_hair_count' in ps:
- ps.count = int(ps['actual_hair_count'])
- del ps['actual_hair_count']
- def register():
- bpy.utils.register_module(__name__)
- if not hair_apply in bpy.app.handlers.load_post:
- bpy.app.handlers.load_post.append(hair_apply)
- if not hair_reduce in bpy.app.handlers.save_pre:
- bpy.app.handlers.save_pre.append(hair_reduce)
- if not hair_apply in bpy.app.handlers.save_post:
- bpy.app.handlers.save_post.append(hair_apply)
- def unregister():
- bpy.utils.unregister_module(__name__)
- if hair_apply in bpy.app.handlers.load_post:
- bpy.app.handlers.load_post.remove(hair_apply)
- if hair_reduce in bpy.app.handlers.save_pre:
- bpy.app.handlers.save_pre.remove(hair_reduce)
- if hair_apply in bpy.app.handlers.save_post:
- bpy.app.handlers.save_post.remove(hair_apply)
- if __name__ == "__main__":
- register()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement