Release Notes

100.1

Kit has now become a more low-level SDK for building Omnivese Applications. Create has taken on the user-facing application aspect of Kit

2020.2.2 Hotfix

Features, Changes, Fixes and Improvements

General

  • Improved CloudXR performance and update CloudXR version

Core Framework & USD

  • Fix referencing local files from inside omniverse files

  • Fix list cache not clearing deleted items.

Known Issues/Limitations

  • During live edit, objects often revert to the original positions (often during viewport drag)

  • During live edit, flickering can occur with objects the viewport which affects those participants viewing the edit (and does not affect the participant performing the edit operation on the object)

  • Live editing of the same layer by multiple users can cause instability in Kit, resulting in crashes and or freezing of the UI

2020.2.1 Hotfix

Features, Changes, Fixes and Improvements

General

  • Updated omniverse_asset_converter to fix shapenet crash

  • Build: fixed missing libffi.so.6 issue on ubuntu 20 when loading omni.physx

  • Pasting URLs from ov-web into Kit content browser now works

  • Adding connection to server root after adding connection to server subdir now works

  • URLs to Nucleus directories didn’t work unless there was a shortcut in the content browser to the exact server

  • moved the /renderer/mdl/searchPaths/server setting to the right scope in kit-core.json file

  • Uploading of crash dumps to backtrace server re-enabled

  • Added Colorspace Support for UsdUVTexture

  • Added Colorspace Support and specular workflow in UsdPreviewSurface

Core Framework & USD

  • Client Library
    • Bugfix: would sometimes (very rarely) cause data loss if you got a disconnect while uploading a file.

    • Bugfix: would fail to download a file if it was an exact multiple of 1MB

    • Bugfix: USD files from Nucleus servers were being deleted unless saved twice

  • omni.usd
    • API call to get Instance Path/URI from BBox Instance ID (and vice versa)

  • General Improvements
    • Extension System

Omniverse RTX

  • Support colorSpace and specular workflow in UsdPreviewSurface

  • Fix Path-Traced fog, was too dark when outside the fog

  • Fix naming of cutout opacity render settings

  • Remove hard-coded legacy server-side MDL search paths

  • Synthetic Data support
    • Add API to grab uri from instance index for omni.syntheticdata

    • Dump bounding box data directly from instance constant

    • Treat translucent objects that cast shadows as opaque for the purposes of synthetic data gathering

2020.2

Features, Changes, Fixes and Improvements

Core Framework & USD

  • Client Library
    • New omni.client extension (all extensions using python/C++ client lib should set this as extension dependency).

    • omni.client python binding.

    • OmniClient.h C++ dynamic library interface.

    • OmniClient carbonite interface.

    • DataSource interface with carb.datasource-omniclient.plugin implementation.

    • Direct use of Connection Library, IConnectionHub, omni_usd_plugin, omni.connection, omni.connectionhub, omni.usd_plugin are now deprecated. Any new carbonite plugins, Kit extensions should develop with client library/omni.client directly. Any old extensions/scripts/plugins using these components will stop working and need to be updated.

    • URL format has changed. You do not need to make an explicit connection to a server to access the files, instead you specify the server name in the URL. For example if you want to load a file from localhost, previously you need to log into localhost first, then open omni:/Users/foo/bar.usd. Now you can open omniverse://localhost/Users/foo/bar.usd directly. Client library manages the connection internally.

    • With the new URL format, you can now reference USD layers across servers (experimental, material may not work properly).

    • Old omni: URL will still work in USD, but it’s recommended to update your files to use the full qualified omniverse:// URL.

  • Extensions System
    • Extension system now supports setting registry provider which can be implemented anywhere

    • Add omni.kit.registry.nucleus extension which implement registry provider interface using nucleus and client library

    • Add more API to extension manager to fetch extension info, to allow treating both remote and local extension in uniform way

    • Added “enabledCore” setting to enable some extensions before others (like extension registry).

    • Extensions 2.0 manager UI with remote extension browser

    • By default extension system now prefers highest extension version

    • Add “list all extensions” cmd param to kit.exe

    • Add publish command to kit.exe

    • package.target config property. Allows to specify platform specific filters. It is also autofilled when publishing. Allows publishing of binary extensions.

    • Semantic Versioning support, including prerelease and metadata

    • Proper package name for extensions (using version and package.target)

    • Version removed from premake and moved into extension.toml.

    • Extension.toml reworked, added [package] section to avoid polluting root, added various info for UI here.

    • CHANGELOG in extension.toml + example

    • Add platform info to IApp interface

    • Added live mode support for documentation editing (build_docs.bat -l)

    • Huge extension documentation update

  • General Improvements
    • Changed settings override command line prefix to –/ and previous prefix –carb/ is now deprecated.

    • Refactored and cleaned up standalone rendering codepath that is used in Kit Mini and Kit non-RTX.

    • Editor interface is bumped to version 1.0 to facilitate semantic compatibility.

    • Added flag –skip-core-config to force Kit to load without the implicit configuration files (kit-core.json and kit-default.json)

    • New way to process Kit experience configuration files, allowing configuration merging using –merge-config/-m command line arguments, with experimental support of configuration file imports (using “@import@” directive) and appending array values using “++” child field.

    • Kit data path now includes build number

    • New extension omni.kit.usda_edit that allows editing usd file as text in the external editor

    • Stage Window: displaying instance proxies

    • Content Browser: Ability to use custom context menu

    • Bugfix: Press F to frame objects will no longer include the bounds of Camera and Light gizmo.

    • Bugfix: Fix normal issues of creating standard mesh in z-up stage.

    • Bugfix: Stage Window: fixed tree updating when muting layers

    • Bugfix: Stage Window: fixed removing of multiple items

    • Bugfix: Stage Window: fixed Ctrl-A

    • Bugfix: Stage Window: fixed focus on selection

