Isaac Sim 한글 가이드

NVIDIA Isaac Sim 5.1/6.0 핵심 장점과 헤드리스로 직접 검증한 데모

01. RTX 광선 추적 렌더링

Rendering · 검증 환경: Isaac Sim 6.0.0-dev2 / RTX PRO 6000 Blackwell

Isaac Sim의 렌더러는 Omniverse RTX 렌더러를 그대로 사용한다. 광선 추적 (RealTime)은 RT 코어로 실시간에 가까운 1차 반사·그림자, 패스 트레이싱은 다중 바운스 GI·코스틱스까지 정확하게 풀어낸다. UsdPreviewSurface · MDL 표준 머티리얼이 그대로 동작하고, 헤드리스 모드에서도 동일한 품질로 SDG 파이프라인을 자동화할 수 있다.

이 기능의 강점

구현 방법

SimulationApp({"headless": True, "renderer": "RayTracedLighting"})로 부팅, UsdLux 돔라이트 + UsdShade UsdPreviewSurface 머티리얼을 prim에 바인딩, Replicator create.camera + create.render_product + BasicWriter로 PNG 출력.

최소 데모

RTX RealTime 모드 — Chrome / Matte / Glass 구체와 돔라이트의 GI.
RTX RealTime 모드 — Chrome / Matte / Glass 구체와 돔라이트의 GI.

검증 결과

크롬 구는 다른 구의 색을 표면에 반사하고, 유리 구는 반투명·내부 반사가, 무광 구는 부드러운 그림자만 떨어진다.

핵심 코드 발췌

from isaacsim import SimulationApp
sim = SimulationApp({"headless": True, "renderer": "RayTracedLighting"})

import omni.replicator.core as rep
from pxr import UsdShade, UsdLux, Sdf

rep.functional.create.dome_light(intensity=1500, parent="/World", name="Dome")
mat = UsdShade.Material.Define(stage, "/World/Chrome")
shd = UsdShade.Shader.Define(stage, "/World/Chrome/S")
shd.CreateIdAttr("UsdPreviewSurface")
shd.CreateInput("metallic", Sdf.ValueTypeNames.Float).Set(1.0)
shd.CreateInput("roughness", Sdf.ValueTypeNames.Float).Set(0.05)
mat.CreateSurfaceOutput().ConnectToSource(shd.ConnectableAPI(), "surface")

cam = rep.functional.create.camera(position=(3.5,-3.5,2), look_at=(0,0,0.5))
rp = rep.create.render_product(cam, (1280, 720))
writer = rep.writers.get("BasicWriter")
writer.initialize(backend=rep.backends.get("DiskBackend"), rgb=True)
writer.attach(rp)
rep.orchestrator.step()
코드 다운로드 (zip)

실무 예제 — Simple_Warehouse + Spot 로봇 + 패스 트레이싱

NVIDIA 공식 자산 Simple_Warehouse 환경Boston Dynamics Spot 로봇을 동시에 로드하고, /rtx/rendermode = "PathTracing" 모드로 다중 바운스 GI를 적용한 산업 SDG 시나리오 렌더.

창고 환경 + 노란색 Spot 사족 보행 로봇 — 같은 GPU에서 패스 트레이싱 렌더.
창고 환경 + 노란색 Spot 사족 보행 로봇 — 같은 GPU에서 패스 트레이싱 렌더.

창고의 콘크리트 바닥, 적재 선반, Spot의 보행 자세가 실제 공장 데이터셋에 가까운 톤으로 렌더된다. get_assets_root_path URL 한 줄로 Boston Dynamics 로봇 USD를 그대로 끌어와 사용.

실무 데모 코드

from isaacsim.storage.native import get_assets_root_path
from isaacsim.core.utils.stage import add_reference_to_stage
import carb.settings

s = carb.settings.get_settings()
s.set("/rtx/rendermode", "PathTracing")
s.set("/rtx/pathtracing/spp", 32)

assets = get_assets_root_path()
add_reference_to_stage(usd_path=assets + "/Isaac/Environments/Simple_Warehouse/warehouse.usd",
                       prim_path="/World/Warehouse")
add_reference_to_stage(usd_path=assets + "/Isaac/Robots/BostonDynamics/spot/spot.usd",
                       prim_path="/World/Spot")
실무 데모 코드 zip