Skip to main content

Adding Cesium for Omniverse to Omniverse Applications

This is a guide to adding the Cesium for Omniverse extension to any Omniverse application.

3D Tiles content streaming into USD Presenter via Cesium for Omniverse.

3D Tiles content streaming into USD Presenter via Cesium for Omniverse.

You’ll learn how to:

  • Enable the Cesium for Omniverse extension within any Omniverse application.

Prerequisites

  • Know how to install Cesium for Omniverse and set up a basic Cesium for Omniverse stage in NVIDIA Omniverse USD Composer. Check out our Cesium for Omniverse Quickstart guide for instructions on starting with the Cesium for Omniverse extension.
  • Access to a USD stage containing Cesium for Omniverse content. The Cesium for Omniverse samples contain multiple USD files that can be used.
  • USD Presenter 2023.1.0 or higher. This will be used as an example application for adding Cesium for Omniverse.

Overview

NVIDIA Omniverse is a modular platform consisting of hundreds of extensions, each providing discrete functionality. Omniverse applications are a certain combination of these extensions bundled together to provide specific functionality and workflows. 

A USD containing Cesium content will load correctly only in Omniverse applications that have the Cesium for Omniverse extension enabled. By default, most applications will not have the extension enabled; however, the modular architecture of Omniverse means that Cesium for Omniverse can be easily added to most Omniverse applications, provided they are built on the Kit 105 platform or later.

This tutorial will use USD Presenter to demonstrate the workflow for adding Cesium for Omniverse manually to an Omniverse application, but this workflow can be followed for most other Omniverse applications.

Information

Some Omniverse applications, such as Isaac Sim, are built on the standard Omniverse USD Composer style interface and allow the user to enable extensions via the normal Window > Extensions menu option. For these applications, you can follow the extension activation instructions in our Quickstart guide.

1Verify compatibility with Kit 105

1Ensure Cesium for Omniverse is installed and functioning with USD Composer per the instructions in the Cesium for Omniverse Quickstart guide.

2In the Omniverse launcher, go to Library > USD Presenter and open the USD Presenter Settings by clicking Options > Settings.

In the Omniverse launcher, go to Library > USD Presenter and open the USD Presenter Settings by clicking Options > Settings.

3Click the folder icon to open the install path for USD Presenter 2023.1.0.

Click the folder icon to open the install path for USD Presenter 2023.1.0.

4Open the Kit folder and run kit.exe to determine the application’s Kit version.

Open the Kit folder and run kit.exe to determine the application’s Kit version.

5The Kit version will be displayed in the kit.exe terminal window. Version 105 or higher is required for the application to be compatible with Cesium for Omniverse.

The Kit version will be displayed in the kit.exe terminal window. Version 105 or higher is required for the application to be compatible with Cesium for Omniverse.
Information

If your application doesn’t support Kit 105 or higher, the application developer will need to update to a compatible version for Kit to support Cesium for Omniverse.

2Modify the USD Presenter .kit file

1Return to the install path and open the apps folder.

Return to the install path and open the apps folder.

2This folder contains .kit files, which are configuration files that describe the extensions and settings used by the application. Open omni.app.usd_presenter.kit in a text editor.

This folder contains .kit files, which are configuration files that describe the extensions and settings used by the application. Open omni.app.usd_presenter.kit in a text editor.
Information

In the following steps we will make changes to the application’s .kit file. It is recommended to make a backup to enable easy restoration of the original configuration. Alternatively, reinstalling the Omniverse application will restore the original files.

3Under the [dependencies] section of the .kit file, add the following new lines. This will tell the application that it requires Cesium for Omniverse as a dependency. 

Cesium for Omniverse

"cesium.omniverse" = {}

Add new lines under the [dependencies] section of the .kit file.

4Optional: prevent the Cesium for Omniverse user interface from loading automatically by adding the following line under the [settings] section of the .kit file.

exts."cesium.omniverse".showOnStartup = false

Add a line under the [settings] section of the .kit file.prevent the Cesium for Omniverse user interface from loading automatically.
Information

Cesium for Omniverse automatically displays the Cesium for Omniverse user interface on application load, which is useful for authoring applications such as USD Composer. However, applications such as USD Presenter need the functionality only to load Cesium tilesets from an existing USD, so the UI can be prevented from displaying on startup for a streamlined user experience.

3Verify the extension loads

1Return to the Omniverse launcher, and launch USD Presenter.

Return to the Omniverse launcher, and launch USD Presenter.

2If the application is successfully loading the Cesium for Omniverse extension, the Enable Fabric window should appear when the application loads. Click Yes to continue.

If the application is successfully loading the Cesium for Omniverse extension, the Enable Fabric window should appear when the application loads. Click Yes to continue.
Information

There are several reasons this window may not appear, including:

  • Changes have not been saved into the application’s Kit file.
  • The wrong Kit file has been modified.
  • Fabric is already enabled in your application.

Check the USD Presenter logs for further information on any errors during load.

3Open a USD file containing Cesium for Omniverse content. Your USD content along with Cesium tilesets should load correctly in USD Presenter.

Open a USD file containing Cesium for Omniverse content. Your USD content along with Cesium tilesets should load correctly in USD Presenter.
Information

If Cesium for Omniverse tilesets are not loading correctly, check the USD Presenter logs for more information on possible errors.

Next steps

Explore our USD Presenter tutorial for insights into useful functionality for your design projects.

Content and code examples at cesium.com/learn are available under the Apache 2.0 license. You can use the code examples in your commercial or non-commercial applications.