Code 2022.3.0 Beta

Release Notes

Release Date: Nov 2022

Extension Changes

  • added extension omni.flowusd 104.1.5

  • added extension omni.genproc.core 104.5.13

  • added extension omni.graph.window.particle.system 104.5.0

  • added extension omni.kit.agent 0.1.5

  • added extension omni.kit.core.collection 0.1.1

  • added extension omni.kit.splash.carousel 1.0.4

  • added extension omni.kit.thumbnails.usd 0.5.2

  • added extension omni.paint.brush.attributes 1.1.2

  • added extension omni.particle.system.bundle 104.2.23

  • added extension omni.particle.system.core 104.7.16

  • added extension omni.particle.system.ui 104.4.11

  • added extension omni.slangnode 0.1.19

  • added extension omni.usd.schema.flow 104.1.4

  • added extension omni.vdb_timesample_editor 0.1.3

  • removed extension semantics.schema.editor

omni.anim.curve

  • from 103.7.10 -> 104.15.8

  • Added stage load activity.

  • Move the TimeSample to animation curve conversion under the Tools menu

  • A bug during the old asset conversion

  • A regression so that when user duplicate a prim the animation asset is duplicated

  • A crash during the old asset conversion

  • Converting old animation asset in payload reference layer

  • Suppress some warning message from the animation node

  • Performance issue for orphan animation curve nodes

  • An old format conversion issue

  • A UI performance issue

  • A crash bug when delete animation asset from the stage view

  • A time error under the timeline node mode

  • Strange SetAnimCurveKeys behavior

  • Legacy asset conversion bug fixes for referenced animation asset

  • Convert the old asset to latest with some toast messages and interactive workflow

  • Remove the MoveAnimCurveKeys command which is replaced by the EditAnimCurveKeys

  • Disable an unused SetAttrsByComp OmniGraph node

  • A big step on performance boost by batched output

  • SetAnimCurveKey’s redo

  • A key moving issue in Timeline window

  • Implement the preserveCurveShape in SetAnimCurveKeys

  • Implement the inTangentType, outTangentType and tangentBreakDown in SetAnimCurveKeys

  • Move the animation clip data out of the OmniGraph folder

  • Key Selection utility

  • Set keys on multiple prims

  • Package AnimX DLL in the extension

  • Able to playback the old 102 animation data format

  • Optimize the UI for timesample to animation data converter

  • Some animation data simplification bug

  • A performance issue when loading non-animated prims by updating the schema and runtime code

  • Delete key issue

  • Edit tangent via the command issue

  • Set Key context menu appears on attributes that are not appropriate for key settings

  • All Context menus always appear, but are disabled based on conditions, previously was hidden

  • Added getCurveNodes() to get curve node path for a given prim and an animation data.

  • Uses prim path instead of prim for interface.

  • Add back the support of the omni.anim.Timeline

  • Fully switch to the OG node based evaluation

  • Switch to the new data format no longer uses time samples

  • The new format store absolute time instead of frame for keys

  • A more compact and programming oriented command set

  • TimeSample to Animation Curve data conversion and simplification

  • Expose more runtime APIs

  • Automatically convert the previous version(in 103) to the new version at loading time

  • The animation data format in 102 is not supported in this version

  • Rollback some OGN node features before it is matured

  • Updated to new omni.timeline interface

  • Support middle mouse authoring

  • Optimize the performance for the Animation Curve Node

  • Apply the BaseCommand to most of the Animation Curve commands(command format change)

  • Refine the tangent calculation with an update schema

  • Create some BaseCommand share with all animation curve commands

  • A typo in the last release

  • Add a missing interface so that the auto key feature works

  • Backport from 103 the animation evaluation honors the play button’s Animation toggle flag

  • Backport from 103 so that token-typed attributes can be keyframed

  • An evaluation issue for the Linear infinity typed curve

  • Rename a list of commands:

  • RemoveAnimCurve to RemoveAnimCurves

  • SetAnimCurveKey to SetAnimCurveKeys

  • RemoveAnimCurveKey to RemoveAnimCurveKeys

  • MoveAnimCurveKey to MoveAnimCurveKeys

  • AnimCurveKeyCopy to CopyAnimCurveKeys

  • AnimCurveKeyPaste to PasteAnimCurveKeys

  • change AnimCurveKeyCopy and add AnimCurveKeyPaste command

  • RemoveAnimCurveKey command issue

  • Introduce Pre-Infinity and Post-Infinity evaluation

  • Introduce animation curve evaluation OmniGraph Node

  • A token-typed attribute curve creation issue

  • Copy & Paste Anim Key context menu in the property window

  • Autokey regression

  • Token-typed keys’ removal and copy/paste crash

  • Always do a snap to frame when paste keys

  • Do not snap to frame when deleting a key

  • Crash when removing token typed curve animation

  • Deleting keys triggers adding keys under the autokey mode

  • Extension thumbnail

  • A regression on the property window icon state update

  • Disable the “Set Key” property window context menu for some inappropriate attributes

  • A false warning message when moving keys

  • Token-typed attribute update issue.

  • Support token-typed attributes animation

  • Visibility attribute is added with other xformOp attributes in the hotkey

  • Add back the support of the old KeyFramer animation data

  • AnimDataCopy, RemoveAnimCurve and AddAnimCurves command

  • Copy Animation & Paste Animation context menu

  • An evaluateCurve API(evaluate_curve in Python) to evaluate a curve at a given time

  • An getCurveTime API(get_curve_time in Python) to get a curve’s start and end time

  • Rename CopyAnimCurveKey to AnimCurveKeyCopy

  • Cosmetic change on the add/remove key context menu

  • SetAnimCurveKey for a non-authoring value attribute

  • MoveAnimCurveKey Command

  • CopyAnimCurveKey command supports pasting deleted keys after the copy

  • A big performance boost on the benchmark scene

  • A possible crash when the extension is disabled

  • SetAnimCurveKey for a scalar attribute failure

  • A crash when adding the first key of a curve to a prim with other curves already

  • CopyAnimCurveKey command log format

  • CopyAnimCurveKey command

  • Some refactor on the USD animation schema lib, update the curve extension code accordingly

  • Triggers attribute change when animation keys are deleted. It’s mainly for OM-39137 to update property window.

  • Setting a key will only update it’s corresponding attribute component (previously invalidate all cached attribute values)

  • Incorrect Delete key command params

  • Hotkey ALT + S to add xformOp keys

  • RemoveAnimData command to remove the whole animation data prim

  • Icon preview images and readme

  • Trigger the add key event when an animation data prim is added

  • Sometimes curve add event is triggered twice

  • Avoid a Kit crash-on-exit issue that arose from the curve runtime

  • Attribute value not updated when only one key is present in a curve

  • Fix a bug that curve event is not triggered when an animated prim is removed.

  • Events to notify curve change.

  • RemoveAnimCurveKey commands fix a bug when user specify an illegal attribute name. also give hint when user provide paths is not a list

  • Add SetAnimCurveKey and RemoveAnimCurveKey commands

  • Add property context menu to add & remove key

  • Add support for infinity curve evaluation

  • Support for the new AnimationData schema format

  • Update AnimX lib to make Linux work properly

  • Port all 102.1.1 changes to 103

  • Add the Linux support

  • Refactoring the stage change handling

  • OM-31073: After adding a key, the camera can’t be moved any more.

  • OM-30907: a special case working with sequencer, camera tool, where we may not animate certain curves

  • Loading up a map doesn’t work for any curves

  • Able to deal with curve prim add/delete on-the-fly

  • Fix a crash bug when other extensions add some incorrect prims

  • Change the curve tangent format so that it works correctly with sequencer

  • Support for transform type

  • Separate interpolation mode vs remapping type

  • Support for general parameters

  • More interpolation options added (linear, bezier, step, stepNext, easeInEaseOut)

  • Quaternion based interpolation added (linearSlerp, bezierSlerp)

  • Better autotangent for bezier mode

  • USD schema changes

omni.anim.curve_editor

  • from 103.7.10 -> 104.12.5

  • Removed some unnecessary log

  • Hotkey related error and warning logs

  • Remove the curve editor version number from the hotkey window

  • A toolbar icon issue at startup

  • A crash issue when deleting the selected prim and select its curve key

  • A moving key error

  • An error when the editor window’s height value is small

  • When the first key is added the length of the timeline becomes longer with the frame all

  • Timeline node mode adding key to a non-existing curve issue

  • Display keys according to Timeline node’s own framerate

  • Slider dragging issue when the slider is out of the window

  • A key tangent issue when switching Linear type to Fixed type with an unbroken attribute

  • Do not always auto-framing

  • Important actions and hotkeys

  • Replace the selection commands

  • Change some Move key commands logic

  • An initial UI button bug

  • The tangent type change’s undo/redo issue

  • Error when adding keys from script, to a prim without curves

  • Keys won’t move along the time(frame) axis when the TimeCodesPerSecond is changed

  • Do not recognize the omni.anim.timeline node in some legacy cases

  • The tangent icon button selection indicator’s size

  • Fully support the new OG node based animation asset

  • Switch to the new animation key format from runtime version 104.12.0

  • Refactor the architecture of the tool and no longer talk to USD data directly

  • Most of the operations are backed by the public commands offered by the animation curve runtime

  • A bug that newly added curves not shown in prim panel

  • A bug that newly added curves not shown in prim panel

  • Middle mouse authoring key

  • Zooming an empty curve without keys

  • Refine the tangent calculation with an update schema

  • Remove a deprecated dependency

  • Post and Pre infinity type authoring

  • Next and Previous Key button behavior change same as the timeline now

  • Update the command names along with the omni.anim.curve runtime

  • It only works with omni.anim.curve 104.9.0 or later

  • Correct x coordinate range when we frame keys

  • Make the editor timeline more robust during frame selection

  • Crash during removing curve animation or removing an attribute

  • Some UI tooltip

  • Reduce the performance impact on animation playback

  • Some icons

  • Docking issue for all Apps like Create

  • Fix for show_window startup setting

  • Window hidden on startup

  • Frame all and frame selected button’s icon

  • Timeline node authoring, adding curves and then start authoring

  • Remove unnecessary error messages under a special case of undo operation

  • Continuously update the time when sliding the timeline, because the UI is not snapping to frames

  • Hide the timeline slider when it is out of the canvas range

  • Display token-typed keys

  • Step-typed tangent is now hidden

  • Improve the robustness of tracking the animated prim when the scene graph changes

  • Error messages when moving overlapped keys

  • Step-typed tangent switched to spline type when grouply rotated

  • Remove useless debug messages

  • A welcome screen on the left prim panel

  • A new Timeline Node mode to edit animation curve in the Timeline Node

  • The new mode doesn’t have time slider and some timeline-related buttons.

  • The timeline range is detached from the global timeline.

  • The begin/end time is read from the Timeline node not USD stage

  • Clicking the play/stop/pause button has no effect in this mode

  • Only one Timeline node prim can be edited at a time

  • Able to add dynamic attribute/curve from a new button

  • A better interop with the sequencer

  • A step-typed tangent issue

  • Better support for generic attribute e.g.color3f attribute

  • Improved copy and paste key feature, users can paste a key even it is deleted

  • Update the non-xformOp attribute keys’ color scheme

  • Improve the playback performance

  • Upgrade omni.kit.widget.timeline to version 103.1.20

  • The curve names on the left panel is sorted. xformOp curves always on the top

  • A scrubber issue when upgrading the timeline widget

  • Key selection undo/redo

  • omni.anim.curve upgrade to 103.5.0

  • Double click a curve segment to select all keys in the curve

  • Unify the non-xformOp attribute’s color scheme

  • xformOp curves always shows on top of the left panel

  • Copy/Paste keys

  • Curve Editor window resizable

  • Multi-layered support. Curve data is in the weak layer case

  • A curve editor frame(not window) resize bug

  • Manually framing on selected keys

  • Big performance improvement on panning/zooming navigation

  • Some potential assertion bugs

  • Time scrubber not able to go to some odd numbered frames

  • The same prim appears twice on the left prim panel

  • Vertical guidelines on the background of the curve canvas

  • Visual clue for USD stage’s start and end time with highlight background

  • Tangent type setting not working issue

  • revoke the registered notice an shutdown

  • Remove some obsolete code using timelineview

  • Horizontal lines on the background of the curve canvas

  • Vertical ruler

  • Tangent type regression bug

  • A garbage collection issue

  • registered notice revoke method

  • singleton object revoke method

  • Big refactor on the curve navigation

  • Remove the up/down/zoom in/zoom out icons replace them with mouse manipulation

  • Upgrade the timeline widget version to 103.1.15

  • Customize the timeline behavior when doing the zooming and panning

  • Curves auto/manual fit to the rendering window

  • Slow-down/crash the asset import process.

  • Standardized vector-typed curve colors

  • Some circular dependency issue

  • Curve Editor’s menu typo bug

  • Curve’s color encoding refactoring

  • Curve Editor’s menu switched to Window/Animation submenu

  • Curve Editor menu is under the Window menu now

  • Some delete key issue

