Maya

Overview

The NVIDIA Omniverse™ Maya Connector Plug-In offers a robust toolkit for Maya Users to send and live sync their model data to an Omniverse Nucleus. This not only gives Maya users a first class renderer through Omniverse View or Omniverse Kit but also the ability to open, edit and sync with any application supporting Omniverse Connect. Now, depending on the use case, Maya users can choose the workflows and pipelines that work best for their needs while maintaining up to date revisions for all downstream consumers of their work.

Package Files: Tutorial Package

Supported Features

USD

  • Geometry
    • Static Meshes

    • Skeletal Meshes (usdSkel)

    • Animation

    • Point Cache

  • Lights
    • Maya Native Lights

    • Arnold Lights

  • Cameras
    • Maya Native Cameras

  • Materials
    • MDL render context

    • USD Preview Surface render context

  • Instances

  • Model Variants

Other

  • Open, Import, and Export USD files

  • Save USD only saves the delta from the last state of the USD file, preserving the unchanged parts of the USD.

  • Live Mode
    • Live Transforms

    • Live Edit Mesh

    • Cameras edits

    • Lights edits for supported types

    • Materials

  • Animation
    • Pose Live: Pose a usdSkel while working in live mode.

Loading the Plug-In

Load Plug In

Once the Maya Omniverse Plug-In is installed, navigate to the Plug-in Manager.

(Windows > Settings/Preferences > Plug-in Manager)

Look for OmniverseMayaLoader.mll and load/verify the plug-in is loaded/working. Select auto load if Maya should load this plug-in automatically.

Signing-In

Once the plug-in is installed, users must sign into an Omniverse server. Users can do so from two places in the Maya plug-in:

Plugin Menu
  1. Connections are made to Omniverse via the Main Menu drop-down for Omniverse.

Connect with Menu

Users can take 2 routs to the connection window. 1. From the Omniverse Main Menu drop-down users can go directly to the connect menu. 2. From the Omniverse Shelf you can quickly get to the connect menu.

Menu Items

Action

Username

Your Omniverse Username

Server Information

The address to your Omniverse Nucleus

Note

The server address field will store and auto-populate known recent servers.

After the NVIDIA Omniverse™ Maya Connector Plug-In has been loaded and signed in to, users can now Live Sync, Open Omniverse Nucleus / Local USD files, and Export USD files to your Omniverse Nucleus.

Install Instructions

Please see Launcher Documentation for Installing Connectors.

Main Menu

Hypershade MDL Material

The Omniverse menu grants access to all the needed features of Omniverse Interaction.

Ref#

Menu Items

Action

1

Connectivity

Connect: Launches Sign-In dialog to connect user to Omniverse
Disconnect: Breaks your connection with an Omniverse server

2

Export

Export All: Exports all exportable objects in the scene
Export Selected: Exports only selected objects and their dependencies

3

USD

Sub menu for USD file operations

4

Materials

Sync Materials: Fetches materials for the opened USD file NVIDIA Omniverse™ Nucleus

5

Settings

Settings related to the Omniverse Plugin

6

Create Variant

Sets up a USD model variant

7

Help Menu

Grants access to Help Items

USD Menu

Omniverse USD Menu

Ref#

Menu Items

Action

1

Open Recent
Lists recently opened USD assets

2

Open USD
Launches a File dialog that allows the user to
navigate the contents of Omniverse and open USD
files. Opens a USD file, clears the current
Maya scene, loads the USD asset, and syncs.

3

Save USD
Only saves the delta from the last state of the USD file, preserving the unchanged parts of the USD.

4

Import USD
Imports USD Files from a Local/Network Drive Location. This collects materials to the location of the current USD file.

5

Connect USD
Connects an existing Maya file to an existing USD on the Omniverse.
This allows a user to initiate a live connection
without reexporting the USD.

6

Close USD
Closes the USD file and resets the Maya file to a new blank scene.

USD Export File Browser

Exporting files from Maya is done through the Export File Dialog.

USD Export File Browser

Ref#

Menu Items

