Universal Scene Description

Импорт файлов USD

USD files typically represent the scene as a hierarchy of primitives, or prims. Individual prims contain data to describe scene entities, such as geometry, lights, cameras and transform hierarchies. Blender’s USD importer converts USD prims to a hierarchy of Blender objects. Like the USD exporter, the importer does not yet handle more advanced USD concepts, such as layers and references.

The following USD data types can be imported as Blender objects:

  • Камеры (Cameras)

  • Curves

  • Lights

  • Вещества (materials)

  • Полисетки (Meshes)

  • Примитивные формы

  • Объём (volume)

For more information on how the various data types are handled, see the following descriptions of the Import Options.

Примечание

When importing a USDZ archive, it is important to carefully consider the Import Textures option to determine whether and how to copy texture files from the zip archive.

Xform and Scope Primitives

USD provides an Xform prim type, containing transform data, which can be used to represent transform hierarchies and to organize the scene. Such Xform prims are imported as Blender empty objects.

USD also supports Scope primitives, which are entities that do not contain transform data, but which serve to group other element of the scene. Blender doesn’t have an exact counterpart to the concept of a scope, so such primitives are imported as Blender empties located at the origin. This is an imperfect representation, because empty objects have a transform and Scopes do not, but this approach nonetheless helps preserve the structure of the scene hierarchy.

Плоские примитивы (PointInstancer Primitives)

USD provides a UsdGeomPointInstancer prim type, containing instances that are scattered on a primitive’s points.

Они импортируются в Blender как Облака Точек с помощью Модификатор Geometry Nodes и Узел Instance on Points.

Animations

The importer supports two types of animation:

  • Animating transforms: If a USD primitive has time-varying transform data, a Transform Cache constraint will be added to the imported Blender object.

  • Animating geometry: Animating mesh and curve geometry is supported by adding a Mesh Sequence Cache modifier to the imported data. Geometry attribute (USD Primvar) animation is currently supported only for Color Attributes and UVs. Note that USD file sequences (i.e. a unique file per frame) are not yet supported.

Вещества (materials)

If a USD mesh or geometry subset has a bound material, the importer will assign to the Blender object a material with the same name as the USD material. If a Blender material with the same name already exists in the scene, the existing material may be used, depending on the Material Name Collision option. Otherwise, a new material will be created.

If the USD material has a USD Preview Surface shader source, the Отображение во вьюпорте (viewport display) color, metallic, and roughness are set to the corresponding USD Preview Surface input values.

There is also an Import USD Preview option to convert USD Preview Surface shaders to Blender Principled BSDF shader nodes. This option can be lossy, as it does not yet handle converting all shader settings and types, but it can generate approximate visualizations of the materials.

Coordinate System Orientation

If the imported USD is Y up, a rotation will be automatically applied to root objects to convert to Blender’s Z up orientation.

Параметры импорта

При импорте USD доступны следующие варианты:

Типы данных
Камеры (Cameras)

Import cameras (perspective and orthographic).

Curves

Import curve primitives, including USD basis and NURBS curves. (Note that support for Bézier basis is not yet fully implemented.)

Lights

Import lights. Does not currently include USD dome, cylinder or geometry lights.

Вещества (materials)

Импортировать материалы.

Полисетки (Meshes)

Импортировать меши.

Volumes

Import USD OpenVDB field assets.

Формы

Imports USD primitive shapes (cubes, spheres, cones, ect) as Blender meshes.

Скелеты

Imports USD skeletons as Blender’s Armatures.

Смешивание фигур

Imports USD skeletons as Blender’s Shape Keys.

Маска пути

Import only the subset of the USD scene rooted at the given primitive.

Масштаб (scale)

Значение, по которому можно масштабировать импортированные объекты относительно мирового ориджина (world’s origin).

Mesh Data
UV Coordinates

Чтение UV-координат меша.

Атрибуты цвета

Convert the USD mesh displayColor values to Blender’s Color Attributes.

Атрибуты меша

Read USD Primvars as mesh attributes.

Validate Meshes

Check the imported mesh for corrupt data and fix it if necessary. When disabled, erroneous data may cause crashes displaying or editing the meshes. This option will make the importing slower but is recommended, as data errors are not always obvious.

Включает
Subdivision (подразделение)

Create Subdivision Surface modifiers based on the USD SubdivisionScheme attribute.

Scene Instancing

