Skip to content

Blender 2.90: Import & Export

Alembic

  • Matrices with negative scale can now be properly interpolated. This means that it is now possible to take an Alembic file that was saved at 30 FPS and load it into a 24 FPS Blender file, even when there are mirrored objects. (a5e176a8ed and demo videos in D8048).
  • Object data is now exported with the object data name (0d744cf673). Previously the Alembic exporter exported a mesh object to {object.name}/{object.name}Shape. Now it exports to {object.name}/{mesh.name} instead. The same change also applies to other object data types.
  • Spaces, periods, and colons in the names of particle systems are now replaced with underscores (f106369ce8). Other types already had spaces, periods, and colons replaced by underscores, and now particle systems are exported with the same naming convention.
  • Blender now always exports transforms as as "inheriting", as Blender has no concept of parenting without inheriting the transform (2dff08c8ce). Previously only objects with an actual parent were marked as "inheriting", and parentless objects as "non-inheriting". However, certain packages (for example USD's Alembic plugin) are incompatible with non-inheriting transforms and will completely ignore such transforms, placing all such objects at the world origin.
  • Blender now exports Alembic using the same approach as USD. This means that Alembic and USD files are more consistent, and that it's easier to solve (or even prevent) certain bugs (2917df21ad). Changes are:
    • Duplicated objects now have a unique numerical suffix (also see above).
    • Matrices are computed differently. This fixes T71395, but otherwise should produce the same result as before (but with simpler, more predictable code).
  • Alembic's obsolete HDF5 compression format has never been officially supported by Blender, but only existed as an optional build-time option that was disabled for all Blender releases. The support for HDF5 has now been completely removed (0c38436227, 0102b9d47e).

USD

  • Hair particle systems are now exported using the Particle System name. Previously this was done with the Particle Settings name. This gives more control over the final name used in USD and is consistent with the Alembic exporter. (fc0842593f).

Instances

USD and Alembic export can now correctly export nested instances. Further, numbers used to identify duplicated (i.e. instanced) objects have been reversed (98bee41c8a).

This produces hierarchies like this:

Triangle
|--TriangleMesh
|--Empty-1
|    +--Pole-1-0
|        |--Pole
|        +--Block-1-1
|            +--Block
|--Empty
|    +--Pole-0
|        |--Pole
|        +--Block-1
|            +--Block
|--Empty-2
|    +--Pole-2-0
|        |--Pole
|        +--Block-2-1
|            +--Block
+--Empty-0
+--Pole-0-0
|--Pole
+--Block-0-1
+--Block

It is now clearer that Pole-2-0 and Block-2-1 are instanced by Empty-2. Before Blender 2.90 they would have been named Pole-0-2 and Block-1-2.

glTF 2.0