omni.anim.graph.core

  • from 103.1.23 -> 104.0.32

  • Resolve OGN warnings at startup.

  • Fixed WriteAnimationGraphVariable resolution when no variable is specified.

  • Removed FBIK/Set Effector node

  • Pinocchio SDK upgrade, fix retargeting crash when many overlapping chains exists.

  • Pinocchio SDK upgrade, fix Pose Provider crash with State Machine

  • Pinocchio SDK upgrade, fix FBIK crash with Pose Provider node

  • Pinocchio SDK upgrade, fix FBIK with multiple instance

  • Pinocchio SDK upgrade, FBIK crash fix for Motion Matching node

  • Pinocchio SDK upgrade, FBIK crash fix.

  • Pinocchio SDK Update: Fullbody IK Node!

  • Minor compiler fixes.

  • GetJointTransform

  • Improved node errors and logging without UI.

  • Move to token constants to avoid problems with mismatched schema versions.

  • Pinocchio SDK Upgrade.

  • Character bindings

  • Fixes to Character bindings. Don’t require play mode for certain calls, more consistent handling of that check.

  • Added Animation Graph error handling

  • Pinocchio SDK Upgrade (crash fixes)

  • Enter play mode performance on large scenes.

  • PhysX dependency is optional and tracked internally when loaded.

  • Parity with 103.1 branch after Create beta release.

    • Compile/validation fixes.

    • Python API and commands.

  • State machine inertial blend transition fix.

  • Fix retargeting offset issue

  • Fixes for omni.anim.graph.ICharacter api error messages.

  • Added ConditionAND and ConditionOR

  • Fixed PoseProvider

  • Fix extension dependency

  • Split from omni.anim.graph from commit 4b61003c

  • API update

  • UI bug fix

  • Major update for UI and AnimGraphSchema

  • Fix crash when no overlapping tag is found when retargeting

  • Motion Matching maintenance

  • AnimGraph UI maintenance

  • Motion Matching maintenance

  • Fixed retargeting joint mapping issue in AnimGraph

  • Porting from old extension based on commit c2c6d6f5

omni.anim.graph.ui

  • from 103.1.31 -> 104.0.20

  • Fix to add AnimGraphUI prefix to avoid command conflicts.

  • Fix variable service usd notice.

  • Unregistering samples fix.

  • Samples reorganization.

  • Remove Animation Graph Samples window.

  • Remove Animation Graph Samples window.

  • Add registration to Kit’s sample browser.

  • Sample Location to prod, some updates to sample content browser.

  • Sample Location.

  • Added Animation Graph error handling

  • Parity with 103.1 branch after Create beta release.

    • Several fixes.

    • Production sample content location.

    • Add visualization nodes dependency for samples.

  • Added ConditionAND and ConditionOR

  • Fixed PoseProvider

  • Split from omni.anim.graph from commit 4b61003c

  • API update

  • UI bug fix

  • Major update for UI and AnimGraphSchema

  • Fix crash when no overlapping tag is found when retargeting

  • Motion Matching maintenance

  • AnimGraph UI maintenance

  • Motion Matching maintenance

  • Fixed retargeting joint mapping issue in AnimGraph

  • Porting from old extension based on commit c2c6d6f5

omni.anim.retarget.bundle

  • from from 103.1.5 -> 104.0.4

  • Changed icon

  • Create Bundle

omni.anim.retarget.core

  • from 103.1.14 -> 104.0.17

  • Added shoulder/knee tags

  • Pinocchio SDK upgrade, fix retargeting crash when many overlapping chains exists.

  • Error and Log handling

  • Pinocchio SDK Upgrade - Motion matching, state machine, and retargeting fixes.

  • fix get_forward_up_axis

  • Update retarget core API

  • Updated preview animations of idle and walk

  • Fix for retargeting offset when twisted

  • Auto pose now has more strict rule on tweaking pose

  • sort use stable_sort

  • Updated reference assets to the latest

  • Update Icon

  • Fix for character controller crash in compiler

  • Fix for retargeting when root has rotation

  • Fix of std::sort for linux - now uses std::stable_sort

  • Minor version has changed

  • Updated the Biped rig assets

  • Description for extension

  • Fixed issue with root has non identity rotation

  • Added min tag options for has_retarget_setup

  • Fixed crash when no tag is found

  • Fixed issue with auto facing

  • Add more keywords for Biped

  • Improve auto set up

  • Fix bugs with CC RL character set up

  • Fix bugs with initial set up

  • Split Retarget_Window to retarget.core and retarget extension

  • Provide APIs for auto tag and auto pose

omni.anim.retarget.ui

  • from 103.1.12 -> 104.0.16

  • Making a new ui.Window named Viewport that breaks functionality in the original one.

  • Unregister samples fix.

  • Samples reorganization.

  • Updated to use new retarget core API changes

  • Fix shutdown error

  • Tweaked preview so now it only shows mesh during preview

  • missing recommended tags will display warning sign and also change tag color to error color

  • fixed issue with forward/up axis visualizer for multi viewport

  • Updated icon

  • Fix extension restart error

  • Minor version has changed

  • Fixed a bug with loading preview asset in wrong axis

  • Rename to omni.anim.retarget.ui

  • Fixed UI typo/description

  • Fixed assign skeljoint

  • Added facing visualizer

  • Open window command support

  • Support extra tags - only overlapping tags are used

  • Improve auto set up

  • Update Pinocchio SDK to 0.1.34

  • Removed exact version dependency

  • Move to omni.kit.viewport_legacy

  • Fixed window to be able to still maximize

  • Fixed tagging bug initially

  • Made sure Skeleton always stays on the top

  • Avatar window now supports assign/delete tags using context menu

  • Updated UX for retarget pose/facing/preview

  • Added default skeleton/preview options for auto pose and preview

  • Split Retarget_Window extension to retarget.core and retarget extension

  • Retarget_Window is no omni.anim.retarget extension

omni.anim.shared

  • from 103.6.13 -> 104.12.0

  • Remove duplicated kit_utils from A2F character transfer

  • Add new option to stamp mesh with copy primvars

  • Add output execution port to SetXform

  • implement interpolation attribute copy in createMesh

  • Documented DecomposeMatrix in omni.anim.shared ReadMe

  • Removed deprecated OmniGraphHelper

  • moved omni.anim.decomposeMatrix to omni.anim.shared

  • Change autoPropertyWidget for renamed ComputeNode to OmniGraphNode

  • Fix Stamp mesh uv issue to include float2[] and use texcoord2f when writing

  • ReadTime no longer created by default when creating graph

  • Accept any texCoord primvars as uv when reading mesh

  • Fix uvs where previously skipped when custom data is not as expected

  • Add primvars:UVMap support when reading mesh for stamp

  • Fixed undo when assign animation

  • Removed toast warning message for animation assignment

  • Better integration of Graph evaluation type

  • Default to LazyGraph

  • Remove Xform node

  • Switch to ReadTime node

  • Deprecate global implicit graph

  • Add omni.anim.TimesamplePoints node

  • Converted MatrixConstrain to use bundles

  • Rename omni.anim.getXform to omni.anim.GetXform

  • Rename omni.anim.matrix_constraint to omni.anim.MatrixConstraint

  • Rename omni.anim.matrix_inverse to omni.anim.MatrixInverse

  • Rename omni.anim.matrix_mixer to omni.anim.MatrixMixer

  • Rename omni.anim.matrix_multiply to omni.anim.MatrixMultiply

  • Set package target

  • Add kit_utils.py

  • cpu to gpu update bug

  • icon.png

  • Fixed a bug input time is directly used as time code.

  • get_xform nodetype changed to omni.anim.getXform

  • get_xform Ogn node

  • XformQuery node to get world matrix of a prim

  • MatrixMultiply node to multiply two matrices

  • MatrixInverse node to invert a matrix

  • MatrixMixer node to interpolate between two matrices

  • MatrixConstraint node to set the world matrix of a prim

  • Matrix utilities for composing and decomposing matrices

  • An example usda file constraining one object between two others, using the nodes in this extension.

  • Initially create.

omni.anim.skelJoint

  • from 103.2.20 -> 104.2.19

  • Fix render failure due to scenerenderer.

  • Fix retargeting animation visualization.

  • Move acquire setting interface to initial instead of update.

  • fix warning about skeljoint layer.

  • Remove preview when bindTransform changed.

  • Pinocchio SDK upgrade, fix retargeting crash when many overlapping chains exists.

  • write full joints when create preview animation.

  • Performance issue when picking a large list of prims

  • Error messages when manipulating multiple a joint from one of the multiple UsdSkel Meshs

  • Fixed crash/memory corruption when retargeting has failed

  • Update Pinocchio SDK for retargeting

  • Added visualization for AnimGraph skeleton.

  • Fixed a bug visualization of graph skeleton doesn’t follow character.

  • Rebuild to work with new renderer.

  • Added support for visualization of retargeting skeletons.

  • Fixed a memory leak.

  • Fixed a crash after extension is disabled.

  • Skel joint prims are created even when visualization flag is off.

  • OM-35592: Fixed a crash and some USD warnings.

  • Sub layer trigger full resync.

  • Do not enable save pose feature by default.

  • Highlight descendent of selected joints.

  • Add feature flag

  • Fixed a crash in some conditions.

omni.anim.timeline

  • from 103.0.3 -> 104.0.6

  • Use time instead of timecode.

  • Remove the animation data’s relationship to accommodate OGN changes

  • Updated to work with latest omni.anim.curve.

  • Create animationData prim at node’s creation as an animation asset place holder

  • Group the node into the animation category

omni.anim.window.timeline

  • from 103.5.18 -> 104.10.7

  • Hotkey related error and warning logs

  • Remove redundant Play/Pause hotkey.

  • Fix a bug where the color of the “Auto Key” button will not change upon Ctrl+S hotkey.

  • Support for the new actions and hotkeys framework.

  • OM-65677: Enabling Fabric Bundle and setting it to auto load crashes Create on the next start up

  • Make play range editable

  • Support keyframe proxy.

  • Make legacy Viewport an optional dependency.

  • re-implement autokey feature due to some functions not work for pushgraph

  • Switch FPS will dynamically switch key position and start/end time code

  • Switch to the new animation key format

  • Add None check

  • Support play in range

  • Middle Mouse Authoring

  • Update the animCurve commands

  • It can only be used along with omni.anim.curve 104.9.0 or later

  • add add/delete/copy/paste key in popup window

  • Improve keyframe range slider, disable drag single key frame

  • Add option menu for toggle modifier shift/alt

  • An “Autokey all transform” toggle context menu to always autokey all transforms keys whenever any keyed value changes

  • An additional auto button state to indicate that the selected prim cannot do autokey

  • A button to add all transform attribute keys

  • dock at the bottom of the window

  • Fix key frames ranger slider issues

  • Add setting “/exts/omni.anim.window.timeline/playinRange”

  • Fix when startTimeCode and endTimeCode are invalid

  • Fix time scrubber moving with mouse even it not pressed in the timeline bar area

  • use same version as animation runtime

  • Fix group undo for multiply keyframes moving

  • support multiply prim keyframes

  • Move to omni.kit.viewport_legacy

  • Move to omni.kit.viewport_legacy

  • Initial release of Timeline into the registry

omni.curve.creator

  • from 1.1.1 -> 104.1.2

  • Fixed waiver in extension.toml.

  • Support pencil tool in Viewport 2.0.

  • Worked around bad dependency from omni.debugdraw.

  • Added writeTarget to extension.toml

  • Made dependencies on omni.kit.window.viewport optional.

omni.curve.manipulator

  • from 103.4.0 -> 104.7.3

  • No longer skips RTX render during curve editing.

  • Fixed pencil tool cannot create curve longer than 1024 points.

  • Prevented Curve snapping to itself during creation.

  • Disabled snap on inserting CV mode.

  • Included Z to ndc_location.

  • Updated curve creation snap tools.

  • Integrated manipulator toolbar and new snap features.

  • Fixed Viewport 1.0 context menu when FPS is low.

  • Fixed assert in debug build.

  • Supported free rotation.

  • Supported bezier tool in Viewport 2.0.

  • Minor bugfixes and UX improvements.

  • Supported curve manipulation in Viewport 2.0

  • Supported multiple context for curve manipulation.

  • Fixed creation order of first pair of tangent and anchor cv.

  • Added marquee selection for CVs

  • Bezier Curve tangent is now always yellow regardless of selection state.

  • Moved prompt message to floating window.

  • Fixed CV Manipulator when snap to face may snap to invalid (nan) position.

  • Exposed Snap to Face option in pencil and bezier tool.

  • Delayed CV context menu for one frame to resolve conflict with default Viewport context menu.

  • Updated the look of CVs.

  • Tangents are now drawn with ui.scene, instead of IDebugDraw.

  • Tangents are now highlighted when their CVs are selected.

  • When pencil tool finishes, it switches to bezier tool mode.

  • Added property widget fro BasisCurves.

  • Updated menu.

  • Removing event based subscriptions and using new Viewport-1 API to disable selection until mouse up.

  • Added Preferences page for default new UsdGeomBasisCurves purpose.

  • Fixed unreleased post-update event subscription in manipulator.

  • Added support for Delete CV on Linear curve.

  • Fixed out of sync transform between CV and curve.

  • Fixed CV manipulator visibility when not in use.

  • Added on_canceled override on CV gesture and model.

  • Made dependencies on omni.kit.window.viewport and omni.scene.visualization optional.

  • Curve creation and manipulation should now update the extent attribute.

  • Rebuilt CV manipulator with omni.kit.manipulator.transform, with various improvements.

  • Allow new CV to snap to surface when Snap To Face is enabled on Toolbar.

  • Added Pencil Tool under Create -> Curve.

  • Fixed double removal of curve menubar menu.

  • Added Open/Close Curve(s) to create or break periodic curve from/to nonperiodic curve.

  • Curve created by Bezier Curve Tool by default has purpose of guide.

  • Repeat widths and normals attributes when adding new CV.

  • Switched to omni.debugdraw for tangents and points visualization.

  • Fixed insert CV.

  • Temporarily disable rtx curves (“omni:rtx:skip” to true) when editing curves to avoid crashes.

  • Supported append new CVs to existing Bezier curves.

  • Supported creating Bezier curve from scratch (Create -> Curves -> Bezier Curve Tool).

  • Added “Corner”, “Bezier”, “Bezier Corner” to context menu.

  • Supported insert CVs to existing Bezier curves.

  • Handle normals and widths attributes while deleting CV.

  • Supported deleting CVs from Bezier curves.

  • Supported multi UsdGeomBasisCurves prim and multi CVs editing.