Import USD scene graph instances as collection instances, otherwise they are imported as copies.

Visible Primitives Only

Do not import invisible USD primitives. Only applies to primitives with a non-animated visibility attribute. Primitives with animated visibility will always be imported.

Направляющие (guide)

Include primitives with purpose guide.

Proxy

Include primitives with purpose proxy.

Рендер

Include primitives with purpose render.

Параметры
Установить диапазон кадров

Update the scene’s start and end frame to match those of the USD stage.

Relative Path (Относительный путь)

Выберать файл относительно blend-файла.

Создать коллекцию

Add all imported objects to a new collection.

Light Intensity Scale

Шкала интенсивности импортированных источников света.

Вещества (materials)

Импортировать все материалы

Also import materials that are not used by any geometry. Note, when this option is false, materials referenced by geometry will still be imported.

Import USD Preview

Convert USD Preview Surface shaders to Principled BSDF shader networks.

Set Material Blend

If the Import USD Preview option is enabled, the material blend method will automatically be set based on the opacity and opacityThreshold shader inputs, allowing for visualization of transparent objects.

Конфликт названий материалов

Behavior when the name of an imported material conflicts with an existing material.

Make Unique:

Import each USD material as a unique Blender material.

Существующая ссылка:

If a material with the same name already exists, reference that instead of importing.

Текстуры

When importing a USDZ package, the following options specify whether and how texture asset dependencies of the USD should be copied from the zip archive so they can be loaded into Blender.

Импортировать текстуры

Behavior when importing textures from a USDZ archive.

Нет (none):

Don’t import textures. Note that, with this option, material textures may fail to be resolved in Blender.

Запакованный:

Import textures as packed data in the Blender file.

Копировать (copy):

Copy files to the directory specified in the Textures Directory option.

Каталог текстур

Path to the directory where imported textures will be copied, when the Import Textures mode is Copy.

Note that the default textures directory is the relative path //textures, which requires the Blender file to have been saved before importing, so the relative path can be resolved.

Конфликт имён файлов

Behavior when the name of an imported texture file conflicts with an existing file.

Использовать имеющийся:

If a file with the same name already exists, use that instead of copying.

Overwrite:

Перезаписать имеющиеся файлы.

Exporting to USD Files

Universal Scene Description (USD) files can contain complex layering, overriding, and references to other files. Blender’s USD Exporter takes a much simpler approach. When exporting, all visible, supported objects in the scene are exported, optionally limited by their selection state. Blender does not (yet) support exporting invisible objects, USD layers, variants, etc.

The following objects can be exported to USD:

  • Meshes (of different kinds, see below).

  • Cameras (perspective cameras only at the moment, not orthogonal ones).

  • Light (all types except area lights).

  • Hair (exported as curves, and limited to parent strands).

  • Volume (both static and animated volumes).

  • Armatures

When exporting an animation, the final, evaluated mesh is written to USD. This means that the following meshes can be exported:

  • Static meshes.

  • Deforming meshes; here the topology of the mesh does not change, but the locations of the vertices change over time. Examples are animated characters or bouncing (but not cracking) objects.

  • Arbitrarily animated meshes; here the topology does change. An example is the result of a fluid simulation, where splashes of fluid can break off the main body.

  • Metaballs are exported as animated meshes.

Примечание

To export the Blender scene as a USDZ archive, set the file extension of the output file to .usdz. The exported USDZ package will be a zip archive containing the USD and its texture file dependencies.

../../_images/files_import-export_usd_example.png

Shot from Spring exported to USD and opened in USDView.

Export Options

The following options are available when exporting to USD:

Только выбранное

Если этот флажок установлен, экспортируются только выбранные объекты. Экземплярные объекты (instanced objects), например коллекции, созданные в сцене, считаются «выбранными», когда выбран их экземпляр (instancer).

Visible Only

Only exports objects that are not hidden. Invisible parents of exported objects are exported as empty transforms.

Анимация

When checked, the entire scene frame range is exported. When unchecked, only the current scene frame is exported.

Волосы (hair)

When checked, parent hair strands are exported as a curve system. Hair strand colors are not exported.

UV Maps

When checked, includes UV coordinates for exported meshes. The name of the UV map in USD is the same as the name in Blender. In USD the default name is st whereas in Blender the default name is UVMap. To export to the standard UV map name st, rename the UV map in Blender to st.

Нормали (normals)

When checked, includes normals for exported meshes. This includes custom loop normals.

