본문으로 건너뛰기

M10.01 · Stage·Prim·레이어·참조·인스턴싱

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 장면 경로에서 Stage·Prim·속성·관계를 구분하고 가상 객체의 참조 대상을 찾는다.
  • 단순한 직접 값의 레이어 강도를 적용하여 최종 값과 편집·저장 대상을 설명한다.
  • reference와 scenegraph instancing의 재사용/편집 범위를 비교하고 가상 비용 및 개별 변경 요구로 구성을 선택한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M08의 모델/자산 경로와 시각·물리 구분이 선수다. 기본은 경로·의견 표의 종이 분석이며 OpenUSD나 Isaac Sim 설치가 필요하지 않다. 실제 USD 합성 결과를 실행해 얻었다고 주장하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

파일과 최종 장면을 나누어 생각한다

OpenUSD는 장면을 기술하고 여러 자료를 합성하는 체계다. 여기서 Stage는 애플리케이션이 조회하는 합성된 장면이고 Prim은 그 장면 안의 객체다. Layer는 객체에 관한 의견을 저장하는 단위로 파일일 수도 있고 메모리의 익명 레이어일 수도 있다. 같은 Prim에 여러 파일의 내용이 기여할 수 있으므로 파일 하나와 화면의 객체 하나가 항상 일대일은 아니다. USD 장면을 읽는 것과 물리 엔진에서 운동시키는 것도 다른 단계다.

장면 계층과 합성 출처: Stage의 Prim 경로 → Layer의 의견 → Reference → 합성 결과.그림 원본 크기로 보기

그림 M10.01-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

Prim 경로 /World/Robot/Tool은 장면에서 객체를 찾는 주소다. /World/Robot 아래에 Tool이 있다는 계층을 나타내며 운영체제의 폴더 경로라는 뜻은 아니다. Prim은 Xform이나 Mesh 같은 타입, 자식, 속성과 메타데이터를 가질 수 있다. Attribute는 질량이나 색처럼 자료형이 있는 값이다. Relationship은 다른 객체/속성의 경로를 가리키는 연결이다. 예를 들어 Target의 사용자 정의 속성 label="cup"과 관계 observedBy→/World/Camera를 구분한다. 관계가 있다고 카메라가 실제 영상을 생산하도록 실행 코드가 자동 생성되지는 않는다.

이름을 바꾸면 해당 경로를 사용하는 센서 설정과 코드도 영향을 받는다. 따라서 장면을 수정할 때에는 ‘보이는 이름’만이 아니라 누가 그 경로를 조회하는지 조사한다. 참조 합성이 경로를 옮기는 경우 USD가 관리하는 관계 대상도 다시 매핑될 수 있지만, 외부 코드의 임의 문자열까지 모두 고쳐 준다고 기대하지 않는다. 기본 객체와 연결의 정의는 OpenUSD 공식 소개에서 확인한다.

값이 적힌 곳과 값이 보이는 곳

의견은 어떤 레이어에 작성한 값이나 설정이다. 이번에는 같은 경로의 같은 속성에 쓴 시간 불변의 직접 값만 비교한다. 변형 선택·상속·시간 샘플·값 차단 등은 없는 단순 사례다. 실제 USD 합성 전체가 ‘파일을 나중에 열면 이김’ 규칙인 것은 아니다. 레이어 스택과 합성 연결 종류의 강도 규칙이 있으므로 복잡한 경우에는 기여한 의견과 경로를 조사해야 한다.

가상 장면의 /World/Target에 있는 사용자 속성 task:massNoteKg를 보자. 이는 학습용 숫자 메모이며 물리 질량 스키마가 아니다. 약한 asset 레이어는 1.0, 더 강한 experiment 레이어는 1.2, 가장 강한 session 레이어는 0.8이라는 의견을 낸다고 명시하자. 이 조건의 최종 조회값은 0.8이다. 셋을 더해 3.0으로 만들거나 평균 1.0을 쓰지 않는다. 같은 물체에 대한 경쟁 의견이기 때문이다.