omni.curve.nodes

  • from 103.3.1 -> 104.2.3

  • Replace usage of now-deprecated onclick_fn with onclick_action

  • Deregister nodes when the extension is unloaded.

  • Rebuild against kit after MPiB updates.

  • Raycast node takes direction input into account when casting from a prim.

  • Add opacity and traveling to OgnTransformsToCurve.

  • Updated menu.

  • Added PushoutCurvePoints node.

  • Initial nodes for curve and raycasting operations.

omni.graph.visualization.nodes

  • from 1.1.1 -> 2.0.0

  • Built against kit-104.

  • VP2 support for screen-space text – but still calling the node “Beta” until it has more robust support.

  • Mark screen-space text node as “Beta” until VP2 is supported.

omni.graph.window.core

  • from 1.23.4 -> 1.40.1

  • Context menu for compound creation

  • Support for compound node styles

  • OM-64076: Update drag and drop and add targets to the Read Prim.

  • literalOnly input ports are no longer shown as ports because they are not connectable

  • Initial support for graphs containing compound nodes

  • OM-61502: Added draw_header_label_left(), draw_header_label_center() and draw_header_label_right()

  • Fixed variable read and write widgets not override drag of variable

  • Revert to old way of disabling undo if omni.kit.undo.disabled() is not available.

  • Nodes once again update their colors and tooltips when their error status changes.

  • Fixing issue where bundle connections show up as fan-in even when they are not

  • Added ability to open graphs when right-clicking on a node in the stage

  • Uses event stream on graph registry instead of the extension manager to refresh node catalog

  • OGSetUsdUINodeGraphNodeAttrCommand and OGRemoveUsdUIPositionAttrCommand have been deprecated in favor of UsdUINodeGraphNodeSetCommand and UsdUIRemovePositionCommand from omni.kit.graph.usd.commands.

  • OM-57134: Fix for renaming tuple variables cause them to be deleted

  • OM-56665: handling fan-in to any attribute type, not represented in UI (moving implementation to base class)

  • OM-56668: Drag and drop multiple prims from stage onto node editor (fix for only dropping “readprimintobundle”)

  • Variable type name is now in Sdf format when its model is initialized

  • Fixed error when reading tooltip for a non-existing variable

  • OM-56668: Drag and drop multiple prims from stage onto node editor

  • VariableNameModel now notifies subscribed widgets only after editing is finished

  • Leak of model on window shutdown

  • Removed the icon tooltip from node catalog items and extended the description tooltip over the icon

  • Added function that can be shared with particle system graph when processing property changes

  • Changed definition of get_item_value_model in catalog_model for new catalog item design

  • Reverted change

  • Added description to WriteVariable node’s tooltip.

omni.kit.asset_converter

  • from 1.2.31 -> 1.2.39

  • Update OmniverseAssetConverter library to 7.0.1303 to fix uv export of FBX when there are multi-subsets.

  • Update OmniverseAssetConverter library to 7.0.1301 to avoid export fallback color for obj import.

  • Update OmniverseAssetConverter library to 7.0.1300 to fix path resolve issue under linux when it’s to reference glTF directly.

  • Add support for BVH file imports.

  • Update OmniverseAssetConverter library to 7.0.1293.

  • Update OmniverseAssetConverter library to 7.0.1289.

  • Fix export crash caused by invalid normal data from usd.

  • Merge skeletons for glTF to have single skeleton.

  • Update OmniverseAssetConverter library to 7.0.1286.

  • Fix issue of material naming conflict during USD export.

  • Export kind for root node during USD export.

  • Fix crash of exporting USD into OBJ caused by mal-formed USD data.

  • Update OmniverseAssetConverter library to 7.0.1270.

  • Fix hang of USD plugin to reference glTF from server.

  • Improve glTF light import/export.

omni.kit.browser.asset

  • from 1.1.7 -> 1.1.18

  • OM-66917: Make sure valid name used to create stage prim

  • Enable summary

  • Caching all asset folders during warmup

  • OM-63647: New context menu to add/replace asset to stage and copy asset url

  • Select a category after startup

  • OM-64030: Make asset browser UX category tree same as sample browser

  • Add local cache file path to use local cache feature to avoid folder traverse when close and open the app again

  • Remove omni.kit.window.viewport

  • Drop to VP2

omni.kit.browser.asset_provider.local

  • from 1.0.7 -> 1.0.8

  • Setting to refresh data in My Assets folder

  • Able to refresh folders if changed outside

omni.kit.browser.asset_store

  • from 1.0.0 -> 1.0.8

  • OM-66717: When downloading assets, disable file name input since it is not required.

  • OM-66912: When downloading asset, ask if add folder into My Assets

  • OM-62418: always treat assets from “My Assets” as local assets and could be dragged into Viewport

  • OM-64030: Same UX category tree as sample browser

  • Show ‘formatted_price’ instead of price if it defined in asset model

  • OM-60879: Show two decimal for price

  • Add download folder to My Assets after asset downloaded

omni.kit.browser.core

  • from 2.0.12 -> 2.1.5

  • Add more arguments to config browser widget

  • Line align for categories with level > 2

  • Make browser widget category splitter narrower

  • Add branching styles to styles.py

  • Fix error when build thumbnail returns ui.ImageWithProvider

  • An image placeholder to show before the actual thumbnail is downloaded

  • Drop to VP2

omni.kit.browser.folder.core

  • from 1.1.13 -> 1.5.4

  • OM-66710: Fix categories does not show if timeout during traversing folders

  • OM-65821: Some folders in Sample browser were not saved/populated as expected

  • Remove trailing slash in remove_root_folder

  • Fix issue on summary enabled in treeview mode

  • Argument to caching all folders during warmup

  • Enable local cache in category treeview mode

  • Add argument to folder browser model to do not traverse folder after created

  • Select/Deselect navigation button when clicked

  • Sort Category items in treeview

  • Add splitter_extra_width arg to browser widget

  • Retry list async for kinds of exceptions

  • Use Path.stem for more robust extensions rather than last 4 chars

  • Add parent and is_last_child to FolderCategoryItem

  • Modify category delegate to handle 3 levels of tree hierarchy

  • Add tree mode category delegate

  • Add local cache to avoid folder traverse when close and open the app again

  • Make navigation button and add/remove collection work for category tree mode

  • Add tree mode to show both collections and categories in category tree view

omni.kit.browser.material

  • from 1.2.8 -> 1.2.20

  • OM-60914: use Use omni.kit.material.library.get_subidentifier_from_mdl to parse mdl file (slower but can parse mdl file with invalid chars)

  • Removed unused viewport_legacy import as it may be causing problems with ETM

  • OM-56323: support model selection when drag and drop from material browser to VP2

  • Use default strength when binding materials instead of “stronger than” always

  • OM-56327: “/World/Looks” need be “Scope”

  • Remove omni.kit.window.viewport

  • Drop to VP2

omni.kit.browser.sample

  • from 1.0.5 -> 1.1.8

  • Changed Visual Scripting samples to point to 104 directory

  • Updated to new 104 folder path for Particles

  • Use new cache file name for cache in tree mode

  • Add Tree View support

  • Add local cache file path to use local cache feature to avoid folder traverse when close and open the app again

  • Add Visual Scripting sample path temporarily

  • Add Warp and Flow sample paths temporarily

  • Add functionality for other extensions to register folders

omni.kit.capture.viewport

  • from 1.1.10 -> 1.1.18

  • Updated the progress report when there are existing frames to skip

  • Will not force multithread rendering to be disabled as the original bug has been fixed.

  • When capturing with render product, it no longer sets OmniGraph stage pipeline setting useLegacySimulationPipeline to True during capture.

  • Added support to capture the viewport when it’s not visible. Please be noted that this feature works for viewport next only and doesn’t work for legacy viewport.

  • Added support to exr compression formats

  • Set more rendering flags during capture

  • Make capture options’s fps the MP4 encoding fps only now, that said, the stage’s timeline’s time codes per second will not be touched during movie capture. This decouple of fps definition has been wanted for a while and now it gets higher priority as it can also avoid a OmniGraph issue, which will make the capture take long time to start and even crash.

  • Get active camera from omni.kit.viewport.utility

omni.kit.environment.core

  • from 1.0.28 -> 1.1.8

  • OM-65268: update prim payload when importing scene template

  • Remove hang detector disabling

  • OM-64709: correct misspell (Helenzki=>Helsinki)

  • OM-58989: Convert more asset path when import scene

  • OM-62555 & OM-57577: Live mode, create ENV in .live file. Otherwise, in root layer.

  • OM-44838: Add action to import sky

  • Fix error when apply some env templates such as “display_pedestal”

  • OM-60964: Update texture files for shader when apply template

  • OM-60964: Update texture file for RectLight when apply template

  • If sky file defined in persistent not found, change to the one in default setting

  • OM-53986: refresh sky data when stage opened to make sure env params are correctly configured

  • Remove omni.kit.window.viewport

omni.kit.graph.delegate.default

  • from 1.0.15 -> 1.0.18

  • The connection disappear since the second connection is overriding the previous one

omni.kit.graph.delegate.modern

  • from 1.6.0 -> 1.6.4

  • OM-64722: branch alignment for input group port which has both input and output subport

  • OM-64722: Output group branch delegate is not aligned

  • Tooltips for expansion widget in the node header

omni.kit.graph.editor.core

  • from 1.3.3 -> 1.4.7

  • 1.4.4’s change blocks the catalog’s treeview selection callback

  • allow the graph catalog search field to interpret the widget style, so overridden class can change the search field style

  • the ability to click anywhere in the session widget to collapse/expand the catalog treeview

  • Changed the catalog list item description to use elided text

  • Re-parented the catalog list item title tooltip to the whole list item

omni.kit.graph.editor.example

  • from 1.0.13 -> 1.0.18

  • description check before calling

  • zoom_min and zoom_max for the GraphView so that the zoom is not infinite

omni.kit.graph.usd.commands

  • from 1.1.0 -> 1.2.0

  • Support for expansion state to UsdUINodeGraphNodeSetCommand.

omni.kit.graph.widget.variables

  • from 2.0.2 -> 2.0.4

  • Fixed variable Read and Write widget dragging

  • Renaming variables now refresh default value widget

omni.kit.mesh.raycast

  • from 103.7.4 -> 104.2.16

  • Fixed crash if set invisible and remove it at same time.

  • Fixed a threads issue occurs in very big stage

  • Changed adding new bounds to multi-threaded.

  • Fixed PhysX errors from omni.meshraycast.plugin

  • Fixed unable to raycast on deformable visualization meshes.

  • Fixed remove non-imageable prim cause BVH rebuild.

  • Fixed crash on shutdown due to calling into ITasking in plugin implementation’s destructor.

  • Excluded UsdGeomCamera from BVH

  • change getVertexLocalPosition to getVertexLocalPositions

  • Support toggle visible of prim.

  • Excluded UsdGeomPoints from BVH and correctly handle unsupported types.

  • Fixed BVH rebuilding when resync path is the absolute root “/”.

  • Added functions to tessellate and sample on UsdGeomBasisCurves. See tessellateCurve and sampleCurveSegmentAtT

  • Added RaycastContext so each query can optionally operates on different configurations.

  • Fixed mismatch overlap vertices and faces returned in overlap_vertices`` call.

  • Fixed vertex indices returned by overlap_vertices`` if there’s unused point in mesh’s Points attribute.

  • Fixed assert issue in debug mode

  • Fixed add and remove prim in same frame

  • OverlapVerticesResult now contains overlapped face indices as well.

  • Added IMeshRaycast::getVertexLocalPosition as a faster way to get vertex location..

  • Switched to UsdContext::computePrimWorldBoundingBox and UsdContext::computePrimWorldTransform.

  • Fixed potential invalid access to end iterator.

  • Added writeTarget to extension.toml file

  • Maintain BVH across entire USD stage life span.

  • Fixed out of sync BVH and collision mesh pose.

  • Added multi-thread support for collecting result in overlapVertices.

  • Hash and reuse identical PxTriangleMesh even if they’re from different prim.

  • Fix distance error for closestRaycastBound.

  • Add interface for get the raycast hit bound.

  • Add flooding support for shape prims.

  • Add raycast support for shape prims.

  • Add support for UsdGeomMesh with physx deformables related properties.

  • Added overlapVertices, freeOverlapVerticesResult and python binding overlap_vertices.

  • BVH and cached triangle mesh will refit/rebuild when USD data changes.

  • Prepare for 101 release.

  • Added getFloodPoints

  • Fixed Linux linking.

  • Support Tetrahedron Mesh.

  • Added spherecast.

  • Fix issue when raycast on mesh combination of the scale and rotate

  • Remove dependency on carb.setting extension

  • Add API for raycast on single mesh(without set BVH)

  • support mesh scale

  • clear bound cache when createBVH

  • Initial mesh raycast