Вещества (materials)

Exports material information of the object. By default the exporter approximates the Principled BSDF node tree by converting it to USD’s Preview Surface format. If To USD Preview Surface is disabled, the material is set to the viewport materials of meshes.

Additional material properties are set in the Material grouping of options.

When a mesh has multiple materials assigned, a geometry subset is created for each material. The first material (if any) is always applied to the mesh itself as well (regardless of the existence of geometry subsets), because the Hydra viewport does not support materials on subsets. See USD issue #542 for more information.

Rigging
Armatures

Export Armatures and meshes with Armature Modifiers as USD skeletons and skinned meshes.

Limitations:

  • Modifiers in addition to Armature modifiers will not be applied.

  • Гибкие кости не поддерживаются.

Only Deform Bones

Only export deform bones and their parents.

Shape Keys

Export shape keys as USD blend shapes.

Absolute shape keys are not supported.

Root Prim

If set, add a transform primitive with the given path to the stage as the parent of all exported data.

Use Settings for

Determines the whether to use Viewport or Render visibility of collection, modifiers, or any other property that can be set for both the Viewport and Render.

Вещества (materials)

Additional options when Materials are enabled for export.

К (USD)(Универсальное описание сцены) предпросмотру поверхности

When exporting materials, approximate a Principled BSDF node tree to by converting it to USD’s Preview Surface format. If disabled, the material is set to the viewport materials of meshes.

Предупреждение

Not all nodes are supported; currently only Diffuse, Principle, Image Textures, and UVMap nodes are support.

Экспорт текстур

Export textures referenced by shader nodes to a «textures» folder which in the same directory as the USD file.

Перезаписать текстуры

Allow overwriting existing texture files when exporting textures.

Ссылки к файлам

Relative Paths

Use relative paths to reference external files (i.e. textures, volumes) in the exported USD file, otherwise use absolute paths.

Experimental

Создание экземпляров

As this is an experimental option. When unchecked, duplicated objects are exported as real objects, so a particle system with 100 particles that is displayed with 100 meshes will have 100 individual meshes in the exported file. When checked, duplicated objects are exported as a reference to the original object. If the original object is not part of the export, the first duplicate is exported as real object and used as reference.

Ограничения экспортёра

Single-sided and Double-sided Meshes

USD seems to support neither per-material nor per-face-group double-sidedness, so Blender uses the flag from the first material to mark the entire mesh as single/double-sided. If there is no material it defaults to double-sided.

Mesh Normals

The mesh subdivision scheme in USD is „Catmull-Clark“ by default, but Blender uses „None“ instead, indicating that a polygonal mesh is exported. This is necessary for USD to understand the custom normals; otherwise the mesh is always rendered smooth.

Vertex Velocities

Currently only fluid simulations (not meshes in general) have explicit vertex velocities. This is the most important case for exporting velocities, though, as the baked mesh changes topology all the time, and thus computing the velocities at import time in a post-processing step is hard.

Coordinate System Orientation

Blender uses the Z axis as up axis. Since USD supports both Y up and Z up, the USD files written by Blender always use Z up.

Вещества (materials)

Very simple versions of the materials are exported, using only the Отображение во вьюпорте (viewport display) color, metallic, and roughness.

When there are multiple materials, the mesh faces are stored as geometry subset and each material is assigned to the appropriate subset. If there is only one material this is skipped. Note that the geometry subsets are not time-sampled, so it may break when an animated mesh changes topology.

Волосы (hair)

Only the parent strands are exported, and only with a constant color. No UV coordinates, and no information about the normals.

Камера (camera)

Only perspective cameras are exported.

Lights

USD does not directly support spot lights, so those are not exported.

Частицы (Particles)

Particles are only written when they are alive, which means that they are always visible. There is currently no code that deals with marking them as invisible outside their lifespan.

Objects instanced by particle system are exported by suffixing the object name with the particle’s persistent ID, giving each particle transform a unique name.

Instancing/Referencing

This is still an experimental feature that can be enabled when exporting to USD. When enabled, instanced object meshes are written to USD as references to the original mesh. The first copy of the mesh is written for real, and the following copies are referencing the first. Which mesh is considered „the first“ is chosen more or less arbitrarily.

USDZ

Due to a current limitation in the USD library, UDIM textures cannot be include in the USDZ archive. This limitation will likely be addressed in a future version of USD. (See USD pull request #2133.)