12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- '''
- To load stuff that assumes a Blender scene is already loaded
- I need to wait for the BLEND file of the template to load and
- then add the functions and stuff I want after said file loads.
- The use of "bpy.app.handlers" and "persistent" help in this case
- for some reason I don't undertand yet >:] (but meh, it works)
- References:
- https://s-nako.work/2020/09/blender-error-attributeerror-_restrictcontext-object-has-no-attribute-view_layer/
- https://web.archive.org/web/20210925181415/https://blenderbrew.com/custom-application-templates-in-blender/
- '''
- import bpy
- from bpy.app.handlers import persistent
- #######################################################
- # define function that sets all the blenxy stuff:
- # galaxy unit, custom collada exporter/importer
- # custom CSV animation file (for BCK) exporter/importer
- #######################################################
- @persistent
- def set_blenxy_env(dummy): # "dummy" is a variable that is somehow
- # passed to set_blenxy_env when called by
- # bpy.app.handlers.load_post.append
-
- from . import blenxy_settings_stuff # settings blenxy has
- from . import collada_bmd_bdl_export # custom exporter for DAE files
- from . import collada_bmd_bdl_import # custom importer for DAE files
- from . import csv_anim_bck_export # exporter for CSV files for BCK conversion
- from . import csv_anim_bck_import # importer for CSV files from BCK animation
-
- # more scripts can be added here
- #############################
- # register/unregister stuff
- # for set_blenxy_env function
- #############################
- def register():
- print("\nWelcome to Blenxy!\n")
- print("Setting Blenxy Environment...\n")
- bpy.app.handlers.load_post.append(set_blenxy_env)
-
- def unregister():
- print("\nSee you later!\n")
- bpy.app.handlers.load_post.remove(set_blenxy_env)
-
- if __name__ == "__main__":
- register()
|