Universal Scene Description

Importación de archivos 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:

  • Cámaras

  • Curvas

  • Luces

  • Materiales

  • Mallas

  • Formas primitivas

  • Volumen

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

Nota

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.

These are imported into Blender as Point Clouds using a Modificador Nodos de geometría and the Nodo Instanciar en puntos.

Animaciones

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.

Materiales

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 Presentación en vistas 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.

Orientación del sistema de coordenadas

En caso de que el archivo USD importado utilice el eje Y hacia arriba, se aplicará una rotación automática a los objetos de primer nivel para convertirlos a la orientación usada por Blender (con el eje Z hacia arriba).

Opciones de importación

The following options are available when importing from USD:

General

Máscara de ruta

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

Incluir (o Incluyendo)
Sólo primitivas visibles

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

Sólo primitivas definidas

When disabled this allows importing USD primitives which are not defined, such as those with an override specifier.

Definir rango de fotogramas

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

Crear colección

Add all imported objects to a new collection.

Rutas relativas

Select the file relative to the blend-file.

Escala

Value by which to scale the imported objects in relation to the world’s origin.

Escala de intensidad de luces

Permitirá escalar la intensidad de las luces importadas.

Propiedades personalizadas

Comportamiento al importar atributos de USD como Propiedades personalizadas.

Ninguno:

No importar atributos personalizados de USD.

Usuario:

Imports USD attributes in the userProperties namespace as custom properties. The namespace will be stripped from the property names.

Todos los personalizados:

Imports all USD custom attributes as custom properties. Namespaces will be retained in the property names.

Tipos de objeto

Cámaras

Importará cámaras (perspectiva y ortogonal).

Curvas

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

Luces

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

Materiales

Importará materiales.

Mallas

Importará mallas.

Volúmenes

Import USD OpenVDB field assets.

Nubes de puntos

Imports USD UsdGeomPoints as a Nube de puntos object.

Formas USD

Importará las formas primitivas de USD (cubos, esferas, conos, ect) como mallas de Blender.

Mostrar propósito
Procesar

Incluirá las primitivas marcadas con el propósito Procesamiento (render).

Reemplazo

Incluirá las primitivas marcadas con el propósito Reemplazo (proxy).

Guía

Incluirá las primitivas marcadas con el propósito Guía (guide).

Propósito del material

Intentará importar materiales con un propósito específico. En caso de que ningún material con tal propósito se encontrara enlazado con la primitiva, se importará alternativamente cualquier otro material que sí lo estuviera.

Todo propósito:

Intentará importar materiales marcados como para todo propósito (allPurpose).

Previsualización:

Intentará importar materiales marcados como para previsualización (preview). Alternativamente importará materiales marcados como para todo propósito (allPurpose).

Completo:

Attempt to import full materials. Load allPurpose or preview materials, in that order, as a fallback».

Geometría

Coordenadas UV

Leerá las coordenadas UV de la malla.

Atributos de color

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

Atributos de mallas

Read USD Primvars as mesh attributes.

Subdivisión

Create Subdivision Surface modifiers based on the USD SubdivisionScheme attribute.

Validar mallas

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.

Sistemas de control

Formas clave

Imports USD blend shapes as Blender’s Formas clave.

Esqueletos

Imports USD skeletons as Blender’s Esqueletos.

Materiales

Importar todos los materiales

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

Importar previsualización USD

Convert USD Preview Surface shaders to Principled BSDF shader networks.

Crear material de entorno

Converts the first discovered USD dome light to a world background shader.

Definir fundido de material

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.

Colisión de nombres de materiales

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

Hacer único:

Import each USD material as a unique Blender material.

Referenciar existente:

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

Texturas

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.

Importar texturas

Behavior when importing textures from a USDZ archive.

Ninguno:

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

Empacadas:

Importará las texturas como datos empacados en el archivo de Blender.

Copiar:

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

Directorio de texturas

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.

Colisión de nombres de archivo

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

Usar existente:

En caso de que ya existiera un archivo con el mismo nombre, éste será usado en vez de copiarlo.

Sobrescribir:

Sobrescribirá los archivos existentes.

Partículas e instanciado

Instancias de la escena

Importará las instancias de la gráfica de la escena USD como instancias de colecciones, en caso contrario serán importadas como copias.

Exportación a archivos USD

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.

Los siguientes tipos de objetos podrán ser exportados a USD:

  • Mallas (de diferentes tipos, ver debajo).

  • Cámaras (por el momento sólo cámaras en perspectiva, no las ortogonales).

  • Luces (todos los tipos, excepto las de área).

  • Pelo (exportado como curvas y limitado a las hebras primarias).

  • Volúmenes (tanto estáticos como animados).

  • Esqueletos

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.

Nota

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.

Opciones de exportación

The following options are available when exporting to USD:

General

Primitiva de primer nivel

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

Incluir (o Incluyendo)
Sólo lo seleccionado

When checked, only selected objects are exported. Instanced objects, for example collections that are instanced in the scene, are considered “selected” when their instancer is selected.

Sólo objetos visibles

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

Animación

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

Datos de Blender
Propiedades personalizadas

