Blender 3D: Noob to Pro/Creating Blender Libraries
You've finally made that perfect object, armature or material: a gamepiece, a robot, a fully rigged vampire character, or a millimeter-accurate model of the Empire State Building. Besides using this work in your own artistic project, you have made the courageous decision to share that creation with the world.
Sharing your creative work is a great way to "give back to the community," even if you don't write Blender code and you can't translate the Blender documentation to Swahili.
How to Make a Library
So how do you make a library? In Blender, you don't need to export to a special format. In fact, you don't need to do anything special beyond saving your regular .blend file. Every .blend is a library file. Users can Append what they like from your .blend file, and ignore parts which they don't need for their own project.
This scheme has some benefits and some drawbacks.
The benefit of using .blend files as a library format is that it's super easy to include extra stuff to help the user see the objects. If the user loads the .blend file directly, it works like the pretty packaging for foods, including a quick and easy way to get a pretty "serving suggestion" rendering of the library contents. What you save in your .blend is what the user will see when they load it, including all your user interface settings, lighting types, and camera positions.
The drawback of using .blend files as a library format is that it's super easy to include unintended things, such as extra meshes, unused material and texture channels, and other things which the user will not find helpful. Blender doesn't save things which are no longer referenced anywhere, but it cannot read your mind if you leave a spare mesh on layer 13 which uses some abandoned Material.034.
Also, some people are not accustomed to the way that Blender saves all of the user interface settings along with the .blend file. When they load your mesh, they see your way of working. This can be instructive, but unless that's your intention, it's best to try to stick to a simple and clean user interface setup for your library files.
For best results, you need to apply some discipline to publish a clean and useful library.
Library Usefulness Checklist
After having used several library .blend files from various sources, I propose that anyone making libraries follow a few suggestions:
- keep to a certain object, theme or area of focus for each library file
- all the test cameras and lights prefixed with a dash; e.g., -Camera, -HemiLight.001, etc.
- any other components not intended for Appending prefixed with a dash; e.g., -ground
- all the test cameras and lights on the last one or two layers (lower right layer button)
- any composite object intended for Appending organized in a group to hold it together
- any groups, objects, materials, textures intended for Appending given meaningful names
- document your unit scheme; e.g., 1 blender unit == 1 imperial foot, etc.
- any other layer contains test-render-ready objects or scenes
- choose rendering and world settings which will not take an hour to make a simple test render
- make visible upon loading the layers required for a camera, a good lighting angle, and a shared object
- make visible upon loading one small text file which lists layers and objects
- make visible upon loading any python script, with instructions on how to start it in a big comment
- make your licensing expectations clear: artistic license, creative commons, etc.
- pack the texture files and other data before saving that final .blend for publishing
- sign your work, stable email address or website url if possible
The dash prefixes for test-rendering cameras, boxes, floors and lights will help the user know at a glance what to Append and what not to Append from your library.
Here's a quick way to throw out all the stuff you really don't need, including extra meshes, materials and user interface complexity.
- save your current .blend (and make a nice backup file too)
- shut down Blender entirely
- open up Blender again, which will load the default settings
- delete the cube and cameras from the default settings
- Append all the useful parts of your library .blend file (including the useful test-rendering items)
- select the proper test-rendering camera for users to try out your model quickly (select, then Ctrl+KEYPAD0)
- adjust the views to ensure important things are visible and ready to render
- save the new library .blend, ready to publish
Blender saves the default settings in a file called .b.blend on your disk. If your own preferred default settings are still too complicated for newcomers to understand, you can move that file away temporarily to get the "factory" built-in default settings which the Blender team produces as a part of each new version of the software. Move the file back again when you want to go back to your individual way of working.
Publishing Your Library
It's helpful to include the .txt file and/or post it separately so that people can read a summary before loading the blend file. This should include any credits, usage notes, layer explanations, and licensing information. For you Unix folks, remember to run it through unix2dos to enforce \r\n CRLF newlines, readable by people with less flexible tools such as Windows Notepad.
It's also of immense benefit to put up small test-renders of your library objects or materials. They don't need to be large but they should give an honest view of the work you're sharing before a potential user takes the time to download library files that will not be useful to them.
So, where do you publish your work of artistic genius?
- http://www.e2-productions.com/bmr Blender 3D Model Repository
- http://blenderartists.org/ forums
- your own website
If you post things on your own website, try not to rely on a free site that will over-run your bandwidth limits and disappear two months later. Search engine links will sometimes live on for years, just frustrating those who were hoping to find a millimeter-accurate model of the Empire State Building.
If you have even more time to spare, consider writing up a tutorial on how you achieved any tricky results!
For every artist who chooses to share their creative works with the community, there are a dozen artists, or even hundreds, who thank you immensely.