Action

1

Navigation

Breadcrumbs: Displays the path to the current directory or file the user
has selected. Users can select any part of the existing path
Add Folder: Adds a new folder in your current directory
Search Bar: Contextual search
Directory Browser: Directory list

2

Export Type Dropdown

Allows selection of Asset Type
Prop: Standard Static Asset
Prop Animation Clip: Simple translational Animations
Skeletal Mesh: A mesh containing bones
Skeletal Animation: A mesh containing boned animations
Animated Point Cache: Animated “point clouds”

3

Export Options

Selects what to export
All: Exports everything in the scene
Select: Exports everything selected in the current scene
Sets: Select sets in Maya can be used as an export selection type
Default Prim: Sets the Default Prim of the exported USD, defaults to “World”
Export Visible Only: Exports only visible nodes in combination with the current export selection
Use Animation: Includes animation sequence in export
Enabled: Will Export Animation from timeline
Start Frame: First frame to be exported
from the animation sequence
End Frame: Last frame to include in the export
Step: Allows skipping of frames, use 1 for all frames
Normalize Skin Weights: Transforms the weights
Include Instances : Defines how to handle Maya asset instances on export
None: Do not export instances.
On: Export the Maya scene with instances and maintain the scene hierarchy as is in Maya
On with Hydra: Export the Maya scene with instance structure compatible with Hydra renderer. This may add extra xforms.
Include MDL: Will include all mdls referenced in the file
Default : Uses global core material path and copies custom materials to user defined directory.
Include Dependencies : Copies all referenced materials to user defined directory.
USD Preview Surface: Will generate a USD Preview Surface and bake textures for export.
Include Cameras: Exports cameras in the scene.
Include Lights: Exports supported lights. see note below.
Up Axis: Allows control over facing direction.
File Operations: Split into Multiple: Will export each first level node as a unique USD file
Save Maya: Stores a copy of the Maya file on the Omniverse Nucleus

4

Processing

Pre Export Script MEL: Runs any scripted functions on scene prior to export.
Post Export Script MEL: Runs any scripted functions on scene after to export.

5

Additional Exported Files

Lists all associated files included in the export

6

Create Snapshot

Creates a snapshot (backup) in Omniverse Web upon export.

7

Export Bar

File Name: The name you want the file to be.
File Type: Lists available export types. (See Note Below)
Export: Exports with chosen settings.
Cancel: Cancels the Export

Note

You can export to USDA (Ascii) format by hard typing the extension .usda on export if exporting to a local drive (not an omniverse server).

Exporting With Maya

Open and Import USD Browsers

The open and import USD function allows users to open USD content directly into MAYA.

The import USD function allows users to import USD and merge it with the currently opened USD file.

Options

../_images/connect_maya_import-usd_dialogue.png

Ref #

Option

Result

1

Open Materials

Check to import materials. If Unchecked Materials will be ignored.

2

Prefer Material Type

Choose the render context for loading and displaying Materials in maMayaya. MDL: Imported materials will display using MDL. Preview Surface: Imported materials will display using USD Preview Surfaces.

3

Import Lights As

Choose how lights should be imported. Maya: Imported Lights will be converted to Maya Standard Lights. Arnold: Imported Lights will be converted to Maya Arnold Lights.

4

Object Name Collision

Choose what to do if there are naming conflicts with Imported Objects. Overwrite: Replace the existing object if in conflict. Skip: Keep the original and discard imported objects if name conflict exists. Modify: Adjusts names of imported object to avoid name conflicts.

5

Material Name Collision

Choose what to do if there are naming conflicts with Imported Objects. Overwrite: Replace existing materials if in conflict. Skip: Keep the original and discard imported materials if in conflict. Modify: Adjusts names of imported materials to avoid name conflict.

Help Menu

Omniverse Help Menu

Ref#

Menu Items

Action

1

Maya Plug-In Documentation

Opens the doc for the Maya Plug-In

2

Get Support

Link to user forums and Omniverse Support

3

Release Notes

Link to Release Notes

4