편집 대상 edit target은 새 의견을 어느 레이어에 쓸지 정한다. asset을 편집해 값을 1.5로 바꾸어도 session의 0.8이 남으면 조회값은 그대로다. 이것이 저장 실패의 증거는 아니다. 더 강한 의견에 가려졌을 수 있다. session의 해당 의견을 제거하면 experiment의 1.2가 드러나고, experiment의 의견도 제거하면 asset의 1.5가 드러난다. 0을 쓰는 것과 의견을 제거하는 것은 다르다. 0도 하나의 명시된 값이어서 약한 값을 계속 가릴 수 있다.

저장은 이 구분을 한 단계 더 요구한다. session은 임시 실험용 공간으로 쓸 수 있으며 UsdStage.Save는 session 레이어를 저장하지 않는다. 익명 레이어나 별도 의존 자산의 관리도 확인해야 한다. 다음 실행에서 실험을 다시 열려면 필요한 의견을 의도한 파일 레이어에 보존하고 그 레이어를 장면 구성에 포함해야 한다. 단지 화면에서 바뀌었다는 기록만으로 재현 가능한 자산이 만들어졌다고 보지 않는다. 공식 용어집의 Session Layer는 편집과 저장의 차이를 설명한다.

참조는 복사 없이 자산을 구성하는 연결이다

reference는 다른 자산의 Prim 내용을 현재 장면의 특정 Prim 아래로 가져오는 합성 연결이다. 예를 들어 원본 robot.usd의 /Robot을 /World/RobotA와 /World/RobotB에 각각 참조하면 장면에 두 배치가 생긴다. 각 배치의 위치를 달리하면서 원본 링크 구조를 재사용할 수 있다. 원본 전체 파일을 두 벌 복사하는 방법과 변경 전파/의존성 관리가 다르다. 참조 대상을 지정하지 않는 방식에는 defaultPrim 등 별도 조건이 있으므로 자산의 공개 진입점을 확인한다.

원본이 바뀌면 그 원본을 사용하는 장면도 영향을 받을 수 있으므로 파일 이름만 같게 두고 버전이 고정됐다고 말하지 않는다. 원본 경로/해시, 사용한 Prim, override 레이어를 함께 기록한다. 경로를 해석할 수 없는 자산이 있으면 참조가 선언됐다는 사실과 내용이 제대로 해석됐다는 사실을 나누어 검사한다. 화면에서 빈 모델을 본 뒤 무조건 좌표나 카메라 문제로 단정하지 않는다.

인스턴싱의 절약에는 편집 경계가 있다

scenegraph instancing은 호환되는 반복 자산의 하위 장면 구조를 공유하는 방식이다. reference를 여러 개 썼다고 항상 인스턴스가 되는 것은 아니다. instanceable 설정과 공유 가능한 합성 구조 등의 조건이 있다. 인스턴스 루트마다 배치 변환을 다르게 둘 수 있지만, 공유되는 하위 Prim을 각 인스턴스에서 마음대로 추가/삭제/override하는 방식에는 제약이 있다. RobotB만 손가락 모양을 바꿔야 한다면 공통 자산의 variant 설계, 별도 자산 또는 해당 배치의 비인스턴스화 같은 구조를 검토한다.

절약의 직관을 가상 비용으로 계산해 보자. 공유할 하위 구조 비용 S=100 단위, 배치별 비용 P=2 단위, 배치 수 N=10이라 정의한다. 독립 사본 모델은 N(S+P)=1020, 공유 모델은 S+NP=120이다. 차이는 900 비용 단위다. 이는 계산 학습을 위한 모형이며 실제 MB나 GPU 메모리 측정값이 아니다. 물리 상태·센서·렌더러의 비용까지 이 비율로 줄거나 실제 속도가 8.5배 빨라진다는 보장도 없다. N=1이면 두 모형 모두 102라서 반복 수가 적을 때 이 비용 가정의 이점은 사라진다.

