Blender

Overview

App or Connector?

Blender is an open source, world class 3d Modeling application and is available in omniverse Launcher. There you can download compatible versions of Blender with Connect capabilities included. The goal is to eventually move to a proper Blender Connector, but this allows blender users to have solid import/export capabilities with Omniverse and it is available today.

How do I learn Blender?

This documentation is In Addition To information in Blender Documentation. For any and all information regarding general Blender usage, please refer to the links below.

Blender Website Blender Support

Omniverse / Blender Manual

The main benefit the Omniverse Blender App offers over the standard Blender.org versions is the inclusion of a variety of USD import and export options along with NVIDIA MDL materials and support.

Importing USD Files

In the Blender File Menu under Import, Users can now select Import USD

../_images/blender_import-menu.png

USD Import

Option

Result

Import Cameras

Include Camera Prims in the Import.

Import Curves

Include Curve Based Prims in the Import.

Import Lights

Include Light Prims in the Import.

Import Materials

Include Material Data in the Import.

Import Meshes

Include Mesh Data in the Import.

Import Volumes

Include Volume Data in the Import.

Path Mask

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

Global Scale

Value by which to scale the imported objects with respect to the world’s origin.

Apply Unit Conversion Scale

Scale to convert to Scene Units to Blender Units (meters).

UV Coordinates

Check to Read or Uncheck to Ignore UV’s within the Imported File.

Vertex Colors

Check to Vertex Colors or Uncheck to Ignore UV’s within the Imported File.

Import Instance Proxies

Create unique Blender objects for USD Instances.

Visible Primitives Only

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

Subdivision

Create subdivision surface modifiers based on the USD SubdivisionScheme attribute.

Guide

Include primitives with purpose “guide”.

Proxy

Include primitives with purpose “proxy”.

Render

Include primitives with purpose “render”.

Set Frame Range

Update Blender Scene start and end frame to match the incoming USD start and end frame.

Relative Path

Use relative paths from the blender file to the usd file.

Create Collection

Add all imported objects to a collection.

Light Intensity Scale

Global Multiplier for Light Intensity.

Convert Light Units from Nits

Converts light intensity values from Nits to Blender Light Units.

Scale Light Radius

Apply scene scale factor (Global Scale/Unit Conversion Scale) to the radius of Spot/Local lights.

Create Background Shader

Import USD dome lights to world background shaders.

Material Name Collision

Behavior when the name of an imported material conflicts with an existing material.
Modify: Create a unique name for the imported material.
Skip: Keep the existing material and discard the imported material.

Import Attributes

Behavior when importing USD attributes as Blender custom properties. Supported types are ints, floats, doubles and strings. USD vectors are converted to Blender arrays of the corresponding size.
None: Do not import attributes.
User: Import attributes in the “userProperties” namespace as Blender custom properties. The namespace will be stripped from the property names.
All Custom: Import all USD custom attributes as Blender custom properties. Namespaces will be retained in the property names.

Instancing

Import USD scenegraph instances as Blender collection instances. Note that point instancers are not yet handled by this option.

Import Shaders

Specify the type of USD shader to convert to Blender Principled BSDF shader networks.

Set Material Blend

If the Import Shaders option is set to a valid type, the material blend method will automatically be set based on the USD shader’s opacity and opacityThreshold settings.

Actions

Option

Result

Import USD

Imports the USD file with the options selected.

Cancel

Closes the Import Dialogue and Cancels the Operation.

Exporting USD Files

In the Blender File Menu under Export, Users can now select Export USD

../_images/blender_export-menu.png

Ref #

Link

1

USD Export

2

Attributes

3

Cycles Settings

4

Mesh Settings

5

Primitive Types

6

Stage Options

7

Conversions

8

Textures

9

Experimental

10

Actions

USD Export

Option

Result

Use Settings for

Determines visibility of objects, modifier settings, and other areas where there are different settings for viewport and rendering.

Apply Subdiv

When checked, subdivision modifiers will be used for mesh evaluation.

Author Blender Name

When checked, custom userProperties will be authored to allow a round trip.

Selection Only

Only selected objects are exported. Unselected parents of selected objects are exported as empty transforms.

Visible Only

Only visible objects are exported. Invisible parents of exported objects are exported as empty transforms.

Animation

When checked, the render frame range is exported. When false, only the current frame is exported.

Export As Overs

When checked, the USD exporter will create all prims as overrides.

Merge Transform and Shape

When checked, transforms and shapes will be merged into the one prim path.

Export Custom Properties

When checked, custom properties will be exported as USD User Properties.

Export Identity Transforms

If enabled, transforms (xforms) will always author a transform operation, even if transform is identity/unit/zeroed.

Export Child Particles

When checked, the USD exporter will export child particles.

Vertex Groups As faceVarying

When enabled, vertex groups will be exported as faceVarying primvars. This takes up more disk space, and is somewhat redundant with Blender’s current authoring tools.

Attributes