About

Informs user of the version specific information of
Maya Omniverse Plug-In

Omniverse Shelf

Added in 100.1

The Omniverse Shelf allows connectivity and quick access to important Omniverse Functions.

../_images/connect_maya_omniverse-panel_main.png

Ref#

Option

Result

1

Connect to Omniverse
- Add Connection
- Disconnect All
Connect to an Omniverse Nucleus
Allows Additional Omniverse Servers to be added to your server connection list.
Disconnects Maya from all connected Nucleus servers.

2

Open USD
Opens a USD file locally or on a Nucleus

3

Save USD
Save the current USD file.

4

Import USD
Imports a USD file into your current project.

5

Export USD
- Export All
- Export Selected
Exports current project file as a USD.
Exports current project file as a USD.
Exports the current selection of assets as a USD.

6

Share USD
Copies the location of the USD Files, if on nucleus, this link is shareable with other permitted nucleus users.

7

Live Sync
- Live Sync All
- Live Sync Excluding Materials
- Link Maya to USD file
Enables real-time “live” editing.
Enables real-time “live” editing.
Enables real-time “live” editing but DOES NOT update materials.
Links the currently opened scene with a USD file. See Using the Connect USD tool in Maya (Video) for more information.

8

Create Variants
Creates a USD Variant container. See USD Variants in Maya for details.

9

Plugin Settings
Opens the Omniverse Plugin Settings Panel. See Omniverse Settings for details.

10

Help
Links to this documentation.

11

About
Version and Technical Information about the Plugin.

Note

Connect, Export and Live Sync have additional options hidden in the right click menu.

Connect USD

If for any reason a Maya file becomes “detached” with its USD counterpart, it can be very convenient to simply reconnect your local Maya file to it’s Omniverse USD counterpart and begin live editing. This is where the Connect USD button comes in handy. Avoiding the need to re-Export, this can be very useful for large and imposing datasets however it requires BOTH the Local Maya file AND the Omniverse USD to be in parity.

Using the Connect USD tool in Maya (Video)

Omniverse Settings

The Omniverse Settings Panel allows access to some optional settings and features.

Omniverse Settings Panel

Ref#

Option

Result

1

Auto Sign In on Startup

Signs into previous omniverse connection automatically

2

Echo Feedback

Messages and alerts from a nucleus serverr will be reported in the script editor.

3

Object Export Path

Folder Name / Relative Path Option to allow customization of output organization.
Used when exporting assets with the option “split into multiple files”.

4

Native Light Conversion Scale

Allows Native Maya light power to be adjusted upon conversion.

5

Arnold Light Conversion Scale

Allows Arnold Light power to be adjusted upon conversion.

6

Destination MDL path

If un-altered (blank by default) the Destination path will always be the location of the exported
USD file. You can however “hard-code” a common directory where you want ALL exported USD’s to store their MDLs.

7

Material Template Search Paths:

If you or your organization have created specialized BASE MDLs, you can select their paths here.

8

Material Collection Search Paths:

If you or your organization has created Variants based on BASE MDLs you can select their locations here.

USD Variants in Maya

Maya variants allow for users to create and store variations for a given asset. This can be a very useful tool just in the context of Maya, but when brought to the omniverse can be leveraged in Apps such as View, Create and others.

Creating Variants in Maya

Open the Omniverse Panel or Omniverse Shelf to reveal Create Variants button.

../_images/connect_maya_menu-variants.png

Next, Select a name for the variant.

../_images/connect_maya_variants_create-name.png

Note

Variant names should not contain spaces or special characters.

Once accepted, the variant container is created and its properties can be found in the properties panel. Notice the variants list is empty.

../_images/connect_maya_variants_objects-add.png

Now use the + icon above the variants list and select any objects or object hierarchies you want to be included as variants. If you make a mistake or wish to remove an object, use the X button remove a selection from the list.

../_images/connect_maya_variants_pick-objects.png

Once complete, simply select a variant on the list to auto-hide non-selected variants on your list.

../_images/connect_maya_variants_select-variants.png

