ドキュメント

Asset Transformer SDK


User Manual

Python API

C# API

Changelog

Discussions

Asset Transformer SDK


USD Format Support

Learn about USD (Universal Scene Description) format support in Pixyz, including import and export capabilities for geometry, materials, animations, and advanced features.
読み終わるまでの所要時間 6 分最終更新 1ヶ月前

Pixyz SDK provides comprehensive support for importing and exporting USD (Universal Scene Description) files, including all USD file format variants. Built on Pixar's official USD library, Pixyz offers extensive support for geometry, materials, animations, cameras, lights, and advanced USD features such as variants and instancing.

USD Version Support

Pixyz SDK supports all versions of USD files across all format variants. The implementation is built on Pixar's USD 22.x library and maintains backward and forward compatibility with USD files created by other applications.

Supported File Formats

Pixyz SDK supports all four USD file format variants:

Extension

Description

Import

Export

.usd
Binary or ASCII USD✓✓
.usda
ASCII USD✓✓
.usdc
Binary (Crate) USD✓✓
.usdz
Compressed USD package✓✓
All formats support both import and export operations with full feature parity.

USD Import Features

Geometry Support

Meshes (UsdGeomMesh)

Full mesh import support including:
  • Vertex positions, normals, and UVs
  • Face counts and indices
  • Vertex colors (displayColor and displayOpacity)
  • GeomSubsets for multi-material meshes
  • Orientation handling (left-handed vs right-handed)
  • Multiple UV channels

Primitives (UsdGeom)

Standard USD primitives are fully supported:
  • Cube (UsdGeomCube)
  • Sphere (UsdGeomSphere)
  • Cone (UsdGeomCone)
  • Cylinder (UsdGeomCylinder)
  • Capsule (UsdGeomCapsule)

NURBS Support

Comprehensive NURBS import support:
  • NURBS Patches (UsdGeomNurbsPatch)
  • NURBS Curves (UsdGeomNurbsCurves)
  • Basis Curves (UsdGeomBasisCurves)
  • Bezier, B-spline, and Catmull-Rom curve bases

Material Support

Material System

Full support for UsdShadeMaterial with both PBR and Specular workflows:
  • Albedo/BaseColor (diffuseColor/baseColor)
  • Normal maps
  • Metallic
  • Roughness
  • Occlusion/Ambient Occlusion
  • Opacity/Transparency
  • Specular (in specular workflow)
  • Emissive/Emission

Texture Support

Advanced texture import capabilities:
  • UsdUVTexture nodes
  • Texture transforms (tiling, offset, rotation)
  • Multiple UV channels
  • UDIM texture tiles (with
    <UDIM>
    placeholder support)
  • PTex textures (.ptx files)

Scene Structure

Transforms (UsdGeomXformable)

  • Local and global transformations
  • Transform operations and matrices
  • Pivot points

Hierarchies

  • Parent-child relationships
  • UsdGeomScope for scene organization
  • Nested structure preservation

Instancing

Full instancing support for optimized scene representation:
  • Point Instancers (UsdGeomPointInstancer)
  • References
  • Inherits
  • Prototypes

Variant Support

Complete USD VariantSets support:
  • Visibility variants
  • Material variants
  • Color variants
  • Geometry/mesh variants
  • Multi-level variant hierarchies
  • Variant instancing
To control variant loading during import, use the
LoadVariant
parameter:
pxz.core.setModuleProperty("IO", "LoadVariant", "True")

Camera Support

Full UsdGeomCamera import with all standard properties:
  • Perspective and Orthographic cameras
  • Focal length
  • Horizontal and vertical aperture
  • Aperture offset
  • Clipping planes (near/far)
  • fStop (depth of field)
  • Focus distance
  • Stereo role
  • Shutter timing (open/close)
  • Exposure

Light Support (UsdLux)

Supported Light Types

  • Distant Light (Directional) - Full support
  • Sphere Light - Full support
  • Dome Light - Partial support
  • Rect Light - Partial support
  • Disk Light - Partial support
  • Cylinder Light - Partial support
注
Some light types (Dome, Rect, Disk, and Cylinder) have partial support and may be converted to alternative light types during import.

Light Properties

  • Power/Intensity
  • Color
  • Diffuse and Specular contribution
  • Exposure
  • Color temperature
  • Normalize option
  • Texture files (for dome and rect lights)
  • Angle/CutOff (for distant lights)
  • Radius, width, height (shape-specific)

Animation Support

Skeletal Animation (UsdSkel)

Complete skeletal animation import pipeline:
  • UsdSkelRoot hierarchies
  • UsdSkelSkeleton definitions
  • UsdSkelAnimation data
  • Joint hierarchies and relationships
  • Skinning data (joint indices and weights)
  • Bind transforms
  • Inverse bind matrices
  • Animation channels (translation, rotation, scale)
  • Time codes and keyframe data
To control animation import, use the
ImportAnimations
parameter:
pxz.core.setModuleProperty("IO", "ImportAnimations", "True")

