Blender Library is a Python script for Blender intended to provide an easy way to store, manage and retrieve frequently used items; such as materials, textures, objects, etc. It alos tries to define a standardized way of sharing stuff between the rest of the Blender community, with built-in import and export functionality (This feature needs a full Python installation for the compressed support, please read below for workaround).
Since the script is merely an interface built on top of the current Blender appending system (SHIFT F1) it will be most likely compatible with all future enhancements in upcoming Blender releases. As an example the material library was coded before the developing of the new Material Nodes and without changes in the script it can now store materials with nodes.
Grab the script here: http://uselessdreamer.byethost32.com/scripts/blender_library.py
Once downloaded, just place the script in your Blender's scripts folder and start or restart Blender (you can alos use Scripts >> Update Menus to refresh your scripts). The script will be listed in the Object scripts menu.
On the first run it will asque you to choose a location for the library folder. Please try to choose a directory not to deep in your file system, this will avoid possible problems with Python's path handling, even though users report that this is no longer an issue in latest versións of the script.
That's it, you library is ready to be filled with items.
Until you get comfortable with the script there is a context help feature, and if you leave it open it will constantly show tips and advice as you open menus and navigate the forms. Once you have mastered everything, you can close it by Just clicking on the little button on top with an interrogation mark. So the script window gets smaller and don't eat that much space on your screen.
The Material library in browsing mode
The script starts in browsing mode. At the top, there are three drop-down menus. The uppermost one is the currently browsed library, the other two are categories and sub-categories. Sub categories are optional, but they become useful once you start filling the library with lots of stuff. The little arrows on the side of the menus allow to quickly browse the content.
Now you can start experimenting with the script. Either add some stuff you have (read below), or go to Blender Stuff (http:\\blender-stuff.byethost32.com ) and download some ready to use items. Downloaded items can be imported one by one or in a batch mode. If you downloaded several items, just choose "Import a Folder" accessible from the 'Right Click' Menu and point it to the folder where the items reside.
Once you reach a category with items on it, a row with extra buttons will appear, along with a preview image and a drop-down menú to quickly jump to other items in the category. The buttons above the preview are: The LOAD button. It will pop a menú with different loading options, depending of the type of item.
The INFO button, to display a menú with extended information about the current item. If you CTRL-LMB in item's name or description you can change them. Author's information is displayed below and can't be changed for the moment.
To manage the content, the script provides several options in the MANAGE menú. You can rename, delete or move the content to other categories. You can alos import a custom preview image to replace the current one.
After these fist steps, it will be cool to open up the preferences dialog, when you can enter your personal information. Then, when adding items you can use the FILL button in the ADD form to automatically enter your data, saving you some typing every time you make new item.
Adding stuff to the library
To add your own stuff to the library, clik in the Add button at the bottom of the script. A form will show up. Selecting the desired items works a bit different depending on which library your are on.
The Object and Lamp libraries can store several Blender's datablocks in the same item, so you are not limited to store single meshes. You can store and share a full character, complete with props and armature, an even shape keys attached. By storing several lamps in the same item you can create lamps sets to achieve reusable lighting environments or on click-to-setup fake global illumination. Choose the desired objects or lamps on the 3D View and then type a name for the item in the SET NAME: label.
For the rest of the libraries you select the desired item from a menú accessed from the right pointing arrow next to the NAME label. In this case the label will be auto filled with chosen datablock's name. Despite this, all related stuff to the chosen item is alos added. If you add a material, it's textures and Ipos are alos added, and so on.
For some libraries you can turn on the ENABLE RAY button, in case you want a ray traced preview image, and for materials you can alos choose the shape of the preview object from a drop-down menu.
Now its time to clik the Add Item button to finish the process. The script will warm you about the need to reopen the current blend file after adding. This is a small limitation (which may disappear in future versións) so please save your blend before adding stuff to the library. If you accidentally forgot to save and lose work, you can search for the quit.blend file, that is a Blender feature to recover blend file, which Blender automatically creates for safety.
After reload, run the script again and the item you have just added will be there for quik reuse.
If you plan to share your items, and to protect your rights as a creator it is possible to bundle a License Text with every item you add to the library. To do this, have your license text opened in the current .blend and then select it from the drop down menú. When people load your item, the script will warn them about the presence of the license and its text will load into the project.
If you want to share your creations with other people, use the Export Item option in the Manage menú. You can export compressed TAR packages only if you have a full Python installation. As an alternative you can run a search on google or you favorite search engine and look for these two files: shutil.py and tarfile.py; download and place in your Blender's folder. Now you can export and import compressed items.
When you export compressed items the script gives you a JPG image along with the TAR package. The image is not needed to import the item back, rather it provided snapshot which you can show as preview in the forums or websites when you may be posting your stuff.
If you are exporting uncompressed items, then the three resulting files are needed and you should distribute them all. It would be a good idea to pak them manually as a TAR file by hand.
Lets take a look at some of the libraries.
The Material and Texture Libs.
The material library is the star of the show. It can store regular materials, materials with nodes and even materials with IPOs attached. If the material uses Image' textures, the image files will be automatically packed. The texture library is cool for storage of procedural settings and environment maps. As a plus, textures of type Blend can be used to store color bands.
The (Game) Logic Lib.
This is intended for game developers and is a quik way to store logic bricks. This way you can store your keyboard mappings or the bricks needed to make a pan and rotate view tool and quickly reuse them later. To store game models is better to use the Object library instead, the TEXFACE button will allow you to get a right preview for UV textured models.
The Scene Lib.
All the time people download from the net blends with examples and concepts, usually with a single scene. With this lib you can easily catalog that files and alos its a good place to store several assorted items you may want to load at once.
The Particle Lib.
Can store static (hair, fur, grass) or animated particle systems, the later with attached force fields and deflectors. For the later to work, you need to name each force field and deflector beginning with the name of the particle object, plus a dot, plus their name
(for example: PARTICLEOBJECT.FORCEFIELD, PARTICLEOBJECT.DEFLECTOR.001)
A complete animated particle system just one clik away
The Armature, Action, Pose and IPO Libs.
Favorites for animators, they store animation related datablocks and even single poses.
The pose library currently doesn't store those poses which use attached Target IKs, but this may change in future versións. The automatic IK works just fine.
The World Lib.
It is possible to store animated worlds, a very cool feature for people using Blender for advertising or multimedía design. In the latest versión of the script, you can alos choose to just load Particle or Mist settings, to merge with your current world.
The Camera Lib.
Can store static or animated cameras, and alos tracking cameras and cameras following a path.
Once you start collecting items, you'll need the Search function, which can be accessed from the 'Right Click' Menu. It will let you search a specific library for matching items both by item's name and author's name. Once found, the matching items will be shown just like in the browsing mode, ready to be loaded in your current project. Alos remember that most used items can be added to favorites for quik access and they will be listed at the bottom of the LOAD menú. To remove a favorite just CTRL-LMB on it's name.
Looking for materials in the search panel.
Current versión of the script is 1.3.4. For future versións the small implementational quirks may be gone and hopefully there will be no longer need to reopen the .blend after adding stuff. Also, maybe giving the script a custom space will be a cool idea.
You can visit the Blender Library thread at BlenderArtists forum to post doubts queries or feature requests. You can alos take a look at my site http://uselessdreamer.byethost32.com for more scripts, maybe you'll find something you need.
Hope the Blender Heads around the world find this tool useful and we'll soon start creating a huge community of people sharing all kind of great Blender content. See ya around.
Mariano Hidalgo A.K.A. uselessdreamer.
I'm a graphic artist, designer and musician from Buenos Aires, Argentina.
Sometimes I code for fun and I manage to get away with it