Exporting Variants

Once created, USD variants are part of the USD schema and are automatically included when exported to the Omniverse. See instructions within the Omniverse App you are using for instructions on how to exploit variants within the Omniverse.

Maya and MDL Materials

Understanding MDLs

When working with the Omniverse, MDL’s are our shader descriptions. Several come pre-installed with your server and will auto-populate upon connecting however there are some specific things to understand about how Maya and MDL interact.

  • The object format for Omniverse is Pixar’s USD format. For more information on USD, see documentation here: Introduction to USD

  • MDLs cannot be directly edited in Maya (but can be created, added to your server and made available in Maya)

  • MDL materials have basic distilling for rendering into the Maya viewport however for true material feedback and rendering, view the asset in Omniverse Kit.

MDL Settings in Maya

Working with MDLs is an important part of working on the Omniverse as MDL is the language used to describe shaders to Nucleus, Kit and all Omniverse Connect tools. Luckily many/most users will not need to adjust the settings as they will typically find the BASE MDLs that come pre-installed with Omniverse are robust enough to handle 95% of all materials in the real word. However if you have special workflows, are interested in creating specialized shaders or have pre-configured collections you wish to use, the settings panel allows you the ability to adjust some of the ways we can find, use and implement MDL technology.

For more information and access to these settings, please see Omniverse Settings

Templates and Collections

The distinction between a template and a collection is purely semantic. There is no technical difference as they are both a location where MDLs are stored. The distinction is only meant for organization in the Hypershade panel. You should try to adhere to this distinction however because it does in fact offer a bit of convenience to users.

Templates: These are BASE MDLs (Omniverse Shaders) that are either custom or are pre-installed on your Omniverse server. For example, Omni-PBR is a BASE MDL or Template. This BASE MDL can then be used to create a variety of materials like Red Metal, Black Plastic, Copper, Steel, etc.

Collections: Collections are generally created from BASE MDLs and are explicit variants or a BASE MDL. For example a user may wish to have a collection of pre-configured MDLs based on Omni-PBR like Red Metal, Black Plastic, Copper or Steel. The explicit variants can then be stored in a directory and are then considered a “Collection”.

Connecting MDL Templates and MDL Collections

MDL templates and collection search paths are simply locations where MDLs are stored on your Omniverse server. If you have access to or have created MDL templates/collections you can specify their paths to grant access to them in the Maya Hypershade Panel. You can designate these paths in Maya under Omniverse > Settings. You can add the paths by selecting the + button next to their respective headings and locating the directories on your Omniverse Nucleus.

Loading External MDL Templates and Collections (Video)

MDLs and The Hypershade

When connected, the Maya Hypershade Panel will be updated with MDL Materials populated from your Omniverse Nucleus.

Hypershade MDL
  1. MDL Material Tab

  2. MDL Material List

Hypershade Create New Material
  1. Select the MDL Tab to Reveal the MDL Material List.

  2. Select the MDL Material Template.

  3. Assign a Name for the Material

  4. Once Created, the material will be displayed in the Scene Material List.

  5. Graph will show the Material and properties can be edited as a normal material in Maya.

Selecting an MDL Material will allow you to edit the properties in the properties Panel like any other material in Maya.

Hypershade MDL Material

Note

The structure of MDL materials can not be edited in Maya. They can however be created in Substance Designer or Hand Coded and added to your Omniverse Nucleus where they will populate your Maya Hypershade Panel.

Exporting MDLs to the Omniverse

There are 2 methods available to export your MDLs to the Omniverse.

Include MDL’s when Sending Model Data

The most common way to send MDLs is with your model data. Any MDL attached to a mesh can be automatically exported when you export, enable “Include MDL Files” in the export/sync dialogue. Materials are always included with Live workflow or Save USD.

Send MDLs Without Model Data

Users can send their MDLs directly to the Omniverse without sending model data if they choose.

  1. Open the Hypershade Panel and locate an Omniverse MDL material.

MDL Material in Hypershade
  1. Right Click on Any Omniverse MDL Material. Choose “Export MDL”