Exports Custom Properties as USD attributes. The Namespace property is used to determine the namespace that the attributes are written to.

Espacio de nombres

If set, add the given namespace as a prefix to exported custom property names. This only applies to property names that do not already have a prefix (e.g., it would apply to name bar but not foo:bar) and does not apply to Blender object and data names which are always exported in the userProperties:blender namespace.

By default, userProperties namespace is used.

Nombres de Blender

Author USD custom attributes containing the original Blender object and object data names.

Permitir Unicode

Preserves UTF-8 encoded characters when writing USD prim and property names (requires software utilizing USD 24.03 or greater when opening the resulting files).

Archivos referenciados
Rutas relativas

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

Convertir orientación

Convertirá los ejes de orientación a una convención distinta, para que coincida con la de otras aplicaciones. Blender utiliza Y como avance, Z hacia arriba (puesto que la vista frontal mira en dirección al eje +Y). Por ejemplo, es común que las aplicaciones utilicen Y como el eje superior, en ese caso se deberá usar -Z como avance e Y como eje superior.

Eje de avance / superior

By mapping these to different axes you can convert rotations between applications default up and forward axes.

Operadores de transformación

The type of transform operators to use to transform prims.

Posición, Rotación, Escala:

Export with translate, rotate, and scale Xform operators.

Posición, Orientación, Escala:

Export with translate, orient quaternion, and scale Xform operators.

Matriz:

Export matrix operator.

Usar opciones de

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.

Tipos de objeto

Mallas

Exportará objetos de tipo Malla

Luces

Exportará objetos de tipo Luz. USD no soporta luces de tipo Foco directamente, por lo que ese tipo de luces no será exportado.

Cámaras

Exportará objetos de tipo Cámara. Sólo se exportarán las cámaras de tipo perspectiva.

Curvas

Exportará objetos de tipo Curva

Nubes de puntos

Exportará objetos de Nubes de puntos como primitivas de tipo UsdGeomPoints.

Volúmenes

Exportará objetos de tipo Volumen

Pelo

Exports parent hair strands are exported as a curve system. Hair strand colors are not exported.

Geometría

Mapas UV

When checked, includes UV coordinates for exported meshes. The name of the UV map in USD is the same as the name in Blender.

Renombrar mapas UV

Exports UV maps using the USD default name (st) as opposed to Blender’s default name (UVMap).

Normales

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

Triangular

Triangulates the mesh before writing. For more detail on the specific option see the Triangulate modifier.

Sistemas de control

Formas clave

Export shape keys as USD blend shapes.

Las Formas clave absolutas no son soportadas.

Esqueletos

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

Limitaciones:

  • Los modificadores, más allá de los modificadores de Esqueleto, no serán aplicados.

  • Los huesos flexibles no son soportados.

Sólo huesos deformantes

Only export deform bones and their parents.

Materiales

Exports material information of the object. By default the exporter approximates the BSDF Principista node tree by converting it to USD’s Preview Surface format.

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.

Nota

If USD Preview Surface Network and MaterialX Network are disabled, the material is set to the viewport materials of meshes.

Red de previsualización de superficies USD

Approximates a BSDF Principista node tree to by converting it to USD’s Preview Surface format.

Advertencia

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

Red MaterialX

Generates material shading graphs using the MaterialX standard. This standard is designed to support a high amount of interoperability among DCCs <Digital Content Creation>. In Blender, MaterialX supports most of the shader nodes and their functionality but has a few caveats (see below).

Precauciones con la implementación

When using the Principled BSDF, the resulting graph is very usable. However, when using some of the other BSDFs, some of the generated shading graphs are difficult for other DCC’s to understand.

Convertir material del entorno

Convert the world material to a USD dome light. Currently works for simple materials, consisting of an environment texture connected to a background shader, with an optional vector multiply of the texture color.

Exportar texturas

Método para exportar texturas.

Mantener:

Use original location of textures.

Preservar:

Preserve file paths of textures from already imported USD files. Export remaining textures to a “textures” folder next to the USD file.

New Path:

Export textures to a “textures” folder next to the USD file.

Sobrescribir texturas

Allow overwriting existing texture files when exporting textures.

Reducción muestreo de texturas USDZ

Choose a maximum size for all exported textures.

Mantener:

Mantendrá los tamaños actuales de todas las texturas.

256:

Las redimensionará a un máximo de 256 píxeles.

512:

Las redimensionará a un máximo de 512 píxeles.

1024:

Las redimensionará a un máximo de 1024 píxeles.

2048:

Las redimensionará a un máximo de 2048 píxeles.

4096:

Las redimensionará a un máximo de 4096 píxeles.

Personalizado:

Permitirá especificar un tamaño personalizado.

Tamaño reducción USDZ personalizado

El tamaño en píxeles de la reducción de muestreo Personalizado.

Experimental

Instanciado

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.

Limitaciones del exportador

Mallas de un solo lado y de doble lado

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.

Normales de mallas

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.

Velocidades de vértices

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.

Materiales

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.

Pelo

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

Cámara

Only perspective cameras are exported.

Luces

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

Partículas

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.

Instanciado y referenciamiento

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.)