또한 내부 prototype 경로는 실행마다 고정된 사용자 API가 아니다. 생성된 이름을 파일에 박아 두기보다 안정적인 장면 인스턴스 경로를 기준으로 관리한다. 공식 인스턴싱 설명과 기존 1.3 OpenUSD를 연결하면 원본·실험 의견·최종 조회값·공유 구조의 네 층을 분리할 수 있다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    1.3 OpenUSD 데이터 모델

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 요약 레슨 · 관련 기존 자료 · 보충 참고

    OpenUSD 장면을 비파괴적으로 구성하기

    목표 일부 관련

    핵심 요약 레슨입니다. 자세한 유도·수식·코드는 연결된 상세 본문을 함께 읽으세요.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문의 /World/Target과 /World/Camera, 세 레이어의 task:massNoteKg=1.0/1.2/0.8 및 명시된 약→강 순서다. 로봇 배치 N=10의 가상 비용 S=100/P=2도 사용한다. 실제 USD 출력이 아닌 종이 모형이다.

  1. Target, label="cup", observedBy→/World/Camera를 Prim/Attribute/Relationship으로 구분하고 관계가 센서 실행까지 보장하는지 설명한다.
  2. 최종 값을 구한다. asset만 1.5로 편집한 뒤 값, session 의견을 제거한 뒤 값도 구한다. 재실행에 필요한 편집/저장 기록을 제안한다.
  3. 독립/공유 비용을 계산하고, 열 번째 로봇의 하위 손가락만 바꿔야 할 때 인스턴싱의 제약과 대안을 설명한다.

관찰은 객체 구분·의견 추적·재사용 판단으로 나누어 적는다. 막히면 약한 값을 지우기 전에 어느 레이어가 조회값을 만드는지 표에 표시한다. 실제 자산을 덮어쓰거나 도구를 설치할 필요는 없다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 실습 원고 · 관련 기존 자료 · 보충 참고

    [SIM] 실습 1-2: OpenUSD 장면과 비파괴 Override

    목표 일부 관련

    실습 원고 참조. 로컬/ROS/Isaac/GPU/실물 실행과 장비 없는 기본 경로의 목표 검수는 미실시. 연결된 원고의 환경·절차를 확인하세요. 원고 열람은 실습 수행을 뜻하지 않습니다.

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    01_physical_ai_isaac_ros2/code/create_usd_scene.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

/World/Arm/Tool, Tool의 숫자 속성 temperatureNote=30, Tool의 관계 mountedCamera→/World/Camera를 구분하라. 이 관계만으로 센서 영상이 생성됐다고 말할 수 있는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

약한 asset의 값은 2, 강한 experiment는 3, 가장 강한 session은 4다. experiment만 5로 수정한 뒤 조회값은 무엇인가? session 의견을 제거하면 무엇이 보이며 Stage.Save만으로 session 기록이 보존되는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

S=80, P=3, N=4인 가상 비용에서 독립/공유 비용을 계산하라. 인스턴스 하나의 공유 하위 Prim만 개별 편집하려 할 때 무엇을 검토해야 하며 이 계산으로 실제 GPU 메모리 절약량을 확정할 수 있는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    Stage와 Layer를 Git working tree와 commit에 비유할 때 맞는 점과 틀린 점을 각각 쓰라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    Reference와 SubLayer를 각각 선택할 장면 구성 사례를 제시하라.

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

  • 기존 보고서 · 관련 기존 자료 · 보충 참고

    실습 보고서 · 기존 원고와 평가 안내

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 요약 점검 · 관련 기존 자료 · 보충 참고

    실험마다 물체 위치만 바꿀 때 가장 적절한 방법은?

    목표 일부 관련

    선택 정답만으로 독립 수행을 보장하지 않음

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

  • 기존 요약 점검 · 관련 기존 자료 · 보충 참고

    Stage와 Prim의 차이를 짧게 설명하세요.

    목표 일부 관련

    단답은 키워드 포함 여부이며 의미 이해를 보장하지 않음

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.