Export MDL
  1. In the resulting File Browser, choose where you would like your MDL to be stored.

Export MDL Window

Once stored, this MDL can be applied in Omniverse Create, Omniverse View and other Omniverse Applications.

Using the Upgrade Materials tool (Video)

Note

This feature will be deprecated in upcoming releases as it is not needed any longer. This tool specifically addresses a material change that was done from 2019.2 to 2019.3. The menu entry has been removed, however is still available as a MEL script command if needed, nvOmniMenuUpgradeMaterials_command() .

Added 2020.1 The Maya Omniverse Plugin underwent beneficial changes in the 2020.1 release which affected the way that MDLs are handled. Because of this change, older (pre 2020.1) Maya files with MDLs will appear broken when loading in 2020.1+ releases of the Omniverse Maya Plugin. To fix these broken materials, simply navigate to the Omniverse Maya Menu and then press “Upgrade Materials”.

UDIM Materials

Added 2020.1 UDIM materials are supported through the use of a <UDIM> token in a standard UDIM material sequence name (ie: my_mat_name.0001.jpg)

Using UDIMs

This sequence <UDIM> token can be put into any Omniverse Material Texture Input slot (ie: OmniPBR, OmniGlass etc.)

Using UDIMs 2

Simply replace the number with <UDIM>

Note

If you want to expedite this process, the small button to the right of the file input can be used on any UDIM formatted material and it will auto insert the <UDIM> tag into your sequence.

Live Sync

Maya can live sync with all omniverse apps. To live sync with maya

Maya Live Sync with Skeletal Mesh

Maya Plugin Script APIs

Loading the Plugin

Besides loading the Maya Omniverse plugin via the Plugin manager dialog, users can also load the plugin via this script.

loadPlugin "OmniverseMayaLoader.mll"

Connect to an Omniverse Server

Check Connection Status

int $nvConnect = `optionVar -q omniverse_connection_state`;

The omniverse_connection_state is a Maya option variable. You can remove it with the following command.

optionVar -remove omniverse_connection_state;

And you can modify it with this command

optionVar -iv omniverse_connection_state 1;

Note

Generally speaking, Users should use string or integer types for option variables as Maya does not use boolean variables.

Set User Name and Log in

To make sure that you log in to right server you can call the following script command step by step.

Set up user name:

optionVar -sv "omniverse_user_name_var" dduka;

Set up available servers

Creates a list of servers to connect to.

optionVar -sv omniverse_server_urls "localhost:3009;my-server:1234;my-other-server:4321"

Set Up Current Server

Set’s up the server you wish to log-in to.

optionVar -sw omniverse_server_url "my-server:1234";

Inform C++ Plugin

Script command to make the C++ plugin get the above information.

OmniConfigCmd;

Connect to Server

Makes the connection to an Omniverse Nucleus Server.

OmniConnectionCmd true;

Update Status

Make the relative UI showing correct status after log-in.

nvOmniUpdateConnectionMenu();
nvOmniUpdateConnectionUI();

Export USD

Export a USD to Omniverse

OmniExportCmd -file "/Omniverse/Users/aatest/tt.usd";

Note

there is a prefix “/Omniverse” with the URL.

Setting up Export Mode types

Optional variables control how you export a scene. As an export can take form in various ways, you need turn on/off some variables before calling the export command.

Prop

optionVar -iv omniverse_export_objecttype 1;

Skeletal Mesh

optionVar -iv omniverse_export_objecttype 2;

Point Cache

optionVar -iv omniverse_export_objecttype 3;

Set Export Collection Types

Export/Live-Sync All

optionVar -iv omniverse_export_collectiontype 1;

Export/Live-Sync Selected

optionVar -iv omniverse_export_collectiontype 2;

Export/Live-Sync Visible

optionVar -iv omniverse_export_collectiontype 3;

Always Export GeomSubsets

optionVar -iv omni_always_export_geosubset 0;
optionVar -iv omni_always_export_geosubset 1;

