언리얼 엔진은 USD 스테이지 액터(USD Stage Actor) 및 USD 스테이지(USD Stage) 워크플로를 통해 USD를 지원합니다. 이 퀵스타트 가이드에서는 다음을 수행합니다.
- USD 스테이지 액터 생성하기
- USD 스테이지' 창을 사용하여 프로퍼티 편집하기
- USD 스테이지 액터에 새 프림 추가하기
- USD 파일에 데이터 다시 쓰기
- 시퀀서를 사용하여 USD 애니메이션 액세스하기
- 언리얼 엔진 프로젝트로 에셋 임포트하기
시작하기 전에 프로젝트에서 USD 임포터(USD Importer) 플러그인을 활성화해야 합니다. 자세한 내용은 플러그인으로 작업하기 페이지를 참고하세요.
필요한 사전 지식
이 페이지의 콘텐츠를 이해하고 사용하려면 다음 주제에 대한 사전 지식이 필요합니다.
이 튜토리얼은 Pixar의 주방 세트 USD 파일을 사용합니다. Pixar는 학습 및 데모를 위한 USD 샘플 파일 소규모 라이브러리를 관리합니다. 주방 세트 및 기타 샘플은 여기에서 다운로드할 수 있습니다.
1. USD 스테이지 액터 생성하기
USD 스테이지 패널을 열어서 USD 콘텐츠로 작업을 시작합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
레벨 에디터의 상단 메뉴에서 창(Window) > 버추얼 프로덕션(Virtual Production) > USD 스테이지(USD Stage) 를 선택합니다.
-
USD 스테이지 에디터(USD Stage Editor) 패널의 메뉴에서 파일(File) > 열기(Open) 를 선택하고 USD 파일로 이동합니다.
계층구조(Hierarchy) 섹션은 USD 파일의 씬 계층구조로 채워집니다.
USD 스테이지(USD Stage) 창의 계층구조(Hierarchy) 섹션은 주방 세트 콘텐츠로 채워집니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
언리얼 엔진에서 여는 각 USD 파일마다 USD 데이터의 앵커 역할을 하는 USD 스테이지(USD Stage) 액터가 필요합니다. 위에서 설명한 프로세스는 레벨에 자동으로 USD 스테이지 액터를 추가합니다.
액터 배치(Place Actors) 패널을 사용하여 USD 스테이지 액터를 추가할 수도 있습니다. 이 경우 디테일(Details) 패널의 루트 레이어(Root Layer) 옵션을 사용하여 관련된 USD 파일을 선택하면 됩니다.
2. USD 스테이지 창을 사용하여 프로퍼티 편집하기
USD 스테이지 에디터(USD Stage Editor) 창의 프로퍼티(Properties) 섹션을 사용하여 USD 스테이지 액터 및 프림의 프로퍼티를 편집할 수 있습니다.
USD 스테이지 액터의 상향 축 변경하기
-
USD 스테이지 창의 계층구조 상단에서 스테이지(Stage) 를 선택합니다. 프로퍼티(Properties) 섹션에서 upAxis 프로퍼티를 찾아 드롭다운 메뉴를 엽니다. USD 데이터에서 위를 나타내는 새 축을 선택합니다.
USD 데이터에 가장 잘 맞는 축을 선택합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
프림 베리언트 변경하기
-
USD 스테이지 에디터(USD Stage Editor)에서 옵션(Options) > 선택(Selection) 을 선택하고 에디터와 동기화(Synchronize with Editor) 를 활성화합니다. 그러면 언리얼 엔진 레벨과 USD 스테이지 에디터(USD Stage Editor) 창 사이에서 선택을 동기화합니다.
에디터와 동기화를 활성화하여 USD 스테이지와 언리얼 엔진 뷰포트 간 선택을 동기화합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
계층구조(Hierarchy) 섹션에서 Kitchen_Set 옆의 드롭다운 화살표를 클릭하여 그룹을 펼칩니다. Props_grp 을 펼쳐서 씬 안의 소품을 표시합니다.
-
West_grp 을 펼쳐서 개별 프림을 표시합니다. 주황색으로 하이라이트된 소품은 컴포지션 아크(composition arc) 에 있다는 것을 나타내며, 프림을 우클릭하여 이에 대한 레퍼런스를 추가하거나 지울 수 있습니다. 다른 우클릭 액션으로는 프림 추가 또는 제거, 페이로드 토글, 로드 또는 언로드 등이 있습니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
DiningTable_grp 을 펼쳐서 ChairB_1 를 선택합니다. 프로퍼티(Properties) 섹션에서는 다음 항목을 편집할 수 있습니다.
프로퍼티 설명 name 선택한 에셋의 이름을 표시합니다. path 선택한 에셋의 경로를 표시합니다. kind 선택된 에셋의 유형을 정의합니다.
- assembly : 모델의 컬렉션입니다.
- component : 서브컴포넌트를 포함하는 모델 유형입니다.
- group : 어셈블리 내의 모델 컬렉션입니다.
- model : kind의 베이스 유형입니다. 에셋은 컴포넌트 및 그룹을 구분하는 데 사용되는 추상적 공통성이므로 종류가 모델로 설정되어서는 안 됩니다. 자세한 내용은 Pixar USD 문서의 모델 계층구조를 참고하세요.
- subcomponent : 컴포넌트 내의 프림입니다. 모델 유형이 아닙니다.
purpose 로드할 초기 목적을 설정합니다. USD 스테이지 액터 및 인티저를 입력으로 사용합니다.
옵션은 다음과 같습니다.
- default
- proxy
- render
- guide
visibility 로드할 초기 목적을 설정합니다. USD 스테이지 액터 및 인티저를 입력으로 사용합니다.
옵션은 다음과 같습니다.
- inherited : 부모로부터 비저빌리티를 상속합니다.
- invisibile : 프림 및 해당 서브트리에 포함된 모든 프림이 렌더링되지 않습니다.
xformOp:rotateZ 선택된 에셋의 Z 회전을 정의합니다. xformOp:translate 에셋의 X, Y, Z 위치를 정의합니다. xformOpOrder 트랜스폼 연산이 에셋에 적용되는 순서를 표시합니다. modelingVariant 씬에 표시되고 있는 현재 베리언트를 정의합니다. 에셋에 하나 이상의 베리언트가 있는 경우에만 표시됩니다. 레퍼런스(References) 이 프림에 어태치된 모든 레퍼런스를 표시합니다. -
이 씬의 의자에는 ChairA 와 ChairB 라는 두 개의 베리언트가 있습니다. ChairB_1 을 선택한 상태로 프로퍼티 섹션의 베리언트(Variants) 섹션을 찾습니다. modelingVariant 를 ChairA 로 변경합니다. 그러면 씬에 사용된 의자 메시가 새 베리언트로 교체됩니다.
3. USD 스테이지 액터에 새 프림 추가하기
프림은 우클릭 메뉴를 사용하여 계층구조에서 추가하거나 제거할 수 있습니다. 추가한 후에는 해당 프로퍼티를 '프로퍼티' 섹션에서 편집할 수 있습니다.
주방 세트에 새 의자 추가하기
-
DiningTable_grp 항목을 계층구조에서 우클릭하고 메뉴에서 프림 추가(Add Prim) 를 선택합니다. 새 프림을 ChairB_3 으로 명명합니다.
USD 스테이지에 새 프림 추가 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
계층구조에서 새 프림을 선택합니다. 디테일(Details) 섹션에서 kind 를 component 로 변경합니다.
새 프림의 프로퍼티 변경. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
의자 USD 파일을 레퍼런스하여 스테이지로 가져옵니다. 계층구조에서 ChairB_3 을 우클릭하고 레퍼런스 추가(Add Reference) 를 선택합니다. 주방 세트 파일의 위치로 이동합니다. assets > Chair 폴더를 열고 Chair.usd 를 선택합니다. 열기(Open) 를 클릭합니다.
-
새 프림이 이제 의자 USD 데이터를 레퍼런스하고 ChairA 베리언트를 표시합니다. 새 프림은 레벨의 원점에 위치해야 합니다. 계층구조에서 ChairB_3 을 선택하고 modelingVariant를 ChairB 로 변경합니다.
-
뷰포트에서 새 의자를 클릭하고 트랜스폼 툴을 사용하여 테이블 근처에 의자를 배치합니다.
4. USD 파일에 데이터 다시 쓰기
USD 스테이지 액터를 사용하여 변경한 사항을 USD 파일에 다시 쓸 수 있습니다. USD 스테이지 패널에서 파일(File) > 저장(Save) 을 선택합니다.
5. 시퀀서를 사용하여 USD 애니메이션 액세스하기
USD 애니메이션에 액세스하기
USD 파일에 저장된 애니메이션은 USD 스테이지 액터에 의해 스폰된 특별히 생성된 레벨 시퀀스(레벨 시퀀스)를 통해 액세스할 수 있습니다.
-
아웃라이너(Outliner) 에서 UsdStageActor 를 선택합니다. 디테일(Details) 패널의 USD 섹션에서 레벨 시퀀스(Level Sequence) 를 찾습니다. 에셋을 더블클릭하여 시퀀서 에서 엽니다.
디테일(Details) 패널에서 레벨 시퀀스(Level Sequence)를 더블클릭합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
자세한 내용은 시네마틱과 시퀀서를 참조하세요.
의자 애니메이팅하기
3단계에서 생성한 새 프림 ChairB_3 에 애니메이션을 추가하려면 새 USD 파일을 생성하고 USD 스테이지 액터에 레이어로 추가합니다.
-
'USD 스테이지' 창의 레이어(Layers) 섹션에서 kitchen_set.usd 레이어를 우클릭하고 신규 추가(Add New) 를 선택합니다. 이 새 파일을 myanim.usda 로 저장합니다.
애니메이션에 대한 USD 데이터에 새 레이어를 추가합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
USD 레이어는 LIVRPS 구조를 사용하여 레이어가 씬의 최종 컴포지션에 어떤 영향을 미치는지 판별합니다. 애니메이션이 주방 세트에 영향을 미치려면 애니메이션을 포함하는 레이어가 레이어 구조에서 프림을 포함하는 씬보다 높아야 합니다. 레벨 에디터 상단 메뉴에서 창(Window) > 액터 배치(Place Actors) 를 선택하여 패널을 엽니다. 액터 배치(Place Actors) 패널에서 USD 스테이지 액터(Usd Stage Actor) 를 검색하고 새 사본을 레벨로 드래그합니다.
'액터 배치' 패널의 새 USD 액터. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
아웃라이너(Outliner) 에서 UsdStageActor 를 선택합니다. USD 스테이지(USD Stage) 패널에서 파일(File) > 열기(Open) 를 선택하고 myanim.usda 파일로 이동합니다.
-
myanim.usda 레이어를 우클릭하고 기존 추가(Add Existing) 옵션을 선택하여 레이어 스택으로 주방 세트를 다시 추가합니다. '파일' 창에서 kitchen_set.usd 파일로 이동하여 열기 를 클릭합니다.
-
애니메이션을 추가하기 전에 USD 스테이지가 애니메이션의 길이를 알아야 합니다. 계층구조에서 스테이지 프림을 클릭합니다. '프로퍼티' 섹션에서 endTimeCode 및 endFrame 값을 48 로 변경합니다.
endTimeCode 및 endFrame 프로퍼티를 변경합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
아웃라이너(Outliner) 에서 새 USD 스테이지 액터를 선택합니다. 디테일(Details) 패널에서 USD 섹션으로 스크롤을 내리고 레벨 시퀀스(Level Sequence) 를 찾습니다. 에셋을 더블클릭하여 시퀀서 에서 엽니다.
-
'시퀀서' 패널에서 + 트랙 버튼을 클릭하고 애니메이팅할 액터를 액터를 시퀀스로(Actor to Sequencer) 서브메뉴에서 선택합니다.
선택한 액터에 대해 새 트랙 그룹을 추가합니다. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
추가 (+) 버튼을 새 트랙에서 클릭하고 새 트랜스폼(Transform) 트랙을 생성합니다.
새 트랜스폼 트랙 추가. 이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
제자리에서 회전하는 의자를 애니메이팅합니다. 시퀀서에서 트랙을 사용하는 방법에 대한 자세한 정보는 트랙 페이지를 참조하세요.
-
'USD 스테이지' 창의 파일 > 저장 을 사용하여 USD에 데이터를 다시 씁니다.
6. 에셋을 언리얼 엔진 프로젝트로 임포트하기
USD 스테이지 액터에 표시된 액터는 다음 임포트 옵션 중 하나를 사용하여 언리얼 에디터의 '콘텐츠 브라우저(Content Browser)'로 임포트할 수 있습니다.
- 파일(File) > 레벨로 임포트(Import Into Level) 사용. 이 프로세스는 스태틱 메시, 스켈레탈 메시, 머티리얼, 텍스처 같은 에셋과 액터를 모두 임포트합니다.
- 콘텐츠 브라우저(Content Browser) 에서 추가(Add)/임포트(Import) 사용. 이 프로세스는 에셋만 임포트합니다.
- 파일을 콘텐츠 브라우저(Content Browser) 에 드래그 앤 드롭. 이 프로세스는 에셋만 임포트합니다.
- USD 스테이지 에디터(USD Stage Editor) 창에서 액션(Action) > 임포트(Import) 옵션 사용. 이 프로세스는 USD 스테이지 액터의 모든 항목을 임포트하며 에셋 및 액터에서 모두 작동합니다. 임포트 프로세스가 완료된 뒤 USD 스테이지의 에셋을 콘텐츠 브라우저(Content Browser) 의 새 액터로 대체할 수 있습니다.
언리얼 엔진으로 주방 세트 임포트하기
-
USD 스테이지(USD Stage) 창에서 주방 세트를 연 상태에서 액션(Actions) 메뉴를 열고 임포트(Import) 를 선택합니다.
-
임포트된 에셋을 저장할 위치를 선택합니다. 이 예시에서 주방 세트를 임포트하면 선택된 위치에 Kitchen_set 라는 폴더가 생성됩니다. 머티리얼과 스태틱 메시가 별도의 하위 폴더에 저장됩니다.