Reference/Release Notes/2.80/Import Export

Blender 2.80: Import / Export


The Khronos glTF 2.0 importer and exporter is now bundled with Blender. This file format is designed for efficient loading of 3D scenes, often used for game engines and 3D content on the web.

It includes support for objects, meshes, cameras, PBR materials and animation. For more details, see the glTF add-on documentation in the manual.


  • The interface has been reorganized to look more like the FBX interface. (322cf89)
  • Initial node based material I/O based on Principled BSDF.
  • Exact preservation of material, bone and object names, encoded with XML entities.
  • Object and Bone Hierarchies are now exported correctly based on parenting in Blender.


  • Export now can do either keyframes, or baked animations with a user-defined sampling rate.
  • Export supports translation/rotation/scale export of channels (f-curves) and matrix data export (entire transformation matrix).
  • Export of object hierarchies is now correctly supported, taking into account the parent inverse matrix.
  • Animation clip export support.
  • Import has been updated to allow support everything that can be exported.
  • New options
    • Disable animation export.
    • Keep Keyframes
    • Keep Smooth Curves

Details in 322cf89.


Exporting metaballs as an animated mesh

  • Only basis balls are exported, as they represent the resulting mesh. As a result the mesh is written to Alembic using the name of the basis ball. (89eb05a89)
  • MetaBalls are converted to a mesh on every frame, then an AbcMeshWriter is used to write that mesh to Alembic.

Exporting curves & NURBS surfaces as animated mesh

Blender 280 alembic curves as mesh.png

Curves and NURBS can now be exported as mesh to Alembic. For this to work the exported objects must have faces, so it requires extrusion or beveling or otherwise giving the curves a non-zero width. When exporting, check the "Curves as Mesh" checkbox to enable this behaviour. (3ce9bcee7053)

By default curves & NURBS are still exported as Alembic curves/NURBS.

Frame Offset

Imported Alembic files can now be offset by a number of frames. The offset is subtracted from the current frame number to obtain the frame retrieved from the Alembic file. This way dragging slider pushes the animation further that way on the timeline. (6099b2620d)

Video Output


  • The metadata system has been generalised so that it is no longer tied to images (but can handle any IDProperty *) (b0a767b85b0).
  • Video files written via FFmpeg now also have metadata from the 'Metadata' panel written (6374d390d36).
  • Added a new metadata field 'Frame Range', which writes the scene's frame range "start:end", for example "32:88" (6c3110a6612). This allows mapping back from a video's frame to the Blender frame that produced it.
  • Movie clips and movie sequencer strips now load metadata from video files (ea0e2f9bd38). This metadata is exposed in Python by calling the metadata() function.


Rename "None" to more descriptive name in the encoding panels (245e01c30a).

  • "Codec: None" now reads "No Video"
  • "Audio Codec: None" now reads "No Audio"
  • "Output Quality: None; ..." now reads "Constant Bitrate"

When selecting "No Video" the remaining video encoding options are hidden, making it even more explicit that there will not be video in the output file.

The label "Codec" now reads "Video Codec" for symmetry with "Audio Codec".


WebM support has been added, via FFmpeg's VP9 encoder (7e39d151d85).

WebM/VP9 and h.264 both have options to control the file size versus compression time (e.g. fast but big, or slow and small, for the same output quality). Since WebM/VP9 only has three choices, we've chosen to map those to 3 of the 9 possible choices of h.264. The choices now are:

  • Good: the default and recommended for most applications.
  • Slower: recommended if you have lots of time and want the best compression efficiency.
  • Realtime: recommended for fast encoding.