Other exporting options:

Turn on “Use Animation”

optionVar -iv omniverse_export_useanimation 1;

Set Animation Start-Frame

optionVar -iv omniverse_export_ani_start 1;

Set Animation End-Frame

optionVar -iv omniverse_export_ani_end 200;

Set Animation step

optionVar -iv omniverse_export_ani_stride 1;

Normalize Skin Weights

optionVar -iv omniverse_export_normalizeskinweights 1;

Include MDL

optionVar -iv omniverse_export_includemdl 1;

Include Cameras

optionVar -iv omniverse_export_includecamera 1;

Include Lights

optionVar -iv omniverse_export_includelight 1;

Live Sync

For Live Sync, it cannot work with USD Animation on. So, you need run two script commands to turn it on.

optionVar -iv omniverse_export_useanimation 0; // turn off Use Animation
optionVar -iv omniverse_export_livesync 1; // turn on Live Sync
nvOmniUpdateConnectionUI(); // this is optional. But if you want to see right Live Sync checkbox status, you need call it.

Import USD

Imports a USD file on Omniverse

OmniImportCmd -file "/Omniverse/Users/aatest/tt.usd";

Note

there is a prefix “/Omniverse” to the URL.

List Command

List Command can be used to list the files and sub-folders in an Omniverse folder. The return value of this command is a string array which has data grouped by 3.

string $ffs[] = `OmniListCmd -la "/Omniverse/Users/aatest/"`;

Note

the string should end with ‘/’ as well as starts with the prefix ‘/Omniverse

Show File/Folder Name

Shows each folder/file full name

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3; print ($ffs[$idx] + "\n");}

Show Folder/File Modify Date

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3 + 1; print ($ffs[$idx] + "\n");}

Show Each Folder/File Author

int $m = 0; for($m = 0; $m < 3; $m++) { int $idx = $m * 3 + 2; print ($ffs[$idx] + "\n");}

Cache

Check Cache Status

maya.cmds.optionVar(q='OmniAuth_enableCaching')

Enable Caching

maya.mel.eval('OmniEnableCachingCmd -enable 1')

Plug-in Load Time

maya.mel.eval('OmniExtaCmd -tl')
t = maya.cmds.OmniExtaCmd(tl=True)
print t

MDL Materials

Python Scripts relating to MDLs

List MDL Materials

Python Script to show all of MDL materials

import maya.cmds as cmds
mdls = cmds.mdlShaderCmd(q=True,listHyperShadeItems=True)
for module in mdls:
    print module

Result

[u'adobe::annotations',
u'adobe::convert',
u'adobe::mtl',
......
u'Users::kkantiev::Hardskin_Test::t1OmniPbrTest',
u'Users::lileo::Maya::initialShadingGroup_lambert',
u'Users::lileo::Maya::lambert1']

Alternative List MDL

mdls = cmds.mdlShaderCmd(q=True,listHyperShadeItems=True)

Result .. code-block:: python

[u’L/Library/MDL/Base/OmniGlass/OmniGlass’, u’L/Library/MDL/Base/OmniPBR/OmniPBR’, u’L/Library/MDL/Base/OmniPBR_Opacity/OmniPBR_Opacity’]

Upgrade MDL Materials

Note

This feature will be deprecated in upcomming releases as it is not needed any longer. This tool specifically addresses a material change that was done from 2019.2 to 2019.3. The menu entry has been removed, however is still available as a MEL script command if needed.

nvOmniMenuUpgradeMaterials_command().

Record Time

Record Time of Server Connect and Load

maya.cmds.timer(s=True);
maya.mel.eval('optionVar -sv "omniverse_user_name_var" "my-user-name"')
maya.mel.eval('optionVar -sv "omniverse_server_url" "my-server:1234"')
maya.mel.eval('nvOmniMainConnectivity')
t = maya.cmds.timer(e=True);
print t

Record time to load templates

