Add Simple Objects#

This tutorial guides you through the basic GUI functions that add objects to the stage. It also introduces inspecting and modifying their physics and material properties.

Learning Objectives#

This tutorial covers how to:

  • Add and manipulate simple shapes

  • Enable physics properties in objects

  • Examine collision properties

  • Edit physics properties such as friction

  • Edit material properties such as color and reflectivity

Getting Started#

Prerequisites

Adding Objects to the Scene#

There are many ways to “add objects” to the stage, but all of them fundamentally do the same thing, which is to define a USD primitive in the stage context tree. Our goal is to create a simple, two wheeled robot, so we will start by creating some simple shapes and modifying their properties. For the body, we will use a cube and for the wheels we will use cylinders.

To create the body of the robot…

  1. Create a cube clicking Create > Shapes > Cube in the top menu bar. You should see the cube and the Move gizmo (the red, blue, and green arrows) appear in the viewport window

  2. Click and drag on the blue arrow to raise the cube above the ground plane.

  3. On the left side of the app, click the Scale icon (or press the R key while the cube is selected) to activate the scale widget

  4. Click and drag on the red part of the widget to scale the cube in the x direction

  5. We need the cube in a specific location. Navigate to Transform > translate in the property pane, and fix the translation of the cuboid to (0, 0, 1) and the scale to (1, 2, 0.5).

Next, we create the wheels of the robot…

  1. In the same manner as above, add a cylinder to the stage

  2. Change its Geometry > Radius to 0.5 and Geometry > Height to 1.0 int he properties tab.

  3. Place it at x = 1.5 and z = 1.0, and rotate it around the y-axis by 90 degrees.

  4. Duplicate the cylinder by right clicking it on the stage tree, select Duplicate, and move it to x = -1.5 while keeping all other parameters the same.

Important

There is a known bug in the 2022.2.0 release that typing directly in the property window does not work for orientation transform in Euler angle. This can be worked around by typing in the quaternion angles instead, or using the gizmo directly.

Adding Physics Properties#

The cubes and cylinders we have added so far are strictly visual prims, with no physics or collision properties attached to them. When you start the simulation by pressing Play and gravity is applied, these objects do not move because they are unaffected by physics. Let’s turn them into rigid bodies with collision properties, as a robot should be.

  1. Select the Cube and both Cylinders on the stage tree by clicking while holding down the Ctrl + Shift key to select each object, or just Shift if they are consecutively listed on the tree.

  2. In the Property tab, click on the + Add button, and select Physics > Rigid Body with Colliders Preset.

  3. Press Play and verify that all three objects fall to the ground.

“Rigid Body with Colliders Preset” automatically adds the Rigid Body API and the Collision API to the objects. These two APIs can be applied separately because you can have objects that:

  • have mass and are affected by gravity, but have no collision properties so you can pass through them

  • you can run into but hang in the air and are not affected by gravity

To validate, add, or remove APIs assigned to the selected object:

  1. Go to its Property tab, and scroll down to find sections labeled Rigid Body and Collider.

  2. To add the APIs separately, find them under the same + Add button.

  3. To remove APIs, click on the X to delete the section.

Examine Collision Meshes#

To visually examine the outlines of collision meshes for the objects:

  1. Find the eye icon on top of the viewport.

  2. Click Show By Type > Physics > Colliders > All.

  3. Verify that purple outlines show up surrounding any objects that have collision APIs applied. In this tutorial, verify that it is the cuboid, the cylinders, and the ground plane.

../_images/isaac_tutorial_gui_collision.png

Adding Contact and Friction Parameters#

For modifying frictional properties, you must create a different physics material and then assign it to the desired object.

  1. Go to the Menu Bar and click Create > Physics > Physics Material.

  2. Select Rigid Body Material in the popup box. A new PhysicsMaterial appears on the stage tree.

  3. Tune the parameters such as friction coefficients and restitution in its property tab.

To apply the assigned physics material to an object:

  1. Select the object in the stage tree.

  2. Find the menu item Materials on Selected Model in the Property tab.

  3. Select the desired material in the drop-down menu.

../_images/isaac_tutorial_gui_materials.png

Material Properties#

The objects may reflect the color of the spotlight added earlier, but it doesn’t actually have any colors assigned. You can confirm this by turning off the spotlight.

../_images/isaac_tutorial_gui_toggle_spotlight.gif

To change the color of the object, create a different material and then assign it to the objects, just like with the physics materials. For this tutorial, create two different materials, one for the body of the car and one for the wheels.

  1. Click Create -> Materials -> OmniPBR twice.

  2. Right-click on the newly added materials on the stage tree and rename them to body and wheel.

  3. Assign the corresponding rigid bodies to the newly created materials by going to the Materials on selected models item in its Property tab, and select the matching material from the dropdown.

  4. Change the property of the new materials. Select one of them on the stage tree, change its base color in Material and Shader/Albedo and play with its reflectivity roughness and whatever else you find interesting.

  5. Verify that you see the color of the corresponding parts on the car change accordingly.

Summary#

This tutorial explained how to add and manipulate object properties in the GUI, including:

  1. Adding primitive shapes onto the Stage.

  2. Editing material properties, physics properties, and collision properties.

Next Steps#

  • Continue to Working with USD to learn how to save your world and load assets in USD format inside Isaac Sim.

  • Go to Assemble a Simple Robot to learn how to turn these geometries into a moving car.

Further Reading#

More on Materials as part of Omniverse USD Composer.