from isaacsim import SimulationApp
CONFIG = {
"width": 1280,
"height": 720,
"window_width": 1920,
"window_height": 1080,
"headless": True,
"hide_ui": False, # Show the GUI
"renderer": "RaytracedLighting",
"display_options": 3286, # Set display options to show default grid
}
kit = SimulationApp(launch_config=CONFIG)
def on_physics_step(step_size) -> None:
pass
def init(kit):
from isaacsim.core.utils.extensions import enable_extension
from isaacsim.core.api import World
from isaacsim.core.api.objects import DynamicCuboid, VisualCuboid
import numpy as np
kit.set_setting("/app/window/drawMouse", True)
enable_extension("omni.services.livestream.nvcf")
world = World(stage_units_in_meters=1.0, physics_dt=1/50, rendering_dt=1/50)
world._physics_context.set_gravity(-10)
world.scene.add_default_ground_plane()
world.add_physics_callback("physics_step", callback_fn=on_physics_step)
cube_1 = world.scene.add(
DynamicCuboid(
prim_path="/new_cube_2",
name="cube_1",
position=np.array([0, 0, 1.0]),
scale=np.array([0.6, 0.5, 0.2]),
size=1.0,
color=np.array([255, 0, 0]),
)
)
return world
def run(kit, world):
world.reset()
index = 0
while kit._app.is_running() and not kit.is_exiting():
if index %10 ==0:
world.step(render=True)
index +=1
kit.close()
if __name__ == '__main__':
world = init(kit)
run(kit, world)