maya.cmds.timer(s=True);
maya.mel.eval('optionVar -sv "Omniverse_Library_Materials_Templates_SearchPaths" "/Omniverse/Library/Materials/Templates;"')
maya.mel.eval('syncMDLSearchPath')
t = maya.cmds.timer(e=True);
print t

Record time to load Collection

Collection Path is supported the same way as template path in plugin. So, there is should be no difference. But adding more path should cost more time.

maya.cmds.timer(s=True);
maya.mel.eval('optionVar -sv "Omniverse_Library_Materials_Collections_SearchPaths" "/Omniverse/Users/aatest/ani;"')
maya.mel.eval('syncMDLSearchPath')
t = maya.cmds.timer(e=True);
print t

Pick one file name

User may want to pick and get a file name without exporting or importing a USD. Here the things to do. You need define a mel function nvOmniPickCallback in which you define what you do with the file name. Now you can call mel function nvOmniPickAFile() to start the file pick dialog. Once you pick a file and close the dialog, nvOmniPickCallback is called.

global proc nvOmniPickCallback(string $filename)
{
   print("nvOmniPickCallback " + $filename + "\n");
}

nvOmniPickCallback is read only. You may want to export a new USD. Then you can call nvOmniAddAFile(). And you also need define a call back function, nvOmniAddAFileCallback, to handle the file name.

global proc nvOmniAddAFileCallback(string $filename)
{
   print("nvOmniAddAFileCallback " + $filename + "\n");
   OmniExportCmd -file $filename;
}

Missing & Unsupported Features

USD

  1. Load an animation clip only onto an existing open usd file

  2. USD Layer control

  3. USD Blend-Shape is limited support

  4. Payloads

  5. Scope Nodes

Materials

  1. Most common native materials are supported on export via Universal Material Map, however, not all material have targets.

  2. MDL node editing

General

  1. Configurable Export paths

Release Notes

Maya Connect Version 101.1

  • Added - Universal Material Map framework for exporting native Maya material to MDL

  • Various bug fixes

  • Updated client library and core material library

Maya Connect Version 100.3.0

  • Added - When Glass material is applied to objects, USD is written with a flag for it to not cast shadows when loaded in Create/View

  • Fixed - Bug where Live sync could cause incorrect light properties or double lights in some case

  • Fixed - Bug where not all Live material changes were received in Maya

  • Fixed - Bug where viewport would not update in some cases until MDL attributes were touched

  • Improved Plug in Installation

  • Improved loading of samples

Maya Connect Version 100.2.1

  • Updated Client Library

Maya Connect Version 100.1.26

  • Save USD - Save the delta of the open USD file

  • Import USD - Merges usd files together

  • USD Preview Surface - Improved by opening USD preview Surface via render context on Open USD

  • Model Variants Added

  • Replaced Omniverse Panel with Omniverse Shelf

  • Moved documents storage to Users/Omniverse/Maya. previously was Usersr/.omniverse/Maya

  • Improved Instance handling - Can now write out instances based on Hydra compatibility or not

  • Optimize texture uploading

  • Support USD files with indexed normals

  • Upgrade Client Library

  • Upgrade Core materials

2020.2.2 Hotfix

  • Client Library Updated
    • Fixed a bug that would sometimes (very rarely) cause data loss.

2020.2 Hotfix

  • Client Library Updated
    • Fixed a bug that would sometimes (very rarely) cause data loss if you got a disconnect while uploading a file.

    • Fixed a bug that would fail to download a file if it was an exact multiple of 1MB

  • Fix to some live mode bugs caused by generating dif on usd open

  • New sign in dialog removes username field

2020.2 Point Release

File Support

  • Export local files with native Maya file browser

Animation

  • Skin Bind improvements

  • Animation curve filtering improvements on USD Open

Materials

  • Material stability improvements

  • Render MDL with UDIM in Maya viewport

  • Updated Omniverse Core Materials

  • Export MDL Materials from hypershade as .mdl

Lighting

  • Exposed Light conversion algorithm

Other

  • Set mel script functions on Pre and Post export

  • Customize Default Prim on Export

  • Export Visible option improved

2020.1 Point Release