omni.kit.profiler.window

  • from 1.4.4 -> 2.0.3

  • Added a menu for perfsdk report generator and realtime perfsdk metrics.

  • Fix for NVDF HTTP request for upload too large (do in batches)

  • Add new extension dependencies to run without legacy Viewport.

  • Added ChromeTrace class for extracting info from profiler json output and turning into metrics

  • Added NVDataflow export of profiler metrics

omni.kit.property.environment

  • from 1.0.13 -> 1.0.16

  • Remove omni.kit.window.viewport

omni.kit.stage_column.variant

  • from 1.0.3 -> 1.0.7

  • Fix widget scrolling issues for both kit & create

  • Fix widget scrolling issues

  • Crash when removing and restoring prim

omni.kit.thumbnails.mdl

  • from 1.0.12 -> 1.0.19

  • OM-47795: Select none before generating thumbnail to avoid bounding box

  • Add missed import

  • VP2 support

omni.kit.tool.asset_exporter

  • from 1.1.7 -> 1.1.8

  • OM-54271: Support export STL files.

omni.kit.tool.asset_importer

  • from 2.3.20 -> 2.3.24

  • Skips re-import to avoid crash caused by multi-threads access if output layer is opened already in stage.

  • Add support for BVH files.

  • Update OmniverseAssetConverter to 7.0.1293.

  • Support for STL files.

omni.kit.usd_docs

  • from 1.0.5 -> 1.1.0

  • Switch to use documentation builder

omni.kit.widget.collection

  • from 0.1.8 -> 0.1.10

  • Extracted the USD Commands to omni.kit.core.collection

  • Extracted the Collection Helper to omni.kit.core.collection

  • added return values to the CreateCollection and RenameCollection commands

  • added name validation in the RenameCollection command

omni.kit.widget.material_preview

  • from 1.0.5 -> 1.0.7

  • Handle runtime exception from hydra_texture.get_drawable_ldr_resource()

omni.kit.widget.searchfield

  • from 1.0.6 -> 1.0.7

  • Fix issue if do not show tokens

omni.kit.widget.timeline

  • from 103.1.26 -> 104.0.2

  • Fixed a bug in a function where a None view could end up being passed. Order of operations problem

  • Uncommented out a line which is a speculative fix for Curve Editor

  • Added function ‘set_scrubber_disable_line’ to allow users to disable the scrubber line. Calling this function with the parameter “True” will cause the line to no longer move the scrubber.

  • Many changes made to scrolling features, and API has changed “scroll_x” to “set_x” instead to homogenize the names.

  • Added some support to scrolling the timeline out of bounds, but more to be added.

  • Examples updated for Curve Editor

  • Found and fixed a bug which was preventing the calling of an on_drop function in Sequencer

  • Fixed some smoothing issues with the scrubber, improving the feel when draggin the scrubber around

  • In Kit 103, you can now click on the timeline and then immediately drag the scrubber

  • Put timeline in new home.

  • Fixed several issues with range values and clip placement.

  • Renamed to omni.kit.widget.window

  • Various functions, modules, and configs fixed to align to new naming convention

  • Fixed a linux pathing issue (/ vs )

  • Further fixes on timeline position accuracy

  • Fixed incorrect style entry

  • New functionality in style

  • Added functionality for floating-point translations

  • Fixed a bug that was causing timeline elements to be “off” their correct locations. Clients may need to review any code that calls timeline_view.transform_xxxx

  • Fixed a missing style element for the background of the timeline

  • Fixed bug which allowed you to move past left end of timeline

  • Removed dependency on omni.usd - this was just a vestigial tail

  • Added new styles as defaults

  • Changed the scrubber to resizable icon that changes as the number of frames in it changes

  • Fixed issues in the range for large numbers

  • Initial release of Timeline into the registry

omni.kit.widget.zoombar

  • from 1.0.3 -> 1.0.4

  • Made the ZStack act like a Window so it sits in front of thumbnails

omni.kit.widgets.custom

  • from 0.6.4 -> 1.0.4

  • Fixed combobox drop list width

  • Add pause/resume for Timer

omni.kit.window.environment

  • from 1.1.5 -> 1.2.1

  • OM-44838: Add action to drop to stage window

  • calling FolderBrowserModel’s start_traverse instead of the FileSystemFolder’s one’

  • Add local cache file path to use local cache feature to avoid folder traverse when close and open the app again

  • Drop to VP2

omni.kit.window.material

  • from 1.0.18 -> 1.0.21

  • OM-53298: Add library_options_menu/stage_options_menu to access options menu in material window

omni.kit.window.material_graph

  • from 1.5.0 -> 1.6.9

  • Update caching mechanism in UsdShadeGraphModel class

  • Refactor path gathering code so that the search paths are regenerated upon reload.

  • Fix CompoundRegistrySubscription del() method

  • Don’t process empty paths.

  • use Neuray to gather search paths

  • use rtx_scope database

  • the material-graph, now considers user paths to be the paths stored in “/materialConfig/searchPaths/local” + whatever get_mdl_user_paths() returns

  • remove user paths from built-in paths

  • modules no longer need to be in mdl directory

  • Wait until graph is visible before populating the MDLRegistry

  • Use Neuray to get MDL user paths

  • If the userAllowList has been set in the config, clear the default userBlockList

  • Gather mdl module allow/block lists from carb.settings

  • Don’t display nodes that have been explicitly hidden in the material-graph

  • Hide material mdl ports for Material-X based materials.

  • Changed warning to info when hotkeys can’t be loaded.

  • Use mdl simplename if as subidentifier if mdl function is not overloaded.

  • Cache UsdShadeGraphModel.type property lookups.

  • Added Actions for common functions, and hotkeys to many of those Actions

  • Parse MDL directly vs using JSON

  • The name of graph entry button from Import to Open

  • Can’t get type for object of unknown type when query description

  • OM-052380: Fix broken compounds import function.

  • Ensure xformOpOrder property is removed when importing compounds

  • OM-052380: Fix broken compounds import function.

  • Add custom metadate to file_texture brightness and contrast parameters.

  • OM-38232: Ensure material prim updates if any of the child prim info* properties change.

  • OM-38653: When connecting a parameter to a Nodegraph input port, copy that parameters metadata to the input port as well.

  • OM-052380: Fix broken Nodegraph and Material export function.

omni.kit.window.movie_capture

  • from 1.2.14 -> 2.1.4

  • Fixed the hot reload failure issue in Create release build

  • Fixed the collect jobs have no priority submitted issue

  • Removed archive jobs submission

  • Fix the S3 options visibility not updated as expected issue

  • Fix the render product capture related warning prompted even render product capture is not enabled any more

  • Expose exr compression method setting and move all file option settings into the File Options window

  • Improve the way of redistributing frames into batches

  • Update default subframes per frame of Path Trace to 64, and Iray to 32

  • Let the subframes per frame input remember PT and Iray’s input values respectively so that it shows different values for PT and Iray

  • Fixed metadata storage of Movie Capture settings within the USD Stage’s custom metadata.

  • Fix for archival job submissions

  • Updated URL to the Omniverse Farm Queue online documentation.

  • Added support for advanced rendering features, based on support from the selected Farm Queue.

  • Added priority field for Farm tasks.

  • Added option to add extensions that need to be enabled for Farm jobs.

  • Added option to add registries that need to be enabled for Farm jobs.

  • Fix frame range calculations.

  • Update to run on legacy or new Viewport

  • Register callback function to ui.Workspace to let the Workspace to show/hide main window in this extension

omni.kit.window.quicksearch

  • from 2.3.1 -> 2.3.2

  • Use search field

  • conform the style with the graph core’s treeview style

  • fix the issue that selection was not cleared when the window is brought up again

  • add style to quick search registry keyword so that users can have customized tree view look

  • Exclusion API, the way to hide all the models except the specific one

  • Add feature flag

  • Added Search Clear Button

  • Added priority to the registry, so it’s possible to control the order of the items

  • Up/down keys

  • Fix Keyboard Inputs

  • Refactor on the Delegate to make it easier to write extensions

  • The initial implementation. It shows the window when the use presses TAB.

omni.kit.window.sequencer

  • from 103.1.9 -> 103.4.0

  • OM-49937: Sequencer timeline widget updated style and behavior.

  • OM-61602: Sequencer drop down not showing all sequences.

  • OM-50249: Added Mouse navigation in Sequencer. (Middle click+drag to pan. Ctrl+Mouse wheel to zoom.)

  • OM-29328: Add Drag and Drop support to rearrange Tracks.

  • OM-48917: Add support for audio trimming in Sequencer.

  • OM-53898: Sequencer now draws invisible clips and tracks gray to indicate they are not active.

  • OM-50386: Clip handles missing after resizing sequencer range

  • OM-46822: SkelAnim Breaks when added to sequencer.

  • OM-49322: Fixed drag and drop onto clip widgets.

  • Fixed missing context menu.

  • OM-48690: Added check that sequence schema plugin is loaded.

  • OM-46834: Sequencer Tracks and clips become disconnected when scrolling in the track pane.

  • OM-44910: Sequencer tracks should keep their size on redraw

  • OM-47482: Cannot scroll Sequencer window enough to create space for a new clip.

  • OM-47487: Fix for clips in sequencer not updating when USD changes.

  • OM-47481: Fix for audio drop on existing clips. This also improves async audio handling in general.

  • OM-42141: Fix drag handles not working after drag/drop.

  • Fix Sequencer redraw frame range issue.

  • OM-45712: Sequencer icon incorrect, wrong position in Create menu.

  • OM-44909: Selection issue with split clip tool.

  • OM-45874: Track re-order doesn’t update Sequence View.

  • OM-45353: Trimming a clip causes an odd issue on the clip

  • OM-45221: Visibility animation causes flickering in Sequencer UI.

  • OM-45217: Sequencer - After using hold - Loop no longer works.

  • OM-45485: fix empty audio path error

  • OM-42141: hover-issue

  • OM-45584: small-clip-issue

  • OM-45131: Errors with sequencer and new scene.

  • OM-45087: Right-click in empty sequencer errors.

  • OM-44883: Fixed error with clip background rebuild.

  • OM-44745: Fixed dropping prims onto sequencer does not set clip target.

  • OM-41150: Fixed Sequencer menu path.

  • Added split clip edit button.

  • Current time field respects time display option.

  • Added play offset support for sequencer clip widgets and view.

  • Drag+Drop of audio clips makes new sound prims as children of clips.

  • Cleanup of context menus and actions.

  • Hide and show sequencer now keeps dock/undock state.

  • Clip views update on Asset and Anim target changes.

  • Double click range slider to zoom/un-zoom

  • Support for stages with multiple sequences.

  • Scrubber draws under Sequencer Timeline clips-frame.

  • Implemented Trim and Looping handle behaviors.

  • Performance issue with timeline events.

  • Fixed clip play length display in time ranges that start before zero.

  • Range slider widget updates with stage changes.

  • Fix movie maker.

  • Fix clip widget clipping outside of timeline

  • Setting custom timecodes per second updates combo box correctly.

  • Hold and Loop labels added

  • New Frame Slider widget

  • Clips now accurately reflect playStart and playEnd values.

  • Audio clip style change.

  • More changes update ui instead of redraw for a smoother experience.

  • Waveforms are cropped.

  • Sequencer has a time display option to choose how to display time values in Sequencer.

  • Fixed snapping to include current time, and zero time.

  • Fix unreliable display of audio waveform and shutdown.

  • Prevent snapping to self when dragging a clip

  • Fix dependency issue with omni.kit.widget.timeline.

  • Improved snapping to include clip loop and play ends.

  • Improved sequencer style

  • Sequencer Docking

  • Split property widget into their own extension.

  • Major upgrade to Sequencer window: New UX, resizable tracks, clip scaling, waveforms, and more.

  • OM-8061:Experimental sequencer support for displaying waveforms for audio clips

  • OM-38948: Experimental sequencer selection watch errors

  • Experimental sequencer causes errors

  • OM-38865: Toggle sequencer camera button errors

  • OM-38723: Drag and drop skel meshes with animationData should create clips with animationData

  • Add Play Rate and Looping to Sequencer clip property panel.

  • OM-38049: Sequencer takes two tries to open window.

  • OM-38016: Use animation data for animation when a clip is created if the target prim has one.

  • OM-38013: Deleting clips doesn’t update sequencer.

  • Added sequencer preferences page.

  • Fast updates on window resize

  • Fix Audio Stream feature.

  • Fix window size on extension load.

  • Optimize USD Notice event management.

omni.kit.xr.common

  • from 103.1.7 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

omni.kit.xr.core

  • from 103.1.8 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

omni.kit.xr.profile.tabletar

  • from 103.1.5 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

omni.kit.xr.system.cloudxr21

  • from 103.1.7 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

omni.kit.xr.system.playback

  • from 103.1.6 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

omni.kit.xr.system.simulatedxr

  • from 103.1.6 -> 104.0.9

  • Fix dynamic loading extension

  • Fix memory leaks

  • Fix toggleable flag

omni.paint.brush.modify

  • from 103.1.6 -> 104.3.2

  • updated to viewport 2.0

  • update to new paint system

  • Release models created in build_vec_drag_setting.

  • Added writeTarget to extension.toml file

  • update mode UI.