Option

Result

Export Custom Properties

Export custom properties as USD User Properties. Supported property types are ints, floats, doubles and strings. Numerical arrays of size 2, 3, and 4 are exported as USD vector attributes of the corresponding dimension.

Add Properties Namespace

Add exported custom properties to the “userProperties” USD attribute namespace.

Cycles Settings

Option

Result

Override Shutter

Allows the ability to override the explicit shutter open and close attributes. When disabled, the shutter is used from cycles render settings.

Mesh Settings

Option

Result

Vertices

When checked, vertex and point data are included in the export.

Vertex Colors

When checked, all vertex colors are included in the export.

Vertex Groups

When checked, all vertex groups are included in the export.

Face Maps

When checked, all face maps are included in the export.

UV Maps

When checked, all UV maps of exported meshes are included in the export.

Normals

When checked, normals of exported meshes are included in the export.

Primitive Types

Option

Result

Transforms

Include Transform Data in the Export. If disabled, objects will be saved as prims with the identity transform.

Meshes

Include Mesh Data in the Export.

Materials

Include Material Data in the Export.

Lights

Include Lights in the Export.

Curves

Include Curve Based Shapes in Export.

Hair

Include Hair Data in the Export.

Particles

Include Particle Data in the Export.

Armatures (Experimental)

Include Armature Data in the Export.

Note that USD requires that skeletons and their skinning target meshes be organized in a hierarchy of “Skeleton Root” (SkelRoot) primitives. Specifically, a skeleton and its target must share a common SkelRoot ancestor to ensure correct binding. Since armatures and meshes with armature modifiers are automatically converted to USD SkelRoots, a straightforward way to maintain a correct hierarchy is to ensure that the target mesh is parented to the armature.

Alternatively, there is an experimental “Fix Skel Root” option (in the Experimental section) to automatically find a common Xform ancestor of the skeleton and its target and make that ancestor the SkelRoot. Note that this option could potentially designate the scene root as a SkelRoot, which may be inefficient, especially for large scenes. This can be avoided by grouping the armature and target mesh under an Empty object that isn’t also the scene root.

Limitation: export of “bendy bones” is not currently supported.

Stage Options

Option

Result

Default Prim Path

If set, specifies the default prim in the USD.

Root Prim Path

If set, will add an Xform prim with the given path as the parent of all prims in the USD scene.
Note that the given root path must not match the name of an existing root level object in the Blender scene. If such a Blender object exists, a warning will be generated and the root prim will not be added. This is avoid redundant names in the path, such as /root/root/.

Material Prim Path

Specifies where all generated USD materials and shaders are placed in the scene.

Note

It is HIGHLY recommended users insert a root name (e.g., /root) before all prim paths (as in the default option values). This will Help with USD Compliance and allows assets sent to omniverse to work correctly when using sent assets in other scenes. .. image:: /content/image/blender_export_stage-options_root.png

Conversions

Option

Result

Convert Orientation

When checked, the USD exporter will convert orientation axes.

Convert to Centimeters

Set the USD units to centimeters and scale the scene to convert from meters.

Export Cycles Shader

Export Cycles shader nodes to USD.

Convert to USD Preview Surfaces

When checked, the USD exporter will generate an approximate USD Preview Surface shader network. (Experimental, suitable for converting simple material graphs.)

Convert to MDL

When checked, the export to MDL materials. (This requires the Universal Material Mapping (UMM) addon to be installed.)

Light Intensity Scale

Multiplier for the intensity of exported lights.

Convert Light Units to Nits

Convert Blender’s light energy units to nits.

Scale Light Radius

Apply the scene scale factor (from unit conversion or manual scaling) to the radius size of spot and sphere lights.

Convert World Material

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.

Convert UV to ST

When checked, the USD exporter will convert all uv map names to use the interchangeable USD primvar name ‘st’. (Assumes one uv layout per mesh.)

Xform Ops

The type of USD transform operators to write. This specifies how transform information is represented in the USD, as one of the following options: “Scale, Rotate, Translate” components, where the rotation is given as XYZ Euler angles; “Scale, Orient, Translate” components, where the rotation is given as a quaternion; and “Matrix”, where the transform is saved as a 4 by 4 matrix.

Textures

Option

Result

Export Textures

When checked and if exporting materials, textures referenced by material nodes will be exported to a ‘textures’ directory in the same directory as the USD.

Relative Texture Paths

When checked, material texture asset paths will be saved as relative paths in the USD.

Experimental

Option

Result

Instancing

Export Blender collection instances as USD scenegraph instances. Particle systems will be exported as USD point instancers.

Fix Skel Root

If exporting armatures, attempt to automatically correct invalid USD Skeleton Root hierarchies. See the notes for the Armatures option above for more information.

Actions

Option

Result

Export USD

Exports the USD file with the options selected.

Cancel

Closes the Import Dialogue and Cancels the Operation.

Omniverse Blender Material Templates