General

  • Performance improvements

  • General UX improvements

  • Support for Omniverse read only Mounts

Materials

  • Upgraded MDL handling. This is a breaking change for files authored in older versions of the plug in. This change allows materials to be saved into the Maya file offline and allows for cleaner forward looking upgrades. uisers of old file can upgrade their materials from the main menu/Omniverse/Upgrade Materials

  • MDL materials can be embedded inside USD files eliminating floating mdl files as an option.

Bug fixes

  • A variety of bug fixes with materials to enable a more robust experience

  • UDIM export/import for Omniverse materials. Known limitation these will not render in Maya viewport.

  • Improved USD Preview Surface handling

  • Sub Divided Surface support with creasing

  • Arnold CPU support for Maya 2020

Animation

  • Animations clips exported as overs

  • Soup morph target support, if Soup is also installed

Lights

  • Arnold Sky Light support

  • Exposed Light conversion scale in settings

  • New namespace handling options

Release 2019.2

General

  • Supported versions of Maya

    • Windows

      • Maya 2018.0, 2018.3, 2018.4, 2018.5

      • Maya 2019.0

    • Linux CentOS 7

      • Maya 2018.3

      • Maya 2019.0

  • Polished up UX with more meaningful naming for export types and options

  • Export options moved to Export browser, this are initiated by export from menu and Omniverse Panel

    • Omniverse snapshot on Export.

      • Snapshots can be filled in on export from Maya through the export panel.

      • Supports exporting to Y and Z up axis.

    • Namespaces are stripped on USD export,

      • �:� are replaced by _�

  • Maya Cache is moved to users…/.omniverse/Maya

  • Display folders in Omniverse file browsers

  • Added USD file options to Omniverse Panel

  • Added Settings Panel

    • Enable cache moved here.

    • Informs users of mdl search paths

Materials and MDL

  • Material Type change menu added

  • Maya native materials are mapped to OmniBasic.mdl on export

  • Load USD files with material assignments from Ov servers

  • Textures are not downloaded from Omniverse on demand, previously they were all downloaded upfront

  • MDL warning moved to lof and script editor instead of pop up window

  • Material attribute changes, Live out is supported

  • Export option for MDL absolute/relative

  • Copy MDL template to location

Live

  • Support scrubbing the timeline for live update

  • Material assignment changes

  • Material value changes

  • Camera(See below)

  • Lights (See below)

  • USD Skel joint poses (See below)

Light Support

  • Lights are mapped to USD Lux lights.

    • Native Area, Spot, Point, and Directional lights are supported.

    • Arnold Area Light is supported.

  • Exported Lights map to USD Lux light and can be opened in Kit.

  • Imported Lights - when opening a USD Stage, supported lights are mapped to Maya /Arnold Lights

    • Area Light is determined by preference on settings panel.

    • Live Sync is bi-directional for transform and supported attributes. In Maya male sure Live and include Lights is enabled.

Camera Support

  • Cameras are mapped to USD cameras

  • With the exception of Perspective, and Orthographic cameras, these are not synced

  • Import and Export of camera attributes that are supported

    • Live Sync is bi-directional for transform and supported attributes. In Maya male sure Live and include cameras is enabled.

USD Skel Export Support

  • Skeletal Mesh export type option is of USDskel.

  • Checks if scene is set up and compatible with USD Skel

  • Normalize Skin Weights for USDSkel added

  • Animation export

  • Live Skel pose update

Local Workflow

  • Local USD

  • Open Local USD

  • Save to Local Drive

    • Limitation - Materials still require being connected to server.

  • Local MDL

  • Hypershade import an mdl from you local disk to Hypershade

  • Limitation - Exported materials based off this will not work on server because template is being copied to server. Therefore feature might be pulled from release if the follow up stories don’t pan out.

Roadmap

Future features we are currently thinking about are as follows and in no particular order.

  • Refined collaboration with other Omniverse Tools

  • Python pre and post script support

  • File meta data

  • Layer editing

  • support USD Kind

  • RTX Panel as Maya Panel