omni.paint.brush.scatter

  • from 103.1.13 -> 104.2.9

  • Updated asset paths.

  • Fixed an issue that caused the property window to flicker after each stroke.

  • Use Actions.

  • add Xform on paint root prim

  • OM-56195: Workaround when no ids in pointinstancer

  • Update for new physx package. ZeroG is not its own extension.

  • updated to viewport 2.0

  • Changed some warning to info message

  • Support add asset from Asset Store

  • Set default lock_selection to False.

  • updated standard parameter functions

  • set parent of painted assets as Xform

  • update to new paint system

  • Added writeTarget to extension.toml file

  • Fixed penetration issue when flooding with physics on.

  • Support add asset from Asset Library

  • Moved content to S3 server.

  • Sampling for stage local prototype prims.

  • Normalized stamping spacing to brush size.

  • Prepare for 101 release.

  • improved flood paint

  • Assets field resizeable

  • Assets and Brush Parameters section now supports undo/redo.

  • B + mouse wheel scroll to change brush size now support undo/redo.

  • Standardized brush settings styling.

  • Undo per stroke, not per stamp

  • Improve flooding erase

  • Wrong paint mode buttons status.

  • Save relative asset file path in brush define file.

  • Use event stream to control UI state.

  • support drag and drop prim on asset UI

  • un-registers brush when extensions unload

  • update for omni.paint.system@0.11.0

  • expand brush parameters panel by default

  • set selected on last stroke painted assets

  • turn painted asset up-axis by current stage up-axis

  • change message box type to omni.kit.notification_manager

  • add warning dialog when the painting stamp has large number of assets

  • update to omni.paint.system@0.9.0

  • Remove omni.kit.editor

  • In kit, using “/PaintTool” as root prim path instead of “/View/Tools/Paint”

  • Asset picker dialog mode

  • Add default brush files

  • Add pick asset for brush using viewport selection

  • Make scale distribution image correct when startup and window width Changed

  • Update to new file picker

  • improve erase performance

  • Update to new file picker

  • Update controls to match omni.kit.widgets.custom

  • Update controls to match omni.kit.widgets.custom

  • UI layout in kit v100.1.10219

  • Change structure (remote source/target folder) to enable license packaging

  • Add hit mesh when set_data

  • Change asset indexes to object ids in get_data/set_data

  • Asset is part of scatter brush but not paint tool anymore

  • Return True in begin_stroke if brush is valid, otherwise False

  • Update UI style in kit

  • Refactor interface

  • Interface to refresh brush parameters UI from paint tool window

  • Erase

  • Redo/Undo

  • Initial scatter brush implementation

omni.paint.brush.scripting

  • from 103.6.6 -> 104.7.0

  • Removed primvars brush

  • set FroceGPU mode when scripting brush active

  • fixed version update

  • updated to viewport 2.0

  • Fixed a bug in the normals computation

  • Removed some logging.

  • Renamed primvar brush to primvar

  • primvar brush’s opacity only works if color primvar is vec4 or opacity primvar is specified. Otherwise it’s ignored.

  • Made primvar brush’s strength step smaller.

  • Added stroke undo to nudge, expand/contract, offset, and twirl brushes

  • Set default lock_selection to False.

  • Added BRUSH_STRENGTH, BRUSH_SETTINGS, get_brush_falloff_value AND HIT_FACE_INDICES to LOCALS

  • Added standard attributes from BrushBase to Scripting Brush.

  • Included Primvar Paint Brush.

  • Fixed declared variable not reading value from UI.

  • update to new paint system

  • Improved error logging for incorrect annotation syntax.

  • Removed explicit pip dependency requirement on watchdog. It’s now pre-bundled with Kit SDK.

  • Fixed empty LOCALS.HIT_VERT_POSITIONS.

  • When editing code snippet with VSCode, a generated code block will be added to the beginning of the file in aid of editor’s auto-completion and syntax highlighting for LOCALS variables.

  • Updated Nudge, Expand/Contract, Offset, and Twirl brushes to use new annotated variables

  • Added tooltips to variables

  • Added Tooltip annotation to script UI variable.

  • Fixed spaces being removed from DisplayName.

  • Fixed Gf.Vec3d being passed into script as tuple.

  • Added ability to expose global variable on the UI with annotated information.

  • Added writeTarget to extension.toml file

  • Added the feature to edit the script in external editor in sync with scripting brush.

  • Made fetch points on-demand instead of pre-fetch on brush start. It can be very slow to pre-fetch on large stage.

  • Added prototype scripting brushes to the paint library.

  • Nudge, Expand/Contract, Offset, and Twirl brushes added - allows for quick manipulation of existing prims.

  • Fixed error when script collapsed state doesn’t exist.

  • Fixed error when initiating mesh with empty points.

  • Fixed Apply/Discard button on collapsible frame header losing state.

  • Script section now remembers the collapsing state for each code block.

  • Added fetch_index to scripting brush setting. Turning it off will stop returning LOCALS.HIT_VERT_INDICES on On Stamp function.

  • Added fetch_point to scripting brush setting. Turning it off will stop returning LOCALS.HIT_VERT_POSITIONS on On Stamp function.

  • fetch_normal and fetch_point only works if fetch_index is turned on.

  • Added fetch_normal to scripting brush setting. Turning it off will stop returning LOCALS.HIT_VERT_NORMALS on On Stamp function.

  • Average vertex normals generation is deferred to on_stamp to avoid long preloading time. fetch_normal must be enabled to return normals.

  • Brush now uses MeshRaycast’s mesh paths to avoid redundant path building.

  • Fixed silent error when generating normal on empty mesh (no points).

  • LOCALS.HIT_VERT_INDICES, LOCALS.HIT_VERT_POSITIONS, LOCALS.HIT_VERT_NORMALS, LOCALS.HIT_MESH_TRANSFORMS now returns list instead of dict.

  • Removed dependency on scipy.

  • If no mesh is selected when enabling paint mode, brush will work on all meshes in the stage.

  • Disabled Erase and Flood button.

  • Added LOCALS.HIT_MESH_PATHS and LOCALS.BRUSH_DIRECTION to on_stamp script. See ReadMe for details.

  • Added Discard and Apply button to script editing field.

omni.paint.brush.select

  • from 103.1.2 -> 104.3.2

  • Support changing toolbar tooltip when hotkey changes.

  • updated to viewport 2.0

  • update to new paint system

  • Added writeTarget to extension.toml file

  • Make default stamp_spacing smaller for easier selection.

  • Integrated Paint Select into toolbar.

  • Switched to SettingsBuilder to build setting page.

omni.paint.system.bundle

  • from 103.3.14 -> 104.8.19

  • Disable deformables brush from bundle since we are moving it to blocky and will probably remove it from paint-tool-ext at some point.

  • Updated scatter brush. Moved content to S3 server.

  • include pointinstancer modify brush.

  • Updated extensions.

  • Changed splash screen.

  • Renamed bundle extension to just “Paint”.

  • Specified explicit version for patin tool and brushes.

omni.paint.system.core

  • from 103.2.7 -> 104.5.8

  • Fixed paint on visualization meshes of deformable.

  • Fixed generating paint ray through timesampled camera.

  • Fixed a bug when painting on a newly created attribute

  • Added a new PainterEventType for rebuilding the parameter UI

  • Warp Paint updates.

  • Fixed an issue when using Warp Paint with indexed primvars.

  • Warp Paint updates.

  • Fixed paint with user camera in viewport

  • Added Warp Paint system

  • update to viewport 2.0

  • Changed some warning to info message

  • Handle possibility that legacy Viewport is loaded, but no Window exists.

  • Set default lock_selection to False.

  • Reported collisions_faces and collision_vert_positions in overlap_vertices mode.

  • Added BrushSettingsFullVectorModel

  • Fixed brush live-reloading not refreshing current brush.

  • Splited form omni.paint.system

omni.paint.system.ui

  • from 103.4.6 -> 104.3.12

  • Bugfix for undo/redo issue.

  • Remove the undesired omni.kit.hotkeys.core dependency.

  • Use actions and hotkeys.

  • Added a brush setting to always require a selection

  • Updated the brush configs to support picker buttons for string parameters

  • Updated the brush configs to allow to specify color picker ui

  • Fixed create new brush issue when no default brush type loaded

  • Migrated to Tools menu

  • update to viewport 2.0

  • Fixed layout issue in Create

  • Set default lock_selection to False.

  • Cleanups for button on collapsible header.

  • Made helper function to get/set brush setting into a path with separators.

  • Added ability to override standard parameter default value.

  • updated standard parameter functions

  • changed menu to ‘Paint’

  • Fixed missing @classmethod decorator for build_int_drag_setting2.

  • Split from paint tool implementation

omni.ramp

  • from 103.0.10 -> 104.0.11

  • Bugfix.

  • Rebuild against latest kit-sdk

  • Remove use of OpenMP since libraries are not bundled with extension.

  • get_float_array_as_rgba8_2 to generate bitmap without USD

  • Initial placement of ramp key

omni.scene.visualization.core

  • from 103.4.1 -> 104.1.2

  • Support visualizing types that derive from UsdGeomMesh / UsdBasisCurves.

  • Avoid needlessly adding sceneviz attributes to instance prims.

  • Vertex color option now looks for displayColor/Opacity primvars.

  • Respect prim visibility (no sceneviz drawing when a prim is invisible).

  • Update sceneviz drawing when a prim’s sceneviz attributes are modified directly.

  • Deregister nodes when the extension is unloaded.

  • Fix compilation errors related to FC type safety.

  • Expose interface symbols at top level of python module

  • Moved UI to separate extension and renamed extension

  • Visualize point instances using bbox attributes.

  • Visualizing prims on extension startup.

  • Supported visualization of linear UsdBasisCurve.

  • OgnPointInstancerVisualizer: add prototypes input and visualize their bounding boxes

  • OmniGraph node support for visualizing BundlePrims of point instancers and curves

omni.services.browser.asset

  • from 1.2.7 -> 1.3.0

  • Add ‘formatted_price” to show custom price string instead of ‘price’ field if not empty.

omni.services.client

  • from 0.3.0 -> 0.4.0

  • Fix passing query parameters for GET requests.

omni.services.pip_archive

  • from 0.4.0 -> 0.4.1

  • Do not import watchdog to not produce warnings. No need to import anything anymore, extension system can just add it to sys.path.

omni.services.streamclient.websocket

  • from 1.4.4 -> 1.4.5

  • Added healthcheck implementation to provide information about the status of the streaming extension.

omni.services.streaming.manager

  • from 0.2.3 -> 0.3.5

  • Changed format of response payload when returning stream health information.

  • Removed the toggleable property from the extension, as Kit SDK changed the behavior of the setting leading to a requirement to force-reload the entire application for changes to take effect.

  • Added ability to cache responses from the /streaming/healthcheck API, in order to allow protection against potentially high volume of requests.

  • Account for __http_status__ potentially still being named status in certain application configurations, due to a breaking change in HTTP/HTTPS transport.

  • Added a /streaming/healthcheck API to query for the health of the streaming extension currently enabled.

omni.services.transport.client.base

  • from 1.2.0 -> 1.2.1

  • Removed the toggleable setting from extension settings to allow other extensions depending on it can be reloadable

omni.services.transport.client.http_async

  • from 1.3.0 -> 1.3.2

  • Only add http_status field when using raise_for_exception=False. This will assume that the user will manually unpack the return values.

  • Fixes overwritten response status.

omni.services.transport.server.base

  • from 1.0.2 -> 1.0.4

  • Removed the toggleable setting from extension settings to allow other extensions depending on it can be reloadable

  • Reuse socket port

omni.services.tutorials.one

  • from 1.0.1 -> 1.0.2

  • Updated documentation to assist Users in finding the HTTP port number used by the Omniverse application.

omni.services.tutorials.two

  • from 1.0.1 -> 1.0.2

  • Updated documentation to assist Users in finding the HTTP port number used by the Omniverse application.

omni.ui.scene.docs

  • from 1.3.2 -> 1.3.3

  • TexturedMesh section

