Universal Scene Description¶
Importación de archivos USD¶
Los archivos USD normalmente representarán una escena como una jerarquía de primitivas (también conocidas como prims <https://graphics.pixar.com/usd/release/glossary.html#USDGlossary-Prim>). Las primitivas individuales contendrán datos que describirán entidades de la escena, tales como geometría, luces, cámaras y jerarquías de transformación. El importador de USD de Blender convertirá estas primitivas USD a una jerarquía de objetos de Blender. Al igual que sucede con el exportador USD, el importador no es aún capaz de manipular ciertos tipos de conceptos de composición del formato USD, tales como las capas y las referencias.
Los siguientes tipos de datos de USD podrán ser importados como objetos de Blender:
Cámaras
Curvas
Luces
Materiales
Mallas
Nubes de puntos
Formas primitivas
Volúmenes
Para más información sobre cómo se manipulan los distintos tipos de datos, ver las siguientes descripciones de las Opciones de importación.
Nota
Al importar un archivo USDZ, será importante considerar cuidadosamente la opción Importar texturas para determinar si y cómo se copiarán los archivos de texturas desde el archivo zip original.
Primitivas de transformación y ámbito¶
USD proporciona un tipo de primitiva de transformación (denominada Xform
), que contiene datos de transformación. Estas primitivas podrán ser usadas para representar jerarquías de transformación y para organizar la escena. Este tipo de primitivas serán importadas en Blender como objetos vacíos.
USD también tiene primitivas de ámbito (denominadas Scope
); se trata de entidades que no contienen datos de transformación, pero que sirven para agrupar otros elementos de una escena en un ámbito común. Blender no tiene una contraparte exacta para este concepto de «ámbito», por lo que tales primitivas serán importadas en Blender como objetos vacíos ubicados en el origen global. Esta es, sin duda, una representación imperfecta, debido a que los objetos vacíos sí tienen transformaciones, mientras que los ámbitos
no, sin embargo este enfoque ayudará igualmente a preservar la estructura jerárquica de la escena.
Primitivas de instanciador en puntos¶
USD proporciona un tipo de primitiva de instanciador en puntos (denominadas UsdGeomPointInstancer
), que es capaz de contener instancias que se encuentran distribuidas en los puntos de una primitiva.
Éstas serán importadas a Blender como nubes de puntos usando un Modificador Nodos de geometría y el Nodo Instanciar en puntos.
Animaciones¶
El importador soporta dos tipos de animación:
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: Animated mesh, curve, and point cloud geometry is supported by adding a Mesh Sequence Cache modifier to the imported data. Geometry attribute (USD Primvar) animation is supported for all data types which have corresponding Blender equivalents. This includes colors, UVs, velocities, and other generic attribute data. Note that USD file sequences (i.e. a unique file per frame) are not 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¶
Al importar un archivo USD estarán disponibles las siguientes opciones:
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
Actualizará los fotogramas de inicio y fin de la escena para que coincidan con los del escenario del archivo USD.
- Crear colección
Agregará todos los objetos importados a una nueva colección.
- Rutas relativas
Permitirá seleccionar el archivo en relación con la ruta del archivo .blend.
- Aplicar escala de conversión de unidades
Scale the scene objects by the USD Stage
metersPerUnit
value. This scaling is applied in addition to the value specified in the Scale option.- 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á la primitivas de tipo
UsdGeomCamera
como objetos de tipo Cámara (perspectiva u ortogonal).- Curvas
Import
UsdGeomBasisCurves
primitives as Curves andUsdGeomNurbsCurves
as Blender meshes.- Luces
Importará las luces como objetos de tipo Luz. Actualmente no soporta luces cilíndricas o de geometría.
- Bóveda de luz global
Converts the first discovered
UsdLuxDomeLight
dome light to a world background shader.- Materiales
Import UsdPreviewSurface materials.
- Mallas
Importará primitivas
UsdGeomMesh
como objetos de tipo Malla.- Volúmenes
Importará recursos OpenVDB
UsdVolVolume
como objetos de tipo Volumen.- Nubes de puntos
Importará primitivas
UsdGeomPoints
como Nubes de puntos.- Formas USD
Import USD primitive shapes as Blender meshes.
UsdGeomCapsule
,UsdGeomCylinder
,UsdGeomCone
,UsdGeomCube
, andUsdGeomSphere
are supported.- Display Purpose
- 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á primitivas con propósito de
guía
.
- 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á usando el comportamiento alternativo, si existiera.
- 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:
Intentará importar materiales marcados como completos (
full
). Alternativamente importará materiales marcados como para todo propósito (allPurpose
) o previsualización (preview
), en ese orden de precedencia.
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.
- Fundir transformación de superior
Allow USD primitives to merge with their Xform parent if they are the only child in the hierarchy.
Sistemas de control¶
- Formas clave
Importará las «blend shapes» de USD como Formas clave de Blender.
- 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.
- Definir fundido de material
If the Import USD Preview option is enabled, the material blend method will automatically be set based on the
opacity
andopacityThreshold
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.
- Carpeta 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¶
Los archivos en formato Universal Scene Description (USD) podrán contener capas, redefiniciones y referencias complejas a otros archivos. El exportador de USD de Blender toma un enfoque mucho más simple. Al exportar, todos los objetos visibles y soportados de la escena serán exportados, limitándolos opcionalmente según su estado de selección. Blender (aún) no soporta la exportación de objetos invisibles, capas de USD, variantes, 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).
Curvas
Luces
Pelo (exportado como curvas y limitado a las hebras primarias).
Nubes de puntos
Volúmenes
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.

