Alembic is an open source geometry caching format that promotes interoperability between authoring tools. From alembic.io:
Alembic distills complex, animated scenes into a non-procedural, application- independent set of baked geometric results. This ‘distillation’ of scenes into baked geometry is exactly analogous to the distillation of lighting and rendering scenes into rendered image data.
Alembic is focused on efficiently storing the computed results of complex procedural geometric constructions. It is specifically NOT concerned with storing the complex dependency graph of procedural tools used to create the computed results. For example, Alembic will efficiently store the animated vertex positions and animated transforms that result from an arbitrarily complex animation and simulation process, but will not attempt to store a representation of the network of computations (rigs, basically) which were required to produce the final, animated vertex positions and animated transforms.
The Alembic code can be found in a git repository at
$ git clone http://github.com/alembic/alembic
Before Alembic can be built, you will need to satisfy its external dependencies:
Note that the versions given parenthetically above are minimum-tested versions. You may have good luck with later or earlier versions, but this is what we’ve been building Alembic against.
Run the cmake command. You can either run this in your source root, or create a separate build root and pass the source root to cmake:
$ cd <source root> $ cmake [OPTIONS]
Some of the available build options can be found in the CMakeLists.txt file.
In order to use Alembic in Python, you must first build both Alembic and the Alembic Python bindings.
$ cmake -DUSE_PYALEMBIC