omni.warp

  • from 0.2.2 -> 0.5.1

  • Add smoothed particle hydrodynamics (SPH) example, see example_sph.py

  • Add support for accessing array.shape inside kernels, e.g.: width = arr.shape[0]

  • Add dependency tracking to hot-reload modules if dependencies were modified

  • Add lazy acquisition of CUDA kernel contexts (save ~300Mb of GPU memory in MGPU environments)

  • Add BVH object, see wp.Bvh and bvh_query_ray(), bvh_query_aabb() functions

  • Add component index operations for spatial_vector, spatial_matrix types

  • Add wp.lerp() and wp.smoothstep() builtins

  • Add wp.optim module with implementation of the Adam optimizer for float and vector types

  • Add support for transient Python modules (fix for Houdini integration)

  • Add wp.length_sq(), wp.trace() for vector / matrix types respectively

  • Add missing adjoints for wp.quat_rpy(), wp.determinant()

  • Add wp.atomic_min(), wp.atomic_max() operators

  • Add vectorized version of warp.sim.model.add_cloth_mesh()

  • Add NVDB volume allocation API, see wp.Volume.allocate(), and wp.Volume.allocate_by_tiles()

  • Add NVDB volume write methods, see wp.volume_store_i(), wp.volume_store_f(), wp.volume_store_v()

  • Add MGPU documentation

  • Add example showing how to compute Jacobian of multiple environments in parallel, see example_jacobian_ik.py

  • Add wp.Tape.zero() support for wp.struct types

  • Make SampleBrowser an optional dependency for Kit extension

  • Make wp.Mesh object accept both 1d and 2d arrays of face vertex indices

  • Fix for reloading of class member kernel / function definitions using importlib.reload()

  • Fix for hashing of wp.constants() not invalidating kernels

  • Fix for reload when multiple .ptx versions are present

  • Update all samples to use GPU interop path by default

  • Fix for arrays > 2GB in length

  • Add support for per-vertex USD mesh colors with warp.render class

  • Register Warp samples to the sample browser in Kit

  • Add NDEBUG flag to release mode kernel builds

  • Fix for particle solver node when using a large number of particles

  • Fix for broken cameras in Warp sample scenes

  • Add geometry sampling methods, see wp.sample_unit_cube(), wp.sample_unit_disk(), etc

  • Add wp.lower_bound() for searching sorted arrays

  • Add an option for disabling code-gen of backward pass to improve compilation times, see wp.set_module_options({"enable_backward": False}), True by default

  • Fix for using Warp from Script Editor or when module does not have a __file__ attribute

  • Fix for hot reload of modules containing wp.func() definitions

  • Fix for debug flags not being set correctly on CUDA when wp.config.mode == "debug", this enables bounds checking on CUDA kernels in debug mode

  • Fix for code gen of functions that do not return a value

  • Fix for FP16 conversions on GPUs without hardware support

  • Fix for runtime = None errors when reloading the Warp module

  • Fix for PTX architecture version when running with older drivers, see wp.config.ptx_target_arch

  • Fix for USD imports from __init__.py, defer them to individual functions that need them

  • Fix for robustness issues with sign determination for wp.mesh_query_point()

  • Fix for wp.HashGrid memory leak when creating/destroying grids

  • Add CUDA version checks for toolkit and driver

  • Add support for cross-module @wp.struct references

  • Support running even if CUDA initialization failed, use wp.is_cuda_available() to check availability

  • Statically linking with the CUDA runtime library to avoid deployment issues

  • Removed wp.runtime reference from the top-level module, as it should be considered private

  • Remove Torch import from __init__.py, defer import to wp.from_torch(), wp.to_torch()

  • Fix for marching cubes reallocation after initialization

  • Add support for per-triangle elasticity coefficients in simulation, see wp.sim.ModelBuilder.add_cloth_mesh()

  • Add support for specifying default device, see wp.set_device(), wp.get_device(), wp.ScopedDevice

  • Add support for multiple GPUs (e.g., "cuda:0", "cuda:1"), see wp.get_cuda_devices(), wp.get_cuda_device_count(), wp.get_cuda_device()

  • Add support for explicitly targeting the current CUDA context using device alias "cuda"

  • Add support for using arbitrary external CUDA contexts, see wp.map_cuda_device(), wp.unmap_cuda_device()

  • Add PyTorch device aliasing functions, see wp.device_from_torch(), wp.device_to_torch()

  • A CUDA device is used by default, if available (aligned with wp.get_preferred_device())

  • wp.ScopedCudaGuard is deprecated, use wp.ScopedDevice instead

  • wp.synchronize() now synchronizes all devices; for finer-grained control, use wp.synchronize_device()

  • Device alias "cuda" now refers to the current CUDA context, rather than a specific device like "cuda:0" or "cuda:1"

  • Add support for FP16 storage type, see wp.float16

  • Add support for per-dimension byte strides, see wp.array.strides

  • Add support for passing Python classes as kernel arguments, see @wp.struct decorator

  • Add additional bounds checks for builtin matrix types

  • Add additional floating point checks, see wp.config.verify_fp

  • Add interleaved user source with generated code to aid debugging

  • Add generalized GPU marching cubes implementation, see wp.MarchingCubes class

  • Add additional scalar*matrix vector operators

  • Add support for retrieving a single row from builtin types, e.g.: r = m33[i]

  • Add wp.log2() and wp.log10() builtins

  • Add support for quickly instancing wp.sim.ModelBuilder objects to improve env. creation performance for RL

  • Remove custom CUB version and improve compatibility with CUDA 11.7

  • Fix to preserve external user-gradients when calling wp.Tape.zero()

  • Fix to only allocate gradient of a Torch tensor if requires_grad=True

  • Fix for missing wp.mat22 constructor adjoint

  • Fix for ray-cast precision in edge case on GPU (watertightness issue)

  • Fix for kernel hot-reload when definition changes

  • Fix for NVCC warnings on Linux

  • Fix for generated function names when kernels are defined as class functions

  • Fix for reload of generated CPU kernel code on Linux

  • Fix for example scripts to output USD at 60 timecodes per-second (better Kit compatibility)

  • Fix for incorrect 4d array bounds checking

  • Fix for wp.constant changes not updating module hash

  • Fix for stale CUDA kernel cache when CPU kernels launched first

  • Array gradients are now allocated along with the arrays and accessible as wp.array.grad, users should take care to always call wp.Tape.zero() to clear gradients between different invocations of wp.Tape.backward()

  • Added wp.array.fill_() to set all entries to a scalar value (4-byte values only currently)

  • Tape capture option has been removed, users can now capture tapes inside existing CUDA graphs (e.g.: inside Torch)

  • Scalar loss arrays should now explicitly set requires_grad=True at creation time

omni.kit.stage

  • OM-70213: Updated default stage template (Y-up)

  • OM-70213: updated warmlights and now called default stage

  • OM-55050: new stage template warmlights

omni.kit.viewport.ready

  • OM-67700: Update usd-resolver to 1.16.3

  • OM-67869, OM-66378: [omni.kit.viewport.ready]

omni.activity.ui

  • OM-58441: [omni.kit.widget.graph][104.0] Crash when moving several nodes

  • OM-65980: PX-2905, PX-3025 - omni physics 104.0.4 release

  • OM-67566: change the status log level to at least warning

  • [omni.kit.window.extensions] fix exts data fetcher for archive path on a different host

  • OM-55818: move imgui.dll into omni.kit.renderer.imgui extension (fixes missing imgui.lib too)

  • OM-64417: Highlight search result in hotkeys window

omni.kit.window.status

  • OM-67737: Fix issue that session creates with different DNS alias cannot be found

omni.kit.registry.nucleus

  • OM-67779: fix community extensions cached into the wrong directory name

omni.kit.documentation.ui.style

  • OM-39719: address omni.activity.ui queries

  • OM-66779: [omni.usd-abi] Make sure stage pointer is valid before dereferencing it.

  • OM-66261, OM-66932: docs fix kit manual sdk and new ext doc links

  • OM-67296: reorganize kit manual toc

omni.kit.usd.layers

  • OM-67316: [omni.kit.hydra_texture] Fix over invalidation from carb change subscriptions.

  • OM-64631: Fix issue with proxy selection for Physics debug visualization

  • OM-67614: Fix UI issue in layer window that can show two sublayers as edit target

  • OM-66388: For ECO mode, report when Flow is active.

  • OM-60536: scriptnode opt-in logic now checks remote file url

  • OM-64738: [omni.ui] Fixed size caching of menu bar of MainWindow

  • OM-62425, OM-62425: fixes local path issue on Linux

  • OM-61861: Synchronize layer meta between root layer and root.live layer in live session

  • OM-60514, OM-61441: [omni.kit.viewport.window] Support /app/renderer/skipWhileMinimized and fix multiline stats output

  • OM-53750: Fix duplicate outdate notification and move it to omni.kit.usd.layers for universal usage

  • OM-55553: menus don’t use contextual grey-out

  • OM-56329: Update to usdrt-3.0.0 release

omni.kit.hotkeys.core

  • OM-65934: Allow prims to be created outside default prim

omni.kit.property.usd

  • OM-65471: [omni.kit.window.extensions] ignore @featured search in 3rd party tab

  • OM-67355: [omni.kit.viewport.window] Open second Viewport docked to right of existing one.

  • Additional property widget refresh from message bus

  • OM-59372: Adding support for tuples and arrays for Floor and Ceil nodes

  • OM-59600: Mark the texture cache as writable when first creating it

  • OM-58153: Implemented TransformMultiPrimsSRTCpp and TransformPrimSRTCpp to speed up prim manipulator

  • OM-58170: Custom Layout Group that can have a condition

  • OM-55771: File browser button

omni.kit.widget.graph

  • OM-66384: Change Envir prim type to Xform

  • OM-65330: graph_widget_overview

omni.kit.viewport.menubar.display

  • OM-65982: [omni.usd.commands] Delay pushing selection when Create Reference, PAyload, or Audio commands are run.

  • OM-63891: Viewport Display Menu: Custom Category Sections and Fixes

  • OM-63891: Allow creation of custom top-level display menu categories

omni.ui.scene

  • OM-66722: [omni.kit.viewport.legacy_gizmos] Scan and remove all invalid gizmo prims for certain re-synch notifications.

  • OM-40511: Integrate add registration timing

  • Update omni.ui.scene docs

  • CC-560: Build: updated carb in Kit to get some deprecation changes in.

  • fix docs build for omni.ui.scene

  • OM-55979: RenderSettings lost on save : Do not assume current value of render setting should override requested default value

  • OM-55126: Add requiredRelationship inputs to FindPrims

  • OM-55698: Use metadata for internal attributes

  • OM-56340: RTX - Interactive (Path Tracing): increase totalSpp default value

  • OM-55435, OM-54429, OM-54925: Fix shader reloading after modifying a recursive include file

  • OM-55915: fix drop down menu disappears when mousing between the gap

  • [omni.kit.window.extensions] community UI tweaks

omni.example.ui

  • OM-65110: [omni.ui] Removed warning from VectorImageProvider

  • OM-66137: physics 104.0.3 release

  • OM-64688, OM-66198: [omni.kit.viewport] Fix camera-speed and opposing stage-up references

  • OM-66388: Better Flow ECO Mode behavior when Paused.

  • OM-63456: Fixed texture upload in ReShade

omni.kit.viewport.menubar.core

  • OM-43847: Revert Viewport menu-bar top-level highlighting change

  • OM-66179, OC-1023: Fix crashes from IStageUpdate and downstream consumers not being able to handle multiple UsdContexts

  • OM-43847: [omni.kit.viewport.menubar.core] Make top level buttons rounded when hovered.

  • OM-55722, OM-55714, OM-54421: Supports to insert multiple sublayers, fix lock and checkpoints regression

  • Support multiple menubars in viewport

  • Reordering the rendering checks a little so that we can always trigger with a os variable.

  • OM-50894: [omni.kit.viewport.window] Support multiple drag-drop items into Viewport.

omni.kit.widget.layers

  • OM-66842: Blacklist R525 drivers due to GPU crash

  • OM-64663: fix renderproduct path serialization

  • OM-64135: show background color for Window category and always show Add Action

  • OM-59428: Fix Prim Manipulator for Skeleton Joint Manipulation

  • Allow write variable to operate even if role types differ

  • OM-53166: Disable mute/lock for current edit target to improve non-destructive workflow

omni.kit.viewport.actions

  • OM-62576: Use UTF8 for texture cache files

omni.graph.nodes

  • OM-60923: [omni.kit.viewport.actions] Add toggle rtx mode action.

  • OM-62639: Do not delete original RTX settings during a reset to default operation

  • OM-61527, OM-62723: ReadPrimAttribute workaround

  • OM-20773: [omni.kit.viewport.menubar] Support multiple VP for menubar (v2)

  • OM-56839: Fix ReadPrimIntoBundle value change of Add Target to trigger computation

  • OM-58238: Add warning file to Execution Framework includes

  • OM-58673: extension manager: support offline work for the registry

  • OM-59579: Linux OpenGL unexpected exit crash workaround

  • OM-54731: replace the streaming feedback TaskGroup with a semaphore

  • OM-55730: Added Ceil node

  • OM-28449 track instance segmentation IDs per geometry instead of per mesh instance

  • applyRangeBatch

  • physics 1.5.0 update

  • OM-55022: Add rawResource support to OgnSdRenderVarToRawArray

  • Fix for OgnWriteSetting Erroring Out For Specific Settings

  • OM-51931, OM-51949: Add Read and Write Settings Nodes

omni.kit.viewport.utility

  • OM-66178: Fix hotkey registration warnings

  • OM-59568: Add path inputs to transformation OG nodes

  • OM-20773: [omni.kit.viewport.utility] Add create_drop_helper function.

omni.kit.widget.stage

  • remove omniskel schema UI

  • jointlimits inherit from xform

  • OM-45154: Fix VM feature enablement

  • OM-56909: Fix drag and drop regression to move prim out of world prim

  • OM-55505, OM-58031: Re-apply change to fix issue of converting usd to usda on server

  • OM-58192: Show non-defined prims as well for stage window

  • OM-57328, OM-57883: Enable renaming support in live session and fix session list refresh

  • OM-45514: Optimize memory footprint of stage view

  • omnischema v2

  • [omni.kit.registry.nucleus] another war annoying omni.client hang warning

omni.kit.hotkeys.window

  • OM-65275: Fix possible issues with deadlock due to lock acquisition order - 104

  • OM-60488: Improved tooltip for MDL Distilling preference setting

  • OM-64856: minor fix to action evaluator cycle detection

  • OM-64181: Fix race condition in mesh dedup

  • OM-60260: Fix PT render graph texture mem. leaks

  • OM-59803: Potential fix for crash

  • OM-64712: [omni.kit.viewport.menubar.render] Add additional Path Traced AOV and normalized labeling to RT/PT prefixes.

  • OM-64688: [omni.kit.viewport.window] Make camera-speed indicator editable.

  • OM-64873: [omni.ui] MultiField caching

  • OM-63913, OM-64450, OM-64315: Fix crash if .live folder is deleted, and other live session issues

