Blender is a very large and complex piece of software. For working on Unvanquished, we suggest using the latest version. If you are still using 2.4 because you are comfortable with its GUI, make the switch! There are too many new features to take advantage of not to, and it will be easier to work with other artists on the team if you do.
- 1 Organizing Large Files
- 2 Tips and Tricks
- 3 Troubleshooting
- 4 Python Scripting
- 5 Extensions
- 6 Resources
Organizing Large Files
- Keep your vertex groups organized by name. If there are too many vertex groups to do this by hand, open a python console and use the following command at the prompt after selecting the object whose vertex group names are to be sorted:
- Do not create vertex groups for bones that are not intended to deform the mesh.
- When parenting an armature to a mesh, do not select "With Automatic Weights". This may save you the time of creating vertex groups, but you will likely have groups that you do not want, such as for pose bones (i.e., those that manipulate other bones indirectly with constraints but are not intended to deform the mesh), or will assign too many vertex weights to vertices. (The daemon engine, for performance reasons, only supports four weights per vertex.)
Naming Conventions for Objects
Name objects using a period-delimited (
.) hierarchy. Generally speaking, name datablocks with the same name as the object but with a
.d suffix to distinguish them from objects.
You are free to organize this hierarchy however you see fit, but please be consistent.
In some instances, using the suffixes
_R instead of
.Right may be necessary for certain features to work. This is also acceptable.
Place all textures in a subdirectory named "Textures". Ensure that your file paths in Blender use the matching case so that users on case-sensitive filesystems will not have problems.
Use relative file paths for textures, and the following naming convention:
- Name — (Required) The name of the model. If the model is a character class or weapon, use that name.
- TextureType — (Required) A name indicating the type of information the texture contains. Please use one of the following:
An alpha map.
The diffuse (albedo) color.
A diffuse map with an alpha channel.
A glow map.
A normal map.
A specular color map.
A specular hilight map.
- AlternateResolution — (Optional) The resolution of the texture in the form WidthxHeight. Only include the resolution of the texture in the name if there are multiple resolutions to choose from.
- format — (Required) The format of the image. For JPEG images, the
jpgextension is preferred over
Do's and Don'ts
- Don't create a diffuse texture without appending
_Diffuseto the name.
- Don't create a stand-alone alpha map that is not in greyscale; if you create a stand-alone alpha map with an alpha channel containing alpha, the filesize will only be larger (if only slightly).
Tips and Tricks
- The desired playback framerate can be set under Properties → Render → Dimensions → Frame Rate.
- When sharing work between computers, use relative filepaths. Start a pathname with "//" and Blender looks starting relative to the folder that the .blend file is in.
White marks are visible around the edges of alpha-mapped textures
Enable "Premultiply Alpha".
Please see the full article.
Note that the Blender Python API is constantly in flux, so these may or may not work with newer versions of Blender than they were written for.
|Purpose||Format||Last updated||Known to work with||Link||Notes|
|Export||MD5||Unknown||2.59 (partially)||katsbits.com||Warning: this exporter does not work with newer versions of Blender, and never worked very well to begin with! There is a newer exporter that you should use instead. Please see the exporting guide for more information.|
- Blender Python API Docs
- Release Notes
- API reference
- API reference for Blender 2.66.0 (nothing changed in this release)
- API reference for Blender 2.65.3 (changelog)
- API reference for Blender 2.64.5 (changelog)
- API reference for Blender 2.63.7 (changelog)
- API reference for Blender 2.62.1 (changelog)
- API reference for Blender 2.61.0 (changelog)
- API reference for Blender 2.59.0 (changelog)
- Code snippets
- A user's collection of code snippets