Toma de Spring exportada en formato USD y abierta con el programa 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
Exportará las Propiedades personalizadas como atributos de USD. La propiedad Espacio de nombres será usada para determinar el espacio de nombres al que serán escritos los atributos.
- 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 notfoo:bar
) and does not apply to Blender object and data names which are always exported in theuserProperties: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
Al mapear éstos a diferentes ejes, será posible convertir rotaciones entre aplicaciones que usen distintos ejes para indicar las direcciones de avance y arriba.
- Unidades
Set the USD Stage
metersPerUnit
metadata to the chosen measurement.- Metros por unidad
Value to use for
metersPerUnit
if Custom Units are selected.
- Operadores de transformación
El tipo de operadores de transformación a ser usados para transformar las primitivas.
- 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:
Exportar el operador de matriz.
- Usar opciones de
Determinará si se usará la visibilidad de Vistas o Procesamiento de las propiedades de los objetos, modificadores y otras, al exportar.
Tipos de objeto¶
- Mallas
Exportará objetos de tipo Malla
- Luces
Exportará objetos de tipo Luz. Se usará la
UsdLuxShapingAPI
para soportar luces de tipo Foco.- Bóveda de luz global
Convertirá el material del Entorno en una luz de tipo
UsdLuxDomeLight
. Actualmente funcionará para materiales simples, que consistan en una textura de entorno conectada a un sombreador de fondo, con un producto vectorial opcional del color de la textura.- 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 tipo Nube de puntos
- Volúmenes
Exportará objetos de tipo Volumen
- Pelo
Exportará las hebras principales como un sistema de curvas. El color de las mismas no será exportado.
Nota
The corresponding USD schema type used during Export is analagous to the type read during Import. See the Import section for details.
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.
- Fundir transformación de superior
Merge USD primitives with their Xform parent if possible. USD does not allow nested
UsdGeomGprims
, intermediary Xform prims will be defined to keep the USD file valid when encountering object hierarchies.- Triangular
Triangulará la malla antes de exportar. Para más detalles sobre la opción específica ver el modificador Triangular.
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.
Soporte para desplazamiento
Se soporta el desplazamiento con algunas salvedades:
Only object space displacement is supported (no vector displacement).
Midlevel and Scale controls can only be constants.
Actualmente el estándar MaterialX no se encuentra soportado, ver la solicitud de cambio para más detalles.
- Red de previsualización de superficies USD
Approximates a BSDF Principista node tree by converting it to USD’s Preview Surface format.
Nota
To support
opacityThreshold
, sometimes known as «Alpha Clip», the node tree must either use a Math node set toRound
, if the desired threshold is 0.5, or by using a pair of Math nodes implementing1 - (value < threshold)
. The result should be plugged into the Alpha socket on the Principled BSDF node.Advertencia
Not all nodes are supported; currently only simple node trees containing Diffuse BSDF, Principled BSDF, Image Textures, UVMap, and Separate RGB nodes are supported.
- 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.
- Exportar texturas
Método para exportar texturas.
- Mantener:
Usar la posición original de las texturas.
- Preservar:
Preserve file paths of textures from already imported USD files. Export remaining textures to a “textures” folder next to the USD file.
- Nueva ruta:
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.
- 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.
- 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.)
Tipos de datos de variables de primitivas USD¶
Blender soporta un subconjunto de los tipos de datos básicos de USD tanto para importación como para exportación.
Sólo los tipos de datos soportados nativamente por el sistema de atributos de Blender serán procesados durante estas operaciones.
Tipo de Blender |
Tipo de USD |
Notas |
---|---|---|
Booleana |
bool |
|
Entero (8 bits) |
uchar |
The USD unsigned 8-bit value will be cast to a signed value for import. The signed value will be cast to unsigned for export. |
Entero |
entero |
Un valor entero de 32 bits con signo. |
Decimal |
decimal con punto flotante |
Un valor de 32 bits decimal con punto flotante de precisión simple. |
Vector |
float3 |
Vector 3D de 32 bits con valores decimales con punto flotante. |
Vector 2D |
float2/texCoord2f |
Vector 2D de 32 bits con valores decimales con punto flotante. |
Color |
color4f |
Color RVAα de 32 bits con valores decimales con punto flotante. Un caso especial, al encontrar una variable de primitiva o un atributo para el |
Color (byte) |
color4f |
USD no proporciona un equivalente para este tipo de datos. Los valores byte serán convertidos a decimal y exportados como color4f. |
Cuaternio |
quatf |
Rotación en cuaternios decimal con punto flotante. |
Precauciones con la implementación
Blender no soporta variables de primitivas USD que usen valores enteros de 64 bits (int64
), los que usen tipos sin signo (uint
) o aquellos que usen valores decimales con punto flotante de 64 bits con precisión doble o 16 bits con precisión media. Por ejemplo, esto incluiría tipos tales como matrix4d
(una matriz de 4x4 de dobles) y quath
(cuaternios de precisión media).
Nota
El tipo de datos de USD float4
no tiene un equivalente directo en Blender y no será tratado como un Color
o Cuaternio
de Blender.