omni.kit.viewport.menubar.lighting

  • OM-65763: Fix saving of RTX array settings

  • OM-61431: Add InitialLoadSet argument to omni.usd.UsdContext.new_stage()

  • OM-65344: Generate C++ docs for the omni.kit.actions.core extension.

  • OM-63881: New IAction APIs to query argument names and default values of Python actions.

  • OM-65015: Fix synthetic data pipeline fabric update and 3dboundingbox clipping

  • OM-65098: Fix crash when using python.sh due to missing libcarb.so

  • OM-25995: add support for arbitrary material config settings

  • OM-65012: fix multi-select pivot toolbar icon

  • [release][activity] The initial work on the reporting activity

  • OM-35158: Bookmarks and server connections persisted as omni.client bookmarks

omni.kit.actions.core

  • OM-65756, OM-65842: physics 104.0.2 release

omni.ui

  • fixed materialx on linux

  • OM-55084: Tweaked the SDK to allow Kit extensions to build cpp nodes using it

  • OM-59012: Removed “Use view lighting mode” from Render Settings. Renamed “Number of BVH Splits” to “Global Number of BVH Splits”

  • OM-65335: usdrt-4.0.6 and added advanced FabricSD settings panel and fixes

  • OM-64993: instruct what to do when adding a key binding

  • OM-64267: [present thread] Fixed crash on resize

  • OM-61622: IntField & FloatField overflow fixes

  • [omni.ui] Grid size caching

  • OM-64011: Change tooltip for Transform space button to show current space

  • OM-63438: [release][omni.ui] aggressive caching

  • Hide all the windows the first several frames

  • OM-51925: Fixed disabled ui.MenuItem when changing visibility with delay

  • OM-60699: Fix image capture path

  • Changes to SetViewportMode

  • OM-55865: fix offset link icon

omni.kit.window.extensions

  • OM-60419, OM-65471: [omni.kit.window.extensions] search count badge, ext group expansion fix

  • Integrate omnigraph changes 18701, 18719, 18732

  • OM-58476: add more columns when exporting all exts as csv

  • Fix MPiB prim index bug

omni.syntheticdata

  • OM-60488: Fixed regression in rendering_page prefs for distiller

  • OM-63913: Fix issue that stage url in session.toml could be relative path

  • OM-56657: [omni.kit.viewport] Enable gamepad control for Viewport navigation.

  • Few updates to hotkeys

  • Backup poolMaxBufferSize and poolFramesToEvict in ResourceManagerContext.cpp

  • OM-52040: Optimize compare node

omni.kit.window.file

  • physics 104.0.0 release

  • CP-18194, CP-18196: Fixes for checkpoint comment and layer move regression

omni.kit.commands

  • Added a get_extension_name API to the extension manager.

  • OM-60884: Remove a spammy command keyword argument type validation warning.

omni.kit.window.filepicker

  • OM-64525: Fixes adding bookmark from filepicker

  • Introducing present thread

  • Fix IrayServer crash when picking just after switching to cloud rendering

  • explicit list of still include plugins in package.toml

  • OM-55915: “Menu disappear due to gap”

  • fix docs build

  • OM-54869: Fixes breadcrumb navigation in filepicker

omni.kit.property.light

  • OM-64450: [Layers] Fixed rearranging of layer order

omni.kit.viewport.window

  • OM-64391: Removed Approximated Image-Based-Lighting, improved tooltips

  • [omni.kit.window.extensions] add setting to have an option for community tab

  • iray: fix lookup of textures from the texture manager

  • OM-43520: Added proper interpolation for the alpha channel when computing the incremental frames for motion blur

omni.kit.manipulator.prim

  • OM-60394, OM-60924: Do not copy shader caches, use multiple paths

  • OM-53268, OM-55673: Add style input to widget nodes.

  • OM-55755: add precision for float slider, field and drag

  • Add customize API for camera/display menubar

  • Lmoore/reset group param

omni.kit.material.library

  • OM-57145: fix material library create actions to not have absolute paths

omni.kit.window.preferences

  • Hotkey patches

omni.hydra.pxr

  • OM-47514: When saving a checkpoint or read-only file, call save_as instead

  • physics package update for 104

  • OM-62196: [omni.kit.widget.viewport] Add DisplayDelegate API for transitioning between renderer outputs.

omni.graph.core

  • OM-60851: [omni.kit.viewport.menubar] Add new functionality to render menu.

  • fix devfull build deps by creating fake fence project

  • OM-58409: fix scale link defaults

  • OM-57987: add a bool arg to DataModel::remAttribs to indicate if attribs are metadata fields

  • OM-53750: Add API to link live layer to base layer for supporting Project workflow of other connectors

  • OM-45390: Allow flatcache (StageWithHistory) access outside of OmniGraph by using common userid

  • OM-55770: RGB/RGBA color swatches in property window

  • OM-55823: Update omni_usd_resolver to v1.7.0

  • DRIVE-6215: Add support to point-instancer prototype deletion

  • OM-49004: Bool2 Bool3 and Bool4 data type should be exposed as a group of…

  • Single USD write back per frame

  • OM-53546: Fix referenced schema load

  • OGN DB caching compile switch

  • OM-5075: fix volume object creation in iray

  • OM-53544: Fix for output attribute being resolved by downstream connection

  • OM-45856, OM-52190: Write back to USD mechanism does not use the “ForceWriteBack” tag anymore

  • Make IBundle2 outputs optional

omni.graph.test

  • OM-57461, OM-56837: Texture Streaming - Evict required mip levels when low-on memory

  • speed up deps solver by looking ahead on constraints

  • OM-55727: fix incorrect node moving in graph

  • OM-56953: [omni.ui] Fixed crash when changing layout

  • OM-48640: Change sample limit max value to to match the RTX setting to make slider less sensitive

  • OM-57904: pymdl.FunctionDefinition returning empty parameterTypeNames

  • Updating the trigger to 0.4.15

  • Fixes OM-55962: implements Platform, which consolidates GpuCompute and Context into a global struct

  • Fix import in ComputeErrorPy node.

omni.kit.widget.live

  • CP-19459: OM-59257: Align context menu after clicking on live button

  • OM-55421: Fix refresh of participants list for session start dialog

omni.kit.manipulator.camera

  • OM-60796: Filebrowser refreshes thumbnails on generated event

omni.usd.libs

  • Ordering fix to allow MaterialXRenderGlsl to load

omni.hydra.scene

  • OM-61120: Treat mesh updates as animated when GPU interop is in play

  • OM-60341: Adds support to group non-xformable prims

  • OM-55838: Supports to flatten stage without session layer

  • OM-25995: Gather additional data required for material-graph MDL loading

  • OM-52379: Filter visibility attribute

  • OM-51961: Convert the CrossProduct node from Python to C++

  • Fix issue for collect tool that won’t hide progress bar

omni.kit.usdz

  • OM-57038: Kit-104 - update nv-usd to materialx_updates from 22.08 (with materialx-1.38.4)

omni.graph.tools

  • OM-51394: Make sure exr compression method is applied no matter what hdrFormat it is

  • Kit manual docs initial setup

  • OM-59336: Clearing asyncRendering tracker dirty flag

  • OM-58814: Changing Primvar interpolation causes a crash

  • OM-57592: Skip unnecessary mgpu resource barriers, fixes crash when enabling denoiser

  • fix –dev and –devfull project dependencies list

  • Updates the usd_ext_omniscripting libraries which changed OmniScriptingAPI to use AssetArray for scripts

  • OM-55390: Write usd omnigraph doc

  • OM-51352: Enhance code coverage

omni.kit.window.inspector

  • physics 104.0.0 release

omni.graph

  • OM-61030: Load render settings after root layer is reloaded

  • OM-43560: Error logging improvements

  • Fix breakage after auto-format

  • OM-58855: Remove legacy editor and rework dependencies

  • OM-58482: [omni.kit.window.extensions] async load changelog and readme to reduce index size

  • OM-58855: Remove legacy editor and improve dependencies

  • OM-56000: Fix for AG evaluator change to support cycles in graph

  • OM-54610: Update OGN bundle wrapper to use IBundle2

  • OM-58136: soft deprecate INode::registerPathChangedCallback

  • OM-58040: Fix for spurious error messages from leaked event subscriptions

  • OM-56878: Fix handling of string and token input in the Compare node

  • OM-57986: Fix data model for storing attribute metadata

  • OM-56664, OM-56665: adding ALLOW_MULTI_INPUTS metadata tag

  • OM-57031: Fix bug with notice handling order for OG/FC

  • OM-53998: usdz asset resolution

  • IBundle 2 ABI review

  • OM-55408: Fix for sometimes crash/hang on quick shutdown

  • OM-56000: Refactor action graph evaluator to support parallel evaluation of fan-out

  • OM-51806: Add +/- icons to nodes with dynamic input/output attributes

  • OM-55917: Use real app name for live session

  • OM-55325: omni graph tools API definition

  • Perf of Read/WritePrimAttribute nodes

  • OM-54608: Bundle and Attribute metadata

  • OM-55324: Defining Python API surface for a few more omni.graph extensions

  • OM-51934: make ReadMouseState pointer relative to window

  • OM-54610: Add to IBundle2 prototype clearContents method

  • OM-39747: Remove deprecated nodes

  • OM-54447: Define api for omni.graph.examples.python

  • Fix error when accessing graph settings

  • OM-51042: Finished python versioning docs

  • OM-48328: Move remaining scripts from omni.graph.instancing to a different extension

omni.exec

  • OM-52013: Add SwitchToken, EndsWith, StartsWith nodes

  • OM-61394, OM-59167: Fix plugin search paths in rendering tree

  • OM-57449, OM-58095, OM-58202: SDG pipeline fixes

  • OM-57749: Added preferences option to set/clear staticMaterialNetworkTopology during loading

  • OM-56620: Update Realm UCX backend

  • OM-59595: Fix variable initialization in Optix

  • OM-58851, OM-57910: ReadWindowSize node

  • OM-59025: handle auto conversion of simple attribute copy in data model

omni.kit.actions.window

  • OM-51925: context menus use delegates

  • Window to display actions

omni.kit.menu.utils

  • OM-56750: context menu create children when hovered

  • OM-45448: add source to MenuLayout.Group so whole submenu can be copied

omni.kit.documentation.builder

  • [omni.kit.documentation.builder] fix sphinx generation, markdown file name fix

  • Format Code

omni.kit.tool.collect

  • [omni.ext] shows extensions coming from user added folders as “user”

  • OM-60884: Improved keyword argument validation when registering commands from C++

  • OM-58831: add hook of rebuild_node to model

  • OM-60137: Improve duplicate to fix issue when there are overrides inside intro layer of references or payloads

omni.graph.ui

  • OM-61341: GPU interop crash when CUDA and carb.graphics device ids do not match - 104

  • OM-60055: Don’t pop up session dialog for read-only locations

  • OM-60848: Make sure parenting operation non-destructive

  • OM-58687: updated property material widget goto to handle inherited materials

  • OM-20773: [omni.kit] Default to new Viewport and move old configuration to omni.app.dev.legacy_viewport.kit

  • OM-51393: [omni.kit.viewport] Add plumbing to pass new format_desc argument to new capture API.

  • OM-57683: Schema prims graph doesn’t execute

  • OM-40598: add support for fixed time stepping

  • OM-58977: Updates animation USD schema.

  • OM-58986: Fix references that should read ‘Visual Scripting’

  • Implements allocator wrapper for fabric; improves construction/destruction time of P2AM

  • OM-57485, OM-57617, OM-58376: Reworked view tracking so that it works with the latest changes as used by the distance picked tool and material drag’n drop etc

  • Fixing the bit math that accidentally enable AHS for geometries

  • OM-52354: Optimize setting of attribute values during runtime computation in python

  • move omni.assets.plugins into an extension itself

  • Flow Global Volumetrics. Reduce banding.

  • OM-51934: Fixes to make ReadMouseState pointer relative to window

  • OM-51900: Unifying MaterialRayPayload and VisibilityRayPayload (related to bugs: OM-54587, OM-42800, OM-42744)

  • [TextEditor] Added syntax to TextEditor

  • OM-55262: Add validate to session name to only allow alphanumeric letters, hyphen, or underscores

omni.kit.widget.nucleus

  • OM-53421: Added setting for deprecation errors

  • OM-20773: [omni.kit.viewport] Re-enable ability to create more than one Viewport but limit to 2.

omni.kit.search.service

  • OM-36511: Fixes: When connecting to server, omni.client fails to open the browser to sign-on page

omni.kit.window.viewport

  • Null pointer check to fix drag and drop crash of VP1

omni.kit.embedded

  • [omni.kit.window.extensions] UI for partner/community/user extensions separation

  • Remove omni.kit.embedded_script extension

omni.kit.manipulator.selector

  • OM-20773: [omni.kit.viewport] Sync integ-master to integ-104.0

omni.graph.action

  • OM-39682 Allow reloading omni.graph python by fixing faulty logic in extension shutdown

  • Update carbonite

  • OM-59201: add renderproduct path to realm renderproduct results

  • OM-58123: Add prim input to OnObjectChanged

  • OM-53273: Added ReadWidgetProperty node

  • OM-55505: Fix issue of saving usd as usda on Nucleus server

  • OM-57404: Fix layer mute in global scope

  • OM-51584: Allow widget nodes to work with ForLoop node.

  • OM-55771: File browser button (move custom metadata)

  • OM-52366: Don’t close stage for fast quit

  • OM-56926: Made pull evaluator not dirty readtime if time has not changed

  • Improved ogn wording

  • Added write widget style node

  • OM-53272: Add WriteWidgetAttribute node

  • Update Button node for VP2