Additional Import Features

  • Visibility: Full support for UsdGeomImageable visibility attributes
  • Metadata: Stage metadata import (metersPerUnit, upAxis, timeCodesPerSecond)
  • Payloads: USD payload composition support
  • References: External file references and layer composition
  • Partial Loading: Ability to load specific prims from USD files on demand
  • Coordinate System Conversion: Automatic conversion between X-up, Y-up, and Z-up coordinate systems
  • Scale Handling: Automatic stage scale conversion based on metersPerUnit

USD Export Features

Geometry Export

Meshes

Complete mesh export capabilities:
  • Vertex positions, normals, and UVs
  • Face topology (triangles and quads)
  • Vertex colors
  • Multiple UV channels
  • Double-sided materials
  • Subpart materials using GeomSubsets

Primitives

Export of standard primitives (cubes, cones, cylinders, spheres)

Material Export

Material System

  • UsdShadeMaterial creation
  • PBR materials with all standard properties
  • Material binding to geometry and GeomSubsets

Texture Export

  • UsdUVTexture node creation
  • UsdTransform2d for texture transforms (scale, offset, rotation)
  • UV reader connections
  • External texture files or embedded textures (for .usdz packages)
  • Automatic texture file naming
  • Complete material shader connectivity graphs

Scene Structure Export

Transforms

  • UsdGeomXform node creation
  • Local transformation matrices
  • Transform operations

Hierarchies

  • Parent-child relationship preservation
  • Proper USD path naming conventions
  • Automatic unique path generation to handle name conflicts

Instancing

  • Prototype and instance export
  • Instance material binding and overrides

Camera Export

  • Camera export with all properties
  • Both perspective and orthographic projection types

Light Export

  • All supported light types
  • Complete light properties and parameters

Animation Export

Complete skeletal animation export pipeline:
  • UsdSkelRoot creation
  • UsdSkelSkeleton with joint hierarchies
  • UsdSkelAnimation with keyframe data
  • Bind transforms
  • Rest transforms
  • Joint path definitions
  • Translation, rotation, and scale animation channels
To control animation export, use the
ExportAnimations
parameter:
pxz.core.setModuleProperty("IO", "ExportAnimations", "True")

USDZ Package Export

Complete USDZ archive creation:
  • Main .usdc file
  • All dependent texture files
  • Proper internal USD references
  • Path resolution for external assets

Additional Export Features

  • Valid Name Generation: Automatic conversion of invalid characters in USD names
  • Visibility Export: Optional export of hidden geometry
  • Metadata Export: Optional USD metadata export
  • Coordinate System Configuration: Configurable output coordinate system (Up Axis)
  • Performance Optimization: Multi-threaded mesh export for large scenes

Configuration Options

Import Configuration Properties

Property

Type

Description

PartialLoad
BooleanEnables partial/lazy loading of USD files for memory optimization
ImportAnimations
BooleanControls whether skeletal animations (UsdSkel) are imported
LoadVariant
BooleanControls whether USD VariantSets are loaded and applied
LoadHidden
BooleanControls whether hidden elements are imported
UpAxis
EnumTarget coordinate system (Y-up, Z-up, or X-up) for automatic conversion
FlipCoordinateSystem
BooleanAdditional coordinate system adjustment for handedness

Export Configuration Properties

Property

Type

Description

ExportAnimations
BooleanControls whether skeletal animations are exported to UsdSkel
ExportHiddenParts
BooleanInclude or exclude hidden geometry in the export
ExportMetadata
BooleanExport scene metadata properties to USD
UpAxis
EnumOutput coordinate system (Y-up, Z-up, or X-up)

Example: Configuring USD Export

# Configure USD export settingspxz.core.setModuleProperty("IO", "ExportAnimations", "True")pxz.core.setModuleProperty("IO", "ExportHiddenParts", "False")pxz.core.setModuleProperty("IO", "UpAxis", "Y")# Export to USDpxz.io.exportScene("output.usdz")

Current Limitations

Partial Light Support

Some light types have partial support and may be converted to alternative light types during import:
  • Dome, Rect, Disk, and Cylinder lights have partial support
  • Distant and Sphere lights have full support

Material System Limitations

  • PTex textures have limited conversion support when used in complex material networks

Export Limitations

  • BREP/CAD geometry is exported as tessellated meshes only (no native BREP export)
  • PMI (Product Manufacturing Information) is not preserved in USD export

Best Practices

Format Selection

  • Use .usdz format for AR/mobile applications with all assets packaged together
  • Use .usdc (binary) format for production pipelines requiring faster load times
  • Use .usda (ASCII) format when human readability or version control is important

Performance Optimization

  • Enable VariantSets for configuration-driven assets (product variants, LODs, etc.)
  • Use Instancing for repeated geometry to optimize file size and performance
  • Use PartialLoad for large USD files to reduce memory usage

Coordinate Systems

Configure the
UpAxis
parameter to match your target application's coordinate system to ensure correct orientation during import/export.