Animation

  • omni.anim.usdskel an OmniGraph-based extension to support
    • Skinning

    • BlendShape (no skinning)

    • BlendShape & Skinning (preskinning)

  • Split the transform constraints extension into three extensions
    • omni.anim.wrap a mesh-to-mesh deformer

    • omni.anim.xform_constraints

    • omni.anim.pinConstraint

  • omni.anim.jiggle extension to simulate the secondary jiggle bounce mesh deformation

  • Add options in the Preference window to select default xformOp when creating new prims

  • Add support of USD layer offset such that animations in different layers with different timeCodePerSecond can play together, a.k.a auto retiming.

  • Add Transform spline interpolation supported in omni.anim.timesample_editor , such that the key framed xForm value can be evaluated in Bezier curve interpolation method.

  • Moved the timeCodePerSecond editing feature from the timeline UI to the omni.anim.timesample_editor window

  • Switched the default animation time unit from seconds to frames in the timeline UI

  • Improved the robustness of omni.anim.player such that it can playback almost all kind of animation scene. The only exception is the none-OmniGraph skeleton mesh pipeline, it is a known issue and will be address in the next release.

UI Framework

  • Moved Omni::UI to a separate extension

  • New embeddable omni.kit.widget.filebrowser UI widget for exploring file systems, including nucleus servers.

  • New widget, ImageWithProvider and a set of helper ImageProviders, which serve as a source of image data for the widget. ByteImageProvider allows to display raw byte data, RasterImageProvider allows to load a raster image and display it, VectorImageProvider allows to load vector image, rasterize it and display.

  • TreeView: rewrote to avoid using ImGui table

  • TreeView: the ability to reorder items

  • Added new extension omni.graph.ui that allows inspect omni.graph and UsdShade networks as graph view

  • Delayed UI population with Frame.set_build_fn

  • Ability to overlay existing windows

  • Bugfix: Fixed possible freeze/crash on window resize.

  • Bugfix: TreeView: fixed selection lag and selection crash

  • Bugfix: CheckBox: fixed disabled state

  • Bugfix: CollapsableFrame: fixed margin and padding

Kit Application UI/Material Workflow

  • Toolbar has been moved from C++ to python using omni.ui.

  • Layers

  • Layers window has been written with omni.ui and moved to python extension.

  • It supports live mode control per single layer.

  • Improvements to Cache/Live mode indicator.

  • Content Window now supports multiple servers at the same time. All local drives will also be listed by default.

  • Global login window is removed. On-demand login will popup when needed.

  • “file:” prefix is removed from local file path returned in FileDialog and in Content Window’s address bar (pending cherry-picking)

  • Improve the collect tool to optimize the collect performance.

  • Improve asset importer to support FBX version under 7.

  • New Copy Service extension for copying files between Nucleus and local file servers.

  • Stage widget type column on by default

  • Stage Widget show/hide columns

  • Bugfix: Certain aliasing on UI images has been improved.

  • Bugfix: Rasterized svg glyph is now center aligned