omni.graph.io

  • OM-55921: bug fixes for light linking (reassign material, new/delete geo, move geo)

  • OM-57451: fix backward compatibility break for omni::graph::io::IDirtyID

  • Adding new usd schema for omni scripting.

  • OM-53677: Fixed Fabric regression

  • OM-53699: Update Bundle Dirty ID and Prim Dirty IDs

omni.kit.collaboration.channel

  • OM-57835: Fix unparent regression

omni.kit.property.transform

  • OM-48329: Deprecated omni.graph.instancing

  • OM-55762: Fixed prim manipulator didn’t handle pivot correctly in local translate and scale mode

omni.kit.window.content

  • OM-51147: Add support for relative image urls in UI widget nodes

omni.kit.manipulator.tool.snap

  • Carbonite update

  • Do not handle “material::” protocol when dropping (by material browser instead)

omni.mdl

  • OM-57031: Fixes for OG property panel for extended attributes

omni.usd

  • OM-56561: Fix duplicate to avoid discarding overrides if prim is defined in payloads or references

  • [omni.kit.widget.stage] Restored the arguments of ExportPrimUSD

  • Support texture tiles in OVTEX files

  • physics package update (second time’s the charm)

  • Optimize layer traverse perf to avoid slowness of resolver

  • Update usd_ext_omniscripting schema fixes

  • OM-54586: add a debug setting to make audio prims ignore visibility

  • OM-54586: more info when playing a sound prim

  • OM-54586: give omni.usd.audio a logging channel

omni.kit.menu.edit

  • OM-57741: Add Placer node

  • OM-56642: Added Menu 2.0 title bar line

omni.hydra.index

  • OM-48786: Error report for finding multiple drivers or ICDs

  • OM-47199: pathological subscribe_list() calls to the server when loading scenes

omni.kit.window.popup

  • OM-55125: Add dragging manipulator nodes

  • OM-50886: SDG support of multi-gpu in postProcessOnDisplayDevice=false

  • OM-20773: [omni.kit.viewport.window] Fix issue zooming camera when adjusting paint-brush size.

omni.timeline

  • OM-54945: timeline support play in range

omni.usd.schema.anim

  • Adds navSchema and navSchemaTools libraries to omni.usd.schema.anim extension

omni.kit.window.stageviewer

  • Fixed memory leak with NodeType objects

omni.graph.examples.python

  • OM-55697: USDRT 2.0.0 release

  • OM-55705: Fix regression to show context menu when right click in grid view

  • OM-50627: NVIDIA IndeX integration: Add colormap editor and more fixes for Early Access release.

omni.mdl.usd

  • OV USD to MDL converter: Fixed failure to copy file texture due to wrong handling of result code

  • OM-52576: [omni.example.ui] A small note about fonts

omni.kit.widget.text

  • OM-50312: Make MakeArray inputs dynamic

omni.fabric

  • Decision for Fabric ADR 0002

omni.kit.primitive.mesh

  • OM-52040: OM-53768: Caching of OGN DB

  • OM-51229: Create primitive mesh always in centimeters units

omni.index.settings.core

  • updating packman to 6.45.1

orphan

Common

Added
  • Added settings to ‘Common/Geometry/Curves Settings’ and to ‘Basis Curves’ to control the Number of BVH Splits used in curves’ ray acceleration structure, which provides improved balancing capabilities of performance and memory usage by curves.

  • Added profiling Heat Map views to ‘Common/Debug View’ which are used to visualize frame time spent per pixel, or the number of invoked Intersection shaders or Any Hit shaders per pixel.

  • Added an ‘Invisible Lights Roughness Threshold’ setting to ‘Common/Lighting/Light Visibility Settings’, which defines the surface roughness treshold below which lights invisible in primary rays are also invisible in reflections and refractions.

  • Added a ‘Projector Light Type’ setting to ‘Rect Light’, which enables focusing a textured light like a projector. Scale the light as desired to adjust the focus area.

  • Added .tiff image format support.

  • Refactored ‘Lighting Mode’ settings for Dome Lights in ‘Common/Lighting/Dome Light Settings’, which now provide ‘Image-Based Lighting’ (simply a rename of the previous default, highest quality but can introduce artefacts in Real-Time) and ‘Limited Image-Based Lighting’ (fastest and few if any artefacts in Real-Time, but only affects reflection and refraction).

Improved
  • Creation time and update time for mesh geometry has been significantly improved, very dense meshes can now load up to 3x faster.

  • Geometry loading is now asynchronous with priority given to large-sized geometry (e.g., walls would be loaded before rivets). Loading is suspended when running out of memory, giving the user an opportunity to work with scenes that otherwise would not fit in memory.

  • Now honiring the ‘Normalize’ flag in UsdLight for area lights.

  • Various performance and memory optimizations.

  • Added tooltips for all render settings.

Fixed
  • Various tangent/normal computation fixes including when geometry is animated.

  • Various Multi-GPU stability improvements and bug fixes.

  • Fixed ‘Picking is returning random prim paths when selecting in Prim mode.’

  • Fixed ‘Procedural AABB is sometimes incorrectly drawn in DirectX.’

  • Fixed ‘Multi-GPU picking and querying is failing with multiple Viewports open.’

  • Fixed ‘Simple Fog is still visible even if Intensity is set to 0.’

  • Fixed ‘Discontinuity along curves or hair fibers when the endcaps option set to open.’

  • Fixed ‘Setting the wrap mode to black for UDIM texture sequences results in incorrect texture lookups.’

  • Fixed ‘Changing resolution to 2048x1080 can cause BSOD or flickering.’

Known issues
  • Loading around 5m instances crashes.

  • 16k square, 16 bit RGB textures cannot be loaded.

  • DistantLight has no “Visible in primary rays” checkbox, unlike other light types.

RTX - Real-Time

Added
  • Added ‘Frame Generation’ setting to ‘Real-Time/NVIDIA DLSS’: uses AI to boost frame rates by generating additional high-quality frames in real-time. This feature requires an Ada Lovelace architecture GPU. Windows version must be equal or greater than 20H1. Not yet supported on Vulkan or Linux.

  • Added ‘New Denoiser (experimental)’ setting to ‘Real-Time/Direct Lighting’ which can reduce ghosting or noise in some contexts.

  • Added ‘Distilling (experimental)’ setting in ‘Preferences/Rendering/MDL’: Enables transforming MDL materials of arbitrary complexity to predefined target material models, which can improve material rendering fidelity in RTX Real-Time mode, such as for complex materials like Clear Coat.

Improved
  • Improved rendering fidelity of real-time SSS when Sampled Direct Lighting is enabled.

Fixed
  • Fixed various SSS bugs

  • Fixed ‘Dome Light results in outline visible on reflective surfaces when Sampled Direct Lighting is not enabled.’

  • Fixed ‘Real-time global volumetrics has a lot of large-scale noise if Sampled Direct Lighting is not enabled.’

  • Fixed ‘Reflections in glass appear jagged, shimmer.’

Known issues
  • Distilling (experimental): Colorful noise pattern sometimes appears where the surface is reflective while Distilling is enabled.

  • Distilling (experimental): The translucency appears dark in some cases while Distilling is enabled, including on particles.

  • Distilling (experimental): Detail normal maps are not visible.

  • New Denoiser (experimental): Simple Fog is incorrectly rendered if Sampled Direct Lighting is also enabled while New Denoiser is enabled.

  • New Denoiser (experimental): Translucent materials can appear blurry when in motion while New Denoiser is enabled.

  • New Denoiser (experimental): Pronounced noise behind translucent materials may appear magnified by refraction while New Denoiser is enabled.

  • New Denoiser (experimental): Points in motion are very blurry while New Denoiser is enabled.

  • If XR Compositing or Matte Object is enabled, translucent materials may appear clipped by the background.

  • glTF material appears black.

  • Dark bands are visible on sky mesh when both “Global Volumetric Effects” and Translucency “Fractional Cutout Opacity” are enabled.

  • Textures are not supported in Rect Lights unless Sampled Direct Lighting is enabled (although is supported if Projector Light Type = true).

  • Dark line appears around the edge of the viewport at resolutions of 720 or less if Sampled Direct Lighting or New Denoiser is not enabled.

RTX – Interactive (Path Tracing)

Added
  • Added ‘Multi Matte’ settings in ‘Interactive (Path Tracing)’ which extends AOV support by enabling rendering masked mesh geometry to AOVs, providing additional opportunities to modify the final image during compositing and additional insights through 2D analysis.

  • Added ‘Adaptive Sampling’ settings in ‘Interactive (Path Tracing)/Path-Tracing’ which limits the number of additional samples to render for a pixel based on a user defined noise threshold. The samples are non-uniformly distributed over the image resulting in less noise for the same number of samples and also provides a more consistent noise level across multiple frames.

  • Added ‘Denoise AOVs’ setting in ‘Interactive (Path Tracing)/Denoising’ to apply the Optix Denoiser to AOVs.

Fixed
  • Fixed ‘Global volumetrics (fog) causes surfaces to look transparent when rendering Matte Objects.’

  • Fixed ‘If Matte Object is enabled, Depth of Field will not work against the background.’

  • Fixed ‘A few of the AOV passes do not have a checkbox to enable them for preview.’

Known issues
  • Multi Matte: Mesh geometry Multi Matte ID -1 is treated as 0.

  • Multi Matte: Changing the Multi Matte settings does not force a reset the frame.

  • UI responsiveness can lag when rendering complex volumes.

  • At low sample count, matte objects render black, until more samples have accumulated.

Post Processing

Added
  • Added ‘Dither Strength’ setting in ‘Post Processing/Tone Mapper’ to reduce banding when rendering smooth gradients.

Added

  • Added ‘Guided Sampling’ setting in ‘Accurate (Iray)/Render Settings’: Enabling this option will usually help convergence speed of interior or other complicated scenes at the price of slightly increased rendering times per iteration and higher memory usage. Thus, simple scenes such as turntable-like objects will not profit, and may even render a bit slower.

  • Added ‘Backplate Refraction’ settings in ‘Accurate (Iray)/Render Settings’: Forces perfectly specular, non-thin walled materials to respect the virtual backplate. Note that this can lead to visible discontinuities on complex geometric shapes due to the mixture of both the backplate (texture and color) and environment dome contributions.

  • Added ‘Iray Server’ settings in ‘Accurate (Iray)’: Iray can connect to an Iray Server running on a different machine. Iray server is a stand alone application connecting via a network. More info here: https://www.irayplugins.com/iray-server/

  • Added ‘Environment Sample Count’ setting in ‘Accurate (Iray)/Advanced’: Increase this to get a higher quality when baking the dome light.

  • Added ‘Window Glass Optimization’ setting in ‘Accurate (Iray)/Advanced’: Check this if you need faster rendering in cases where light is travelling through e.g. flat window panes.

  • Added ‘Use Iray’s Built-In Denoiser’ setting in ‘Accurate (Iray)/Advanced’: Check this if you want to use Iray’s internal denoiser (recommended for an Iray Server connection).

  • Added ‘Temporal Denoising During Navigation’ setting in ‘Accurate (Iray)/Advanced’: The Temporal Denoiser is used during Navigation.

Fixed

  • Fixed ‘Iray won’t write a correct HDR EXR frame (capped at 1.0).’

  • Fixed ‘Iray sometimes crashes when rendering dense hair curves.’

Known issues

  • Light and camera icons / manipulators and Grid are not showing in Iray

  • Some settings in Common render settings are not supported in Iray

Material improvements
UsdPreviewSurface

UsdPreviewSurface now supports unitless emissive texture map values. Previously, the RTX and Iray renderers assumed that map values were in Nits. Emissive units is not specified in the USD specification and in HdStorm and other renderers, the textured value is often the final exposed RGB value in the image.

In 2022.3.0 emissive values are scaled such that their value is equal to the output RGB image for our default camera Exposure

Camera Exposure

Values

ISO

100

Shutter

50

f-stop

5.0
Distant Light

UsdPreviewSurface supports UsdTransform2d and UsdPrimvarReader nodes

MDL Reloading

Omniverse will now dynamically re-load changes to MDL source, updating the MDL database and re-compile the material.

OmniPBRBase

Omniverse adds the base OmniPBR template model to the Material Editor. You can now map and modify inputs directly to the base material model to create custom MDL materials.

Material Editor

Authors can now add their own materials and functions to the Material Editor Node List.

MaterialX Read Support

Omniverse supports reading of .mtlx material documents.

MDL Path Resolution Changes

Summary of the changes for resolving MDL paths:

  • MDL built-in paths (i.e OmniPBR.mdl, OmniPBR_ClearCoat.mdl, OmniSurface, nvidia/aux_definitions.mdl, nvidia/core_definitions.mdl, OmniUE4Base.mdl, etc.) will no longer be anchored to their referencing layer URL (i.e omniverse://nucleus-server/some/stage.usd or https://server/some/other/stage.usd). These MDL built-in paths will still resolve correctly if they live next to the referencing layer URL but that is completely handled by the client-library and not USD

  • MDL paths not prefixed with “./” or “../” can still be anchored relative to the referencing layer if they exist and the referencing layer is a URL or file path on disk

  • MDL built-in paths are no longer considered search paths

  • MDL built-in paths are no longer considered relative paths unless prefixed with “./” or “../”

  • This behavior works through SdfAssetPath type Attributes without modifying Sdf

  • This behavior can be enabled / disabled by setting the environment variable OMNI_USD_RESOLVER_MDL_BUILTIN_BYPASS or in <APPLICATION>/kit/extscore/omni.usd.config/omni/usd_config/extension.py

  • At the moment, this resolve behavior is disabled by default by can be easily switched