The Omniverse connector element is used to configure the connection between the AnyLogic model and the NVIDIA Omniverse scene.
An AnyLogic model may only have one Omniverse connector element; the presence of more is considered an error.
To configure the connection between the model and the USD scene, drag and drop the Omniverse connector element from the Presentation palette onto the graphical diagram of any agent of the model. Do not add the connector element to the experiment diagram: it will not work that way.
In addition to the connector itself, this section also describes the Omniverse properties of other AnyLogic elements that are enabled when the connector is present in the model. See Miscellaneous elements below.
- General
-
Name — The name of the element. It is used to identify and access the element from code.
Ignore — If selected, the element is excluded from the model.
Visible on upper agent — If selected, the element will also be visible on the upper agent where this agent lives.
Visible — The visibility of the element. The element is visible if the specified expression evaluates to true, otherwise it is not visible.
Connection mode — Either Live session, which enables you to connect directly to the scene launched in Omniverse, or Kit SDK plugin , which allows you to launch scenes locally via NVIDIA Kit for Omniverse.
Scene path — Depending on Connection mode:
-
For Live session — The full path to the primary Omniverse USD containing the scene. This should include the protocol (omniverse://) and the .usd file extension. For this to work properly, the scene should be rendered in AnyLogic beforehand. An example path is: omniverse://localhost/scenes/airport.usd.
The server can be both on the same machine or anywhere on your network. If the server is on the same machine, enter localhost in the path.
If the connector was added to the model after the actual rendering, the path should be set up automatically. If this is not the case, make sure the path points to the USD file of the pre-rendered base scene, not to one of various 3D shapes that were rendered at the time. - For Kit SDK plugin — The path to the primary USD file containing the scene (in Omniverse or local, depending on the connector settings). It should include the .usd file extension.
Start connector at model startup — [Visible if Connection mode: Live session] If selected, the Omniverse connector will connect to the Omniverse server specified in Scene path when the model run is started.
Connector password — [Visible if Connection mode: Kit SDK plugin or Start connector at model startup is disabled] Sets the password that you will use to establish the connection to a running model via the live session or NVIDIA Kit. For more information, see Launching the connector from another computer.
Use rendered 3D objects — [Visible if Connection mode: Live session] If selected, the model will use the 3D models for objects pre-rendered separately (enabled by selecting the corresponding option in the Render model dialog).
Open the scene in Composer at startup — [Visible if Connection mode: Live session] If selected, AnyLogic will open a ComposerAn Omniverse application which is used to assemble, light, simulate, and render 3D scenes in Omniverse. window containing the primary scene when the model run is started. This option works if Composer is installed on the same computer.
-
For Live session — The full path to the primary Omniverse USD containing the scene. This should include the protocol (omniverse://) and the .usd file extension. For this to work properly, the scene should be rendered in AnyLogic beforehand. An example path is: omniverse://localhost/scenes/airport.usd.
- Advanced
-
Show name — If selected, the element name will be displayed on the presentation diagram.
Connector port — Specify the output network port AnyLogic will use to connect to the Omniverse server. The port should not be busy when the connection is established. By default, the 4566 port is used.
Y-axis inversion — If selected, the Y-axis inversion for the model representation in Omniverse is enabled.
Transform coordinates globally — This section allows you to apply transformation functions to the scene when changing the coordinates, rotation, or proportions between the Anylogic model and the Omniverse scene.
In all these fields, the position variable (of the built-in AnyLogic Position class that contains the coordinates and rotation angles) can be used to obtain the original coordinates of the objects.dX — The function that returns the change in the X coordinate, in pixels.
dY — The function that returns the change in the Y coordinate, in pixels.
dZ — The function that returns the change in the Z coordinate, in pixels.
Rotation X, rad — The function that returns the rotation around the X axis, in radians.
Rotation Y, rad — The function that returns the rotation around the Y axis, in radians.
Rotation Z, rad — The function that returns the rotation around the Z axis, in radians.
Scale X — The function that returns the change in the object’s scale in the X axis.
Scale Y — The function that returns the change in the object’s scale in the Y axis.
Scale Z — The function that returns the change in the object’s scale in the Z axis.
When Omniverse connection is enabled (simply put, when the Omniverse connector element is present in the model), the Omniverse section becomes available in the properties of many elements in AnyLogic; specifically, it affects any kind of element that has a graphical representation (markup shapes, geometric elements, walls, networks, and so on), with slight difference when it comes to 3D objects and agents.
This section covers these properties and their specifics.
- Agent types
-
Bind to USD — Configures how exactly the graphical representation of an agent (a primShort for “primitive”, the prim is the basic unit of Omniverse. Everything that is imported or created into a USD scene is a prim. This includes cameras, sounds, lights, meshes, and so on. Technically, a primitive is a container of metadata and properties that can also contain other prims. ) will be generated in Omniverse.
None — No association will be between this agent and a prim in Omniverse. This is the recommended behavior for top-level agents used during rendering, since they are, in fact, serve as the base Omniverse scene anyway.
Create new prim — If selected, the specified prim from outside the base scene will be used to graphically represent the agent during model runtime. This is used when an agent is not present during the initial state of the model (before startup) and does not have anything linking to it from a top-level agent (such as a presentation), but is generated and appears there at runtime (such as a pedestrian from the PedSource block). Since the graphical representation of the agent is not present in the initial scene, it should be rendered separately and included in the model using this setting.USD path — [Visible if Bind to USD: Create new prim] The path to the external prim which will be used for the element. Should include both protocol (omniverse://) and the USD file extension.
Attributes and variants — [Visible if Bind to USD: Existing prim or Create new prim] Select this to access additional settings for the prim, allowing you to pass values to modify attributes and variants within Omniverse.
A separate rule can be added by clicking the Add button.Name — The name of the modified attribute or variant.
Value — The new value for the attribute or variant.
Is variant — Determines whether the modified setting is a variant or an attribute (a variant if selected, an attribute otherwise). - 3D objects
-
Bind to USD — Configures how exactly the graphical representation of a 3D object (a primShort for “primitive”, the prim is the basic unit of Omniverse. Everything that is imported or created into a USD scene is a prim. This includes cameras, sounds, lights, meshes, and so on. Technically, a primitive is a container of metadata and properties that can also contain other prims. ) will be generated in Omniverse.
None — No association will be between this object and a prim in Omniverse.
Existing prim — If selected, the object will be associated with one of the embedded prims on the base scene.
Create new prim — If selected, the specified prim from outside the base scene will be used to graphically represent the object during model runtime.USD path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the embedded prim in the base scene, or the external prim that will be used for the element. If Bind to USD: Create new prim, should include the USD file extension and the protocol (omniverse://).
Attributes and variants — [Visible if Bind to USD: Existing prim or Create new prim] Select this to access additional settings for the prim, allowing you to pass values to modify attributes and variants within Omniverse.
A separate rule can be added by clicking the Add button.Name — The name of the modified attribute or variant.
Value — The new value for the attribute or variant.
Is variant — Determines whether the modified setting is a variant or an attribute (a variant if selected, an attribute otherwise).Ignore rendered 3D object — If selected, the model will ignore the 3D model for this object created during pre-render. See more about this feature in Rendering the model.
- Jib cranes
-
Bind to USD — Configures how exactly the graphical representation of an element (a primShort for “primitive”, the prim is the basic unit of Omniverse. Everything that is imported or created into a USD scene is a prim. This includes cameras, sounds, lights, meshes, and so on. Technically, a primitive is a container of metadata and properties that can also contain other prims. ) will be generated in Omniverse.
None — No association will be between this element and a prim in Omniverse.
Existing prim — If selected, the element will be associated with one of the embedded prims on the base scene.
Create new prim — If selected, the specified prim from outside the base scene will be used to graphically represent the element during model runtime.USD path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the embedded prim in the base scene, or the external prim that will be used for the element. If Bind to USD: Create new prim, should include the USD file extension and the protocol (omniverse://).
Attributes and variants — [Visible if Bind to USD: Existing prim or Create new prim] Select this to access additional settings for the prim, allowing you to pass values to modify attributes and variants within Omniverse.
A separate rule can be added by clicking the Add button.Name — The name of the modified attribute or variant.
Value — The new value for the attribute or variant.
Is variant — Determines whether the modified setting is a variant or an attribute (a variant if selected, an attribute otherwise).Jib prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s jib. Should include the USD file extension.
Trolley prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s trolley. Should include the USD file extension.
Hook prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s hook. Should include the USD file extension.
- Overhead cranes
-
Bind to USD — Configures how exactly the graphical representation of an element (a primShort for “primitive”, the prim is the basic unit of Omniverse. Everything that is imported or created into a USD scene is a prim. This includes cameras, sounds, lights, meshes, and so on. Technically, a primitive is a container of metadata and properties that can also contain other prims. ) will be generated in Omniverse.
None — No association will be between this element and a prim in Omniverse.
Existing prim — If selected, the element will be associated with one of the embedded prims on the base scene.
Create new prim — If selected, the specified prim from outside the base scene will be used to graphically represent the element during model runtime.USD path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the embedded prim in the base scene, or the external prim that will be used for the element. If Bind to USD: Create new prim, should include the USD file extension and the protocol (omniverse://).
Attributes and variants — [Visible if Bind to USD: Existing prim or Create new prim] Select this to access additional settings for the prim, allowing you to pass values to modify attributes and variants within Omniverse.
A separate rule can be added by clicking the Add button.Name — The name of the modified attribute or variant.
Value — The new value for the attribute or variant.
Is variant — Determines whether the modified setting is a variant or an attribute (a variant if selected, an attribute otherwise).Bridge prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s bridge. Should include the USD file extension.
Trolley prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s trolley. Should include the USD file extension.
Hook prim path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the prim (in Omniverse or local, depending on the connector settings) that will be used for the crane’s hook. Should include the USD file extension.
- Other elements
-
Bind to USD — Configures how exactly the graphical representation of an element (a primShort for “primitive”, the prim is the basic unit of Omniverse. Everything that is imported or created into a USD scene is a prim. This includes cameras, sounds, lights, meshes, and so on. Technically, a primitive is a container of metadata and properties that can also contain other prims. ) will be generated in Omniverse.
None — No association will be between this element and a prim in Omniverse.
Existing prim — If selected, the element will be associated with one of the embedded prims on the base scene.
Create new prim — If selected, the specified prim from outside the base scene will be used to graphically represent the element during model runtime.USD path — [Visible if Bind to USD: Existing prim or Create new prim] The path to the embedded prim in the base scene, or the external prim that will be used for the element. If Bind to USD: Create new prim, should include the USD file extension and the protocol (omniverse://).
Attributes and variants — [Visible if Bind to USD: Existing prim or Create new prim] Select this to access additional settings for the prim, allowing you to pass values to modify attributes and variants within Omniverse.
A separate rule can be added by clicking the Add button.Name — The name of the modified attribute or variant.
Value — The new value for the attribute or variant.
Is variant — Determines whether the modified setting is a variant or an attribute (a variant if selected, an attribute otherwise).
-
How can we improve this article?
-