Cloud and Microservices

  • Kit control port extension is now part of Omniverse. It forms the base of the micro services framework that is being built around it. It

  • Kit-services is an application that makes it easy to get going with Kit and its micro services framework. Build, run and deploy kit microservices.

  • Basic facilities that make it easier to write stateless services using dependency injection.

Hydra Viewport

  • Early preview of the new hydra viewport extension in kit, accessed by running kit-hydra.bat in Windows. This viewport renders the USD world using render delegate plugins like Pixar’s OpenGL based hdStorm and hdEmbree. This allows kit to run on machines with non-RTX GPUs and be embedded in lightweight, quick loading experiences. The hydra viewport is not yet feature complete, but picking and camera controls are implemented.

Viewport Window

  • Performance improvements for UI draw event stream events creation/dispatch

  • Viewport context menu add group selected

  • Viewport window prim selection fix for context menu

Ansel

  • Cleaned up Ansel extension matrix code

  • Default save folder matches recommended Ansel default folder

Materials

  • Improved OmniGlass has more intuitive controls to simulate refractive materials. Please note, in some cases there can be a look change.

  • New OmniPBR_ClearCoat is a multi-layer physical material that adds an additional clear thin coat to OmniPBR.

  • Both materials also have Opacity versions that add cutout opacity mapping support.

Physics & Simulation - General

  • Debug visualization fixes

  • Grab with force can have now force value defined in Physics settings window

  • Fixed runtime switch of collision shapes inside bodies

  • Updated Physics demos to new UI, added custom parameters to demos

  • Improved convex decomposition performance and quality

  • Debug visualization for collisions supports time varying transformations

  • Physics demos are created under default prim

  • Improved errors while parsing physics data out of USD

  • Commands for physics menu - undo/redo works for physics menu

  • Undo/redo for physics properties changes

  • Physics error stream added

  • Support for distance joint springs

  • New PSCL (physics scripting language) demos

  • Documentation for physics extensions

  • Documentation for physics python bindings

  • Exposed disable gravity on PhysxRigidBodyAPI

  • Blast extension support for impact based damage

Physics & Simulation - Vehicles

  • Support for PhysX vehicles

  • Default input device support to drive a vehicle

  • Custom camera types

  • Special property windows

  • Vehicle creation wizard

  • Samples

Physics & Simulation - Blast

  • Voronoi fracture of UsdGeomMesh

  • “Explode view” of fractured chunks

  • Multilevel fracture - can select chunks in explode view (or stage view) and fracture those further

  • Ability to set interior materials of fractured meshes

  • Fracturing a mesh with a PhysicsAPI creates a destructible rigid body

  • Ability to choose kinematic or dynamic physics mode for the initial destructible rigid body

  • Can select multiple meshes and create a combined-mesh destructible

  • Reset feature deletes blast object and restores original mesh

  • Impact damage option

  • Contact threshold

  • Ability to attach a blast destructible to the static world or a dynamic rigid body

  • Damage profiles: radial, cutter, and impact spread

  • Base damage amount

  • Min/max damage distance

  • Impulse to apply to chunks when taking damage

  • Impact-to-damage setting

  • Max contact impulse, to allow heavy objects to pass through “weak” destructibles (such as a canonball through a window)

Known Issues/Limitations

  • Kit Application UI/Material Workflow
    • Live MDL file editing is broken (need to restart Kit to reload edited MDL).

    • Live material parameter editing between Connector (e.g. Maya) and Kit is not working properly

    • Cross-server reference of USD which contains MDL that uses server-side search path is not working properly. You will see red material in such cases.

2020.1: Hotfix

Features, Changes, Fixes and Improvements

