← All ideas
  • Published 14 Jun 2018

Central library file for Blender projects

Idea I had while writing some refactoring scripts.

Central library file, where all data in a project directory is not stored in the individual '.blend' files, but are references to a single library file for a project.

  • The library file would have no UI, any edits to data would be done from '.blends'.
  • Would make refactoring much easier because everything would be in one place, rather than dispersed. Might make it possible for even open files to be updated in real-time.
  • Organising and renaming files could also be done in the library, which would make asset management much easier and fluid.
  • Within the library files all data would be referred to by ID rather than name, so renaming does not cause broken references.
  • The library files could be split and merged, where ID conflicts would be resolved. This is particularly relevant for project exporting, where only a subset of the referred objects are necessary.
  • Library files could reference other library files.
  • Settings and presets would also be stored and referenced from the library file.
  • Maybe a miniature UI could be created for library manipulation, such as refactoring, exporting and importing. Instead of loading the entire Blender UI.
  • Might be easier to synchronise projects over a network.
  • Only need to load data that is relevant into memory, rather than the entire '.blend' file.
  • Would make manipulating the data of a project easier with the Python API, because the whole Blender UI would not be necessary.

Edit:

  • Could have an entire project in the same namespace.
0%

Development Status: Open

Upvote 0 Downvote 0
KalciferKandari
14 Jun 2018

3 Comments

jason

I once had an add-on that I wrote years ago (but never released) called Blender Workbench. It worked a bit like this. It would take an entire .blend file and explode each datablock into separate files. Then, you could assemble any asset (or set of assets) on the fly with linking. The idea was to allow for more granular version control of the contents of your .blend file. I've been meaning to revisit that add-on for a few years now, but I've never been able to find the time.

1
KalciferKandari Author

@Jason van Gumster: Each datablock into separate '.blend' files? That seems like the opposite of this idea. I think having all the data in one database would make storage much more efficient, and would also improve the ability to represent and protect the integrity of the dependencies of the data within the library.

Here is the post where I released the refactoring scripts I have been writing.

jason

@kalciferkandari: If you could use a proper database, a la SQLite or somesuch, I could agree. But for asset management and granular versioning, separate files (not necessarily all .blends. Images were stored as images, text as text... independent scene values were stored in a .json file) are really ideal.

Of course, if you're versioning with something like Fossil , you might get the best of both worlds... but then you'd have to train artists to use Fossil. :)