Page MenuHome

Alembic / USD
Confirmed, NormalPublicDESIGN

Description

Status: Milestone 1 is done. Project needs plans / tasks and commissioners and to clear up partners (Tangent? Epic?) involvement. Particularly to define the USD importer scope use cases and priorities.


Team

Commissioner: @Rafael Moco (rafaelmoco) (Alembic) @Ton Roosendaal (ton) (USD)
Project leader: @Sybren A. Stüvel (sybren)
Project members: ?

Description

Big picture: Feature parity with other software.

Use cases: ?

Design: ?

Engineer plan:

  • Unifying cache read/write system for Alembic and USD,

Milestone 1 - Basic USD Exporter Done - Blender 2.82

  • Animated meshes, viewport material (diffuse, metalicness and roughness), animated transforms, perspective camera, most lights (with some properties animated).
  • Skeletal animation or non-mesh geometry is not part of the exporter.

Milestone 2 - Alembic exporter refactoring
Time estimate: ?

  • Re-implementation of the exporter based on the USD exporter. D7664
    • Transforms
    • Meshes
    • Cameras
    • Curves
    • Hair curves
    • Nurbs
    • Points
  • Include support for instances.
  • Support export of custom properties - T50725.

Milestone 3 - Export / evaluate hidden objects
Time estimate: ?

  • Dependency graph changes (or other approach) to handle hidden objects.

Milestone 4 - Alembic cache integration importing
Time estimate: ?

  • Add a 'cache' step to the AnimData struct. If set, cached data would be loaded by the animation system first, before applying F-curves and drivers as usual.
  • Reading arbitrary RNA values from cache files.
  • Implementation aligned with USD requirements.

Milestone 5 - Alembic importer wrap up
Time estimate: ?

  • Supporting different kinds of data-blocks (e.g., curves)
  • Render integration (i.e., motion blur)

Milestone 6 - USD exporter feature extension
Time estimate: ?

  • Yet to be defined targets.
  • Possibly skeletal animation (probably limited to a subset of Blender's features), i.e. export static mesh + animated armature.

Milestone 7 - USD importer
Time estimate: ?
To be defined.

Later

  • Handling Alembic files as a collection (rather than importing individual objects). This should allow automatically importing new objects added to the Alembic file, and bringing back previously deleted objects. Marked for 'later' as it has very similar design challenges as library overrides, and likely will benefit from a mutual design.

Dependencies

  • Milestone 1 - Basic USD Exporter: Done - Blender 2.82
  • Milestone 2 - Alembic exporter refactoring: Depends on Milestone 1.
  • Milestone 3 - Export / evaluate hidden objects: Requires no other milestone.
  • Milestone 4 - Alembic cache integration importing: Requires no other milestone.
  • Milestone 5 - Alembic importer wrap up: Depends on Milestone 4.
  • Milestone 6 - USD exporter feature extension: Depends on Milestone 1.
  • Milestone 7 - USD importer: Depends on Milestone 4.

Relevant links:

Event Timeline

Campbell Barton (campbellbarton) changed the task status from Needs Triage to Confirmed.Feb 12 2020, 8:29 AM

Hi, the release notes for 2.82 says that USD export is done. But I can not find it on the export menu. Can you tell me how to export to USD?

@feng xie (fengfayfay) This is not a support forum. Please visit https://www.blender.org/support/ to find support channels.