General

  • Add texture supports for ShapeNet importer in omniverse_asset_converter

  • Updates from a referenced file that gets changed do not get reflected in a new scene.

  • Fixed showing of Black Sky When Opening Models in View

  • Fixed mouse picking for joint to be forced based since it was too strong, leading to joint being pulled apart

  • Changed error reporting for articulation joint created without bodies

  • Fixed problem with disabling of joints, they can now be disabled

  • Fixed crash when removing collisionAPI in Kit while simulation is running

  • distance joint spring enabled exposed

  • Following CPU/GPU logs added during startup

  • A table to show: Memory size (used/free), swap/page size (used/free), CPU and GPU brand names, CPU cores and logical processors.

  • Enumerate all GPUs on device creation failure

  • Indicate which GPU chosen by setting active in table

  • Scoring GPUs: priority based on per 256 MB GPU memory and “RTX” in the name

  • Improve GPU selection for multi-gpu: Skip old GPUs and fix incorrect GPU counting

  • Fixed the problem where Microfacet with roughness of 0 cause blurry reflections and transmissions by updating to newer MDL SDK

  • Fixed Viewport corruption during View startup on MGPU

  • Fixed perf hit caused by enabling synthetic data bounding boxes

  • Fixed problem which was causing dramatic changes in Viewport brightness changes when moving camera

  • Implement a camera sensor to extract the tight 2D bounding box data of the objects that a camera has in view

Isaac Sim

  • mechanism to map instance segmentation URI to a USD Object for omni.syntheticdata

Physics/Simulation

  • Switched mouse drag to a weaker force based approach so it doesn’t pull joints apart. Previous joint based behaviour can be enabled in physics settings.

  • Joints can be enabled/disabled through jointEnabled attribute

  • Fixed crash when removing collisionAPI in Kit while simulation is running

2020.1

Features, Changes, Fixes and Improvements

Core Framework & USD

  • Refactor of the Kit Classes splitting the API in more logical pieces.

  • New Extension system (Extension 2.0) with dependency management and clearer structure.

  • Many of the Kit Windows are now Extension 2.0.

  • New interface ITimeline: Manages a global timeline for animation control.

  • Layers’ interfaces have been re-organized to support nesting of layers (support for sub-layers of sub-layers).

  • Added support for synchronizing time across Omniverse stage in Live mode.

  • Added default option to keep UsdPrim’s world transform when re-parenting.

  • Allowed collapsed copy of reference prim’s descendants.

  • UsdShadeShader prim’s subIdentifier now requires no namespace prefix and will issue a warning if namespace is included.

  • New mesh generator and general primitive improvements.

  • White Mode now has a global exception list in Preferences to exclude materials that will not be changed when White mode is enabled.

  • USD diagnostic message is now turned on by default to help guide correct USD usage and debugging.

  • Add support for nesting sub-layers for USD compliance so users can operate the whole layer tree.

  • Improved stage save workflow to control the granularity of saving of stage.

  • OM-Fixed UsdPrim visibility not honoring display purpose filter settings.

  • OM-Popup menu when drag and drop MDL file onto a UsdPrim now only includes UsdGeomGprim, UsdGeomSubset and UsdGeomXform.

  • OM-10x default far-plane to allow rendering bigger scenes.

  • OM-Improved performance when framing objects by pressing F in viewport.

  • OM-Fixed std::bad_weak_ptr exception on several omni.kit.ui python bindings.

  • OM-Fixed “Create Camera from View” only taking the local transform of the source camera.

UI Framework

  • New UI toolkit called Omni::UI to enable extendable and visually compelling user interfaces.

  • Omni UI Components: Dynamic layout system, Flexible styles, Button, Image, Label, Model based widget like ColorWidget, Slider, ComboBox, ToolButton.

  • Advanced UI element for Tree, List Views using fast and flexible models.

  • Workspace system to control Kit’s windows and docking.

  • Streaming Widget extension.

  • New Web component based on chrome to create web content views and based interfaces.

  • Previous python UI system is still present but will be deprecated over the next couple of versions.

  • Stage View re-implemented using Omni::UI in with Python.

Kit Application UI/Material Workflow

  • OM-Status bar now displays the last logging message at bottom left corner.

  • OM-Support to drag and drop materials from stage window to viewport window to enable binding of material.

  • OM-Context menu support using Right click in Layer, Stage and Viewport Windows.

  • OM-New Scene Presets and options to create your own.

  • OM-New Selection workflow to Select All, None, Inverse, Hide, Unselect etc.

  • OM-Viewport HUD stats on/off.

  • OM-Viewport Display Purpose menu.

  • OM-Viewport Display By Type menu.