When creating New Meshes with the intent of working with Omniverse, lossless material templates are provided in the Shading Panel and are suggested for use.

../_images/blender_replace-material_overview.png

#

Option

Result

Lossless Node Adjustment

1

UV Set

Blender Mesh Connection

No

2

UV Coordinates

UV Controls

Yes

3

Texture Inputs

Texture Management

Yes

4

Parameters

Parametric Controls

Yes

5

Output

Blender Output

No

6

Information

General Help

N/A

Access the Omniverse Material

../_images/blender_replace-material_0.png ../_images/blender_replace-material_1.png

Parameter adjustment is managed through the OmniPBR Compute node.

../_images/blender_parameter-control.png

Texture maps can be provided in the Texture Inputs Image Texture nodes.

../_images/blender_texture-inputs.png

Converting Your Existing Materials

Upon Exporting to USD, materials are, by default, converted to MDL. Once converted, users can continue to work seamlessly using the converted materials.

For any new materials added to the scene, we suggest using Omniverse Blender Material Templates however, you can work as normal and export again to convert.

Omniverse Panel

For convenience, Omniverse also ships Blender with an Add-On that can make working with Omniverse a little more convenient by way of a panel. This panel is installed into blender by default.

../_images/blender_omni-panel.png

File Handling

../_images/blender_omni-panel_file-handling.png

Provides convenient shortcuts to the Import and Export file dialogues.

Omni Particles

../_images/blender_omni-panel_particles.png

In order to comply with Omniverse, Particle Systems can be converted to individual objects which in turn become valid USD Prims in Omniverse on export.

Option

Result

Delete PS After Conversion

Deletes the Blender Particle System after converting.

Keyframe Animation

Creates Keyframes for converted assets based on the host particles.

Convert

Begins the conversion on selected assets.

Material Bake

Some materials in Blender will have a hard time or will not be possible to convert to Omniverse PBR Materials. For these materials a bake routine is provided.

../_images/blender_omni-panel_material-bake.png

Option

Result

Bake All/Selected Maps

By toggling the buttons check-mark, users can bake all maps or currently selected maps.

Texture resolution

Specify the resolution of the baked texture. Larger texture sizes may take considerable time and memory to build.

New UV(s) Toggle

Check to Rebuild UV’s during the baking process.

Margin

Click-Drag to adjust Spacing of UVs

Copy Objects and Apply Bakes

Check: Apply to Bakes to a Copy of the Objects.

Uncheck: Apply Directly to Original Objects

Hide Source Objects

Checked: Hides the source assets after bake is complete.

Unchecked: Does NOT hide the source asset after baking is complete.

Foreground

Uses the current blender instance to bake the textures.

Background

Uses a saved version of the scene and bakes textures in background allowing continued work in blender.

  • Status

Allows Status to be displayed for current background render tasks.

  • Import Baked Objects

Once Background Bakes Complete, Use to import the baked objects into the scene.

  • Delete

Allows the deletion of a baked asset.

Bake

Begins the material baking process.

Convert Material

Most materials can be converted using direct mapping to OmniPBR or OmniGlass as a Base.

../_images/blender_omni-panel_convert-materials.png

Option

Result

OmniPBR

Converts the selected materials to OmniPBR, Use for Opaque Surfaces.

OmniGLass

Converts the selected materials to OmniGlass, Use for Transparent/Translucent Surfaces.

Release Notes

3.1.0-usd.100.1.10

  • Support UDIM textures when importing USD Preview Surface shaders.

  • New “Material Name Collision” USD import option, to allow importing materials with duplicate names.

  • Added default values for the “Default Prim Path”, “Root Prim Path” and “Material Prim Path” export options.

  • If the “Root Prim Path” export option is set, the root path won’t be added if a Blender object matching the root name already exists.

  • Now aborting with an error if the root prim, default prim and material prim path export options are not well formed USD paths, to prevent crashes when defining prims.

  • Improved warning and error messages during UMM material conversion.

  • Support importing USD attributes (string, int, float and vector types) as Blender custom properties.

  • Property export improvements: support exporting vector types; provide options for setting the attribute namespace.

  • Enable operator presets UI for USD import and export.

  • Armature export improvements: fixed bugs causing skeleton bindings to fail; warning if the skinned prim and skeleton are not under a common SkelRoot; new “Fix Skel Root” experimental option to automatically correct invalid SkelRoot hierarchies.

  • Importing existing USD Preview Surface shaders as a fallback if importing MDL is selected as an option but the material has no MDL shaders.

  • Fixed bug preventing packed textures from being exported when exporting USD Preview Surface shaders.

  • Fixed bug preventing USD Preview Surface textures from being imported in some cases.

3.0.0-usd.100.1.3

  • Fix for Omniverse Launcher installer error for Blender. No functional changes to the Blender application or addons in this version.

Initial Release

Omniverse Blender App Released: 8-15-2021

Known Issues

  • No support for MDL export yet