Cloud and Microservices

  • OM-New Control Port extension to write micro-services for Kit.

  • OM-New Kit agent extension to enable to launch Kit instance remotely.

Streaming

  • OM-Created an Omniverse Kit Remote installer.

  • OM-Client streaming window is now resizable, Kit must be launched with –carb/app/livestream/allowResize=true to enable the feature.

  • OM-Windows clients are now launched automatically when a URL beginning with kit-remote-2020-1:// is present. For instance, kit-remote-2020-1://127.0.0.1 would launch Omniverse Kit Remote and automatically attempt to connect to a streaming Kit server on localhost.

  • OM-Allow High DPI sessions in Omniverse Kit Remote with the -d command line parameter.

Feature or Issue Minimum Windows Driver Versions Minimum Linux Driver Versions ======================================================== ================================ ==================================================== Live streaming on systems with multiple GPUs | 442.76 or 450.78 | Unknown Reduced memory usage with small meshes with Vulkan | 450+ | 450+ Ansel support on systems with multiple GPUs | 446.09, 451.02 | Not applicable (not supported) Fix for crashes on Linux (X windows or full system hang) | not applicable | 450.34 Fix for some GPU memory allocation errors on Linux | not applicable | 450.29 ======================================================== ================================ ====================================================

Known issues caused by driver bugs or missing functionality

  • OM-Standard Surface material causes crashes (all platforms)

  • OM-Cached Path-Tracing is not supported on Vulkan (Windows and Linux)

  • OM-Multi-GPU is not supported on Linux

Materials

  • OM-Improvements to MDL loading

  • OM-Changes to default binding strength to improve authoring experience

  • OM-Bug fix to only author material binding at authoring locations.

  • OM-Validate / update all clients to write correct MDL schema

  • OM-Added UDIM support in Kit and Maya

  • OM-Drag and drop materials to Viewport presents only bindable locations in the popup list. (phase 1 update, phase 2 next release)

  • OM-Added ability to select bounded objects from material.

  • OM-UsdPreviewSurface default ST wrap mode is now set to Repeat

  • OM-Making updates and improvements to Material Documentation in 2020.1.

  • OM-New MDL SDK with MDL 1.6 Support

  • OM-Hair BSDF support

  • OM-MDL Plugin for Arnold

OmniGraph

  • OM-Compute graph framework is now OmniGraph!

  • OM-Added a number of deformer, animation constraint, and particle system nodes

  • OM-Added Python bindings

  • OM-Added ability to create nodes through Python

  • OM-Added ability to create sub-graphs

  • OM-Added node connection UI

  • OM-Added baseline documentation about the graph system and the roadmap ahead

  • OM-Simplified Compute Node registration process

  • OM-Added support for simplified node type registration

Animation

  • OM-Many animation tools are now based on OmniGraph

  • OM-Added OmniGraph support for animation constraints (transform, mesh constraints)

  • OM-Polished transform constraint, which allows users to constrain a USD prim to transform of another prim (or a joint in USDSkel).

  • OM-Polished mesh-mesh constraint, which deforms a mesh based on deformation of another mesh

  • OM-Added a few deformers based on OmniGraph framework

  • OM-Skinning support for UsdSkel as Omnigraph deformer (omni.anim.deformer)

  • OM-Polished anim clips (omni.anim.clips), which allows users to import, retime USDSkel based animations

  • OM-Added anim player tools provide basic support for animation play of independent animation clips

  • OM-Anim behavior extension was removed, and no longer supported

  • OM-Basic time sample (key frame) editing through the time sample editor (omni.kit.builtin.timesample_authoring extension

  • OM-Various bug fixes related to UsdSkel and animation loading from USD and FBX.

Physics / Simulation

  • OM-Physics and PhysX USD schema updated.

  • OM-New Physics properties tab.

  • OM-Improved physics visualization options.

  • OM-User can remove physics components.

  • OM-Masses can be specified manually with Mass API components.

  • OM-Added collision filtering with collision groups.

  • OM-Added joint creation and editing.

  • OM-Added contact reporting for extensions.

  • OM-Improved articulation editing.

  • OM-Physics property editor for editing schema APIs directly.

  • OM-Blast destruction added.