이 퀵스타트 페이지는 인카메라 VFX로 작업하기 위해 언리얼 엔진에서 프로젝트를 구성하는 프로세스를 보여줍니다. 이 가이드를 끝까지 읽고 나면 다음과 같은 작업을 할 수 있습니다.
-
동기화된 nDisplay 노드 클러스터를 만들 수 있습니다.
-
인카메라 VFX를 위해 내부 및 외부 프러스텀을 만들 수 있습니다.
-
라이브 링크 XR을 통해 통합된 리얼타임 카메라 트래킹 시스템을 만들 수 있습니다.
-
토글 가능한 크로마키 마커가 있는 그린 스크린 내부 프러스텀을 만들 수 있습니다.
-
모든 클러스터 노드를 실행하고 세트에서 테스트할 수 있습니다.
1단계 - 인카메라 VFX를 위한 프로젝트 구성
인카메라 VFX 프로젝트를 가장 쉽게 구성하는 방법은 인카메라 VFX 예시 프로젝트를 사용하는 것입니다.
-
에픽게임즈 런처 를 엽니다.
-
샘플(Samples) 탭에서 인카메라 VFX 예시 프로젝트를 찾습니다.
-
프로젝트 페이지에서 무료(Free) 를 클릭합니다.
-
프로젝트 생성(Create Project) 을 클릭합니다.
-
머신에서 프로젝트를 저장할 위치를 지정하고 생성(Create) 을 선택합니다.
-
언리얼 엔진 을 실행하고 인카메라 VFX 예시 프로젝트를 엽니다.
예시 프로젝트에는 Content > Maps 에 Main 레벨이 있습니다. 언리얼 엔진의 인카메라 VFX에 대해 알아보려면 Main 레벨을 엽니다. 예시 프로젝트 및 레벨은 필수 플러그인을 자동으로 활성화하여 유용한 블루프린트를 제공하고, 추가 세팅을 환경설정하며, 샘플 환경설정 파일을 포함합니다.
플러그인
-
Aja 또는 Blackmagic 미디어 플레이어: SDI 캡처 카드 지원을 제공합니다.
-
카메라 캘리브레이션(Camera Calibration): 렌즈 디스토션 프로파일 및 노달 오프셋을 만들기 위한 툴입니다.
-
색 보정 영역(Color Correct Regions): 색 보정 및 셰이딩이 볼륨으로 제한됩니다.
-
ICVFX: 인카메라 VFX 플러그인의 베이스 툴세트를 활성화하는 플러그인입니다.
-
레벨 스냅샷(Level Snapshots): 현재 레벨의 편리한 변경 유지 베리에이션을 위해 대체 레이아웃을 저장합니다. 필터링 기능이 포함됩니다.
-
라이브 링크(Live Link): 모션 캡처, 카메라 트래킹 등 라이브 데이터 수집을 위한 언리얼 엔진의 API입니다.
-
nDisplay 라이브 링크: 라이브 링크 데이터를 받고 트래킹 데이터를 효율적, 동시적으로 재배포하는 기본 노드입니다.
-
라이브 링크 XR: Vive Tracker 등 XR 디바이스로부터 라이브 데이터를 수집하기 위한 언리얼 엔진의 API입니다.
-
멀티 유저 편집(Multi-User Editing): 다수의 편집자가 공유 세션에 있을 수 있습니다.
-
미디어 프레임워크 유틸리티(Media Framework Utilities): SDI 캡처 카드의 라이브 비디오, 타임코드, 젠록과 연관된 유틸리티 플러그인입니다.
-
nDisplay: 다수의 디스플레이에서 렌더링하기 위한 언리얼 엔진 기술입니다.
-
nDisplay 레벨 스냅샷 지원(nDisplay Support for Level Snapshots): 레벨 스냅샷으로 nDisplay 루트 액터 프로퍼티의 저장 및 복원을 지원합니다.
-
OpenColorIO(OCIO): OpenColorIO 지원을 제공합니다.
-
OSC: 원격 클라이언트 또는 애플리케이션 간에 OSC 메시지를 주고받는 기능을 제공합니다.
-
원격 제어 API(Remote Control API): REST API, 웹 소켓, C++를 통해 엔진을 원격 제어하기 위한 툴세트입니다.
-
리모트 컨트롤 웹 인터페이스(Remote Control Web Interface): 에디터 원격 제어를 위한 원격 웹 인터페이스 및 UI 빌더를 제공합니다.
-
스위치보드(Switchboard): 언리얼 인스턴스, nDisplay 노드, 기타 버추얼 프로덕션 디바이스를 멀티 유저 세션에서 실행하기 위한 애플리케이션입니다.
-
시간 데이터 모니터(Timed Data Monitor): 시간 동기화될 수 있는 입력을 모니터링하는 유틸리티입니다.
-
버추얼 프로덕션 유틸리티(Virtual Production Utilities): 버추얼 프로덕션에 유용한 유틸리티 플러그인입니다.
nDisplay 루트 액터
nDisplay 환경설정 에셋은 nDisplay 클러스터의 컴퓨터 간 관계와 LED 볼륨의 토폴로지를 정의합니다. nDisplay 루트 액터는 nDisplay 환경설정 에셋의 레벨 내 인스턴스이며 nDisplay 환경설정 에셋을 레벨로 드래그하여 생성됩니다.
샘플 nDisplay 환경설정 에셋은 예시 프로젝트에 포함되어 있습니다. 이는 콘텐츠 브라우저의 nDisplayConfigs에 있습니다. nDisplay 루트 액터에 노출된 세팅에 대한 자세한 내용은 nDisplay 루트 액터 레퍼런스를 참고하세요.
2단계 - LED 패널 지오메트리 생성
이 섹션은 곡면 LED 월의 표현을 생성하는 예시를 제공합니다. 각 LED 볼륨은 다를 수 있으므로 디스플레이의 치수 및 레이아웃에 맞게 이 단계를 수정하세요.
이 단계는 현실 LED 패널을 표현하기 위해 지오메트리를 생성하는 방법을 보여줍니다.
이 예시에서 곡면 월은 두 개의 메시로 생성됩니다. 각 메시는 nDisplay 뷰포트에 매핑됩니다. LED 스테이지가 메시로 분할되는 방법을 정의하는 요인이 몇 가지 있습니다.
-
각도(Angle): 커버처의 최대 이상적 각도는 메시당 90도입니다. 메시당 90도를 초과하는 커브는 비주얼 저하를 유발할 수 있습니다. 또한 단일 뷰포트(즉, 메시)는 179도까지만 커버할 수 있습니다.
-
해상도(Resolution): UHD(3840x2160)는 단일 GPU nDisplay 뷰포트에서 렌더링의 적절한 상한입니다. 다수의 GPU가 있는 머신의 경우 더 큰 디스플레이 해상도를 아우르는 다수의 뷰포트를 가질 수 있습니다. 어느 쪽이든 각 머신 및 뷰포트를 렌더링할 최대 해상도가 증가하는 만큼 LED 패널의 해상도를 기반으로 스테이지 메시를 분리하세요. 패널별 해상도에 대한 상세 정보는 LED 제조사를 참고하세요.
-
컨트롤(Control): 라이팅 및 리플렉션에만 실링 패널을 사용하고 카메라에는 나타나지 않는다면 실링과 측면 월 간의 컨트롤을 분리하고 싶을 수 있습니다. 이는 LED 패널이 서로 다른 모델이고 서로 다른 컬러 관리를 요하는 경우 더욱 그렇습니다. 컬러 관리는 뷰포트별로 제어되므로 서로 다른 패널들을 별도의 메시로 분리해야 합니다.
이는 토폴로지를 메시(뷰포트)로 분리하는 방법에 대한 고려 사항입니다. 단일 머신이 실링과 월 등 다수의 뷰포트를 렌더링하는 것은 흔한 일입니다. 단일 노드에서 별도의 뷰포트에 있어야 한다는 것이 중요합니다.
각 메시는 두 개의 UV 세트를 특정 순서로 가져야 합니다. 첫 번째 UV 세트는 nDisplay용 PICP 메시 투영 정책을 위해 투영을 계산하는 데 사용됩니다. 두 번째 UV 세트는 크로마키 트래킹 마커가 두 뷰포트 사이의 이음새를 적절히 이동하는 데 사용됩니다.
이 예시 메시의 각 스퀘어는 2.6mm 픽셀 피치의 500mm x 500mm LED 패널을 나타냅니다.
곡면 LED 월의 메시 표현입니다. 이미지를 클릭하면 확대됩니다.
메시는 현실 LED 패널과 일치하도록 위치 및 오리엔테이션이 모델링되어야 합니다. 이 예시에서는 수직으로 모델링됩니다. 지오메트리는 cm 단위로 스케일 조절되도록 모델링되어야 합니다.
다음 사양으로 UV 세트를 생성합니다.
-
첫 UV 세트는 전체 UV 스페이스를 0~1 범위로 커버하도록 스케일 조절되어야 합니다. 이 UV 세트는 스트레칭을 피하도록 최대한 균등하게 펼쳐져야 합니다. 스케일링은 비균등일 수 있습니다. UV 에지에 패딩이 없고 UV가 0~1 범위를 벗어나지 않는지 확인해야 합니다.
-
두 번째 UV 세트는 실제 하드웨어 환경설정과 이음새가 일치하도록 UV가 정렬되어야 합니다. 종횡비도 메시와 동일해야 합니다.
메시가 생성되면 3D 모델링 소프트웨어에서 지오메트리를 익스포트하고 언리얼 프로젝트로 임포트합니다. 이 예시 메시를 다운로드하고 파일을 콘텐츠 브라우저 에서 Content/nDisplayConfigs/Meshes 폴더로 드래그하여 다음 섹션의 단계를 따릅니다.
메시가 언리얼 프로젝트로 임포트되면 최대 정밀도 UV 사용(Use Full Precision UVs) 을 각 메시에서 활성화하여 UV 아티팩트를 방지합니다. 각 임포트된 메시에서 다음 단계를 따릅니다.
- 임포트된 메시를 더블클릭하여 스태틱 메시 에디터에서 엽니다.
-
디테일(Details) 패널의 LOD 0 에서 빌드 세팅(Build Settings) 을 펼치고 최대 정밀도 UV 사용 을 활성화합니다.
-
변경사항 적용(Apply Changes) 버튼을 클릭합니다.
- 저장(Save) 을 클릭합니다.
- 스태틱 메시 에디터를 닫습니다.
3단계 - 프로젝트에서 LED 스크린 정의
프로젝트에서 스크린 레이아웃 및 지오메트리를 커스터마이징하여 세트를 반영해야 합니다. 이러한 메시는 트래킹 시스템에 상대적으로 현실의 LED 월과 물리적 위치 및 치수가 동일해야 합니다. 세트에서 사용되는 트래킹 시스템은 0포인트를 갖습니다. 이러한 메시는 트래킹 시스템에 상대적으로 동일한 월드 좌표에 배치되어야 합니다. 트래킹 제공자와 협력하여 0포인트가 어디인지 알아내고 이 0포인트에서 상대적인 위치를 측정하여 오프셋을 찾으세요.
동일한 스위치보드 환경설정에서 다른 머신에 속하는 것과 같은 다른 루프백 이외의 주소와 결합될 수 없기 때문에 이러한 예시에서는 루프백 주소 127.0.0.1이 사용되지 않습니다. 루프백을 사용할 수 있지만 사용되는 주소가 유일하고 모든 디바이스가 스위치보드를 실행하는 머신에 로컬로 있는 단순한 환경설정에서만 가능합니다. 루프백 주소와 루프백 이외의 주소를 다중 머신 구성에 혼합하여 사용하면 연결 오류가 발생합니다.
엔진에서 화면의 레이아웃 및 지오메트리를 수정하고 커스터마이징하려면 다음 단계를 따릅니다.
-
콘텐츠 브라우저 에서 nDisplayConfigs 폴더로 이동합니다.
-
폴더를 우클릭하여 에셋 생성 메뉴를 열고 nDisplay > nDisplay 환경설정(nDisplay Config) 을 선택합니다.
-
nDisplay 환경설정 시작점 선택(Pick a Starting point for your nDisplay Config) 창이 표시되면 새 환경설정 생성(Create New Config) 을 선택하고 완료(Finish) 를 클릭합니다.
-
새 nDisplay 환경설정 에셋을 NDC_ICVFXQuickStart 로 명명합니다.
-
NDC_ICVFXQuickStart 에셋을 더블클릭하여 nDisplay 3D 환경설정 에디터(nDisplay 3D Config Editor) 에서 엽니다.
-
컴포넌트(Components) 패널에서 nDisplayScreen 컴포넌트를 우클릭하고 삭제(Delete) 를 선택하여 목록에서 컴포넌트를 제거합니다.
-
컴포넌트 추가(Add Component) 를 클릭하고 컴포넌트 패널에 두 개의 스태틱 메시(Static Mesh) 컴포넌트를 추가합니다.
-
스태틱 메시 하나를 CurvedWall_Left 로 명명하고 디테일 패널에서 ExampleCurvedWallMesh_nDisplay_WallLeft 를 스태틱 메시 파라미터로 할당합니다. 나머지 스태틱 메시를 CurvedWall_Right 로 명명하고 디테일 패널에서 ExampleCurvedWallMesh_nDisplay_WallRight 를 스태틱 메시 파라미터로 할당합니다.
-
두 스태틱 메시 컴포넌트를 선택하고 회전시켜서 뷰 원점 컴포넌트를 향해 꺾이게 합니다. 이후 단계에서 투영 정책을 설정하기 전까지 메시에 대한 투영 프리뷰를 볼 수 없습니다.
-
클러스터(Cluster) 패널에서 신규 추가(Add New) 버튼을 클릭하고 새 클러스터 노드 추가(Add New Cluster Node) 를 검색하여 추가합니다.
NVIDIA Quadro Sync II를 NVIDIA Quadro GPU와 함께 사용하는 경우 클러스터(Cluster) 항목을 클러스터 패널에서 선택하고 타입(Type) 을 NVIDIA (2) 로 설정합니다.
-
클러스터 노드(Cluster Node) 는 호스트 컴퓨터를 나타냅니다. 표시되는 새 클러스터 노드 추가 창에서 다음을 수행합니다.
- 호스트 IP 주소(Host IP Address) 를 컴퓨터의 외부 IP 주소로 설정합니다. 나중에 nDisplay 클러스터에 컴퓨터를 더 추가하려는 경우에는 다중 머신 구성에서 루프백 주소와 루프백 이외의 주소를 모두 사용할 수 없기 때문에 디폴트 localhost IP 주소인 127.0.0.1 대신 컴퓨터의 외부 IP 주소를 사용해야 합니다. 예를 들어 여기 단계에서는 IP 주소 192.0.2.0이 사용됩니다.
- 전체화면(Fullscreen) 을 활성화하여 동기화 및 젠록을 달성합니다.
-
추가(Add) 를 클릭합니다.
-
클러스터 노드 가 생성되며 새 뷰포트가 노드에 할당됩니다. 클러스터 패널에서 뷰포트를 선택하여 디테일 패널을 엽니다.
-
디테일 패널에서 뷰 원점(View Origin) 을 디폴트 뷰 포인트(DefaultViewPoint) 로 설정합니다. 이를 통해 연결된 컴포넌트에서 외부 프러스텀에 대한 투영 포인트를 제어할 수 있습니다.
-
뷰포트 디테일 패널의 투영 정책(Projection Policy) 섹션에서 타입 을 메시(Mesh) 로 설정하고 CurvedWall_Left 메시를 목록에서 선택합니다. 컴포넌트 패널에 추가된 스태틱 메시 컴포넌트만 메시 목록에 표시됩니다.
-
뷰포트 및 출력 매핑(Output Mapping) 패널에서 메시에 표시되는 테스트 씬을 확인합니다.
-
나머지 월 메시를 위한 뷰포트를 생성합니다. 클러스터 노드 를 우클릭하고 새 뷰포트 추가(Add New Viewport) 를 선택합니다.
- 표시되는 새 뷰포트 추가 창에서 다음을 수행합니다.
- 뷰 원점 을 디폴트 뷰 포인트 로 설정합니다.
- 투영 정책 에서 타입 을 메시 로 설정합니다.
- 투영 정책 에서 메시 를 CurvedWall_Right 로 설정합니다.
- 추가 를 클릭합니다.

-
두 번째 뷰포트가 생성되고 테스트 씬이 뷰포트 및 출력 매핑 패널에서 월 메시에 표시됩니다.
-
컴포넌트 패널에서 ICVFX 카메라(ICVFXCamera) 컴포넌트를 추가합니다. 이 컴포넌트는 내부 프러스텀 컨트롤 및 기능을 제공합니다.
-
생성된 ICVFX 카메라 컴포넌트를 선택하고 프리뷰 뷰포트(Preview Viewport) 에서 조작합니다. 투영 메시에서 내부 프러스텀 투영 프리뷰를 볼 수 있습니다.
- 에셋을 컴파일(Compile) 하고 저장 합니다.
-
NDC_ICVFXQuickStart 에셋을 레벨 뷰포트로 드래그하여 nDisplay 루트 액터를 생성하고 클러스터 레벨을 미리 봅니다.

- 프로젝트를 저장 합니다.
이 섹션에서는 nDisplay 환경설정 에셋을 생성하고 앞서 생성한 메시로 구성하는 방법을 알아봤습니다. 샘플 nDisplay 환경설정 에셋은 쿼드 메시 레이아웃과 함께 이미 프로젝트에 포함되어 있습니다. 콘텐츠 브라우저 의 nDisplayConfigs/nDisplayBasicExample 폴더에서 이 에셋을 찾을 수 있습니다.
4단계 - 스위치보드로 프로젝트 실행
nDisplay가 인카메라 VFX용 디스플레이 디바이스 및 네트워크로 작동하는 방법을 보여주는 다이어그램. 이미지를 클릭하면 확대됩니다.
nDisplay 구성에는 프라이머리 컴퓨터 한 대와 추가 컴퓨터 클러스터 가 있습니다. 프라이머리 컴퓨터는 입력 정보를 관리 및 디스패치하는 중앙화된 위치입니다. 또한 프라이머리 컴퓨터는 클러스터의 모든 PC가 동기화되고 동시에 입력 및 데이터를 받게 합니다. nDisplay 구성에 대한 추가 정보는 nDisplay 개요를 참고하세요.
스위치보드는 단일 오퍼레이터가 nDisplay 클러스터를 제어하도록 지원하는 외부 애플리케이션입니다. 스위치보드에는 고급 로깅, 시스템 모니터링, 외부 소프트웨어와의 통합 등의 추가 기능이 있어 테이크 레코더로 동시에 서드 파티 모션 캡처 소프트웨어 테이크 리코딩을 트리거합니다.
스위치보드로 nDisplay 클러스터를 실행하려면 아래 단계를 따릅니다.
-
툴바에서 스위치보드 버튼을 클릭합니다. 스위치보드를 처음 실행하는 경우 명령 프롬프트가 표시되며 필수 종속성을 설치할 것입니다.
-
툴바에서 스위치보드 버튼 옆의 점 3개 아이콘을 클릭하고 드롭다운 메뉴에서 스위치보드 리스너 실행(Launch SwitchboardListener) 을 선택합니다. 이 컴패니언 애플리케이션이 클러스터의 모든 머신에서 실행되어야 스위치보드에 연결할 수 있습니다.
- 프로젝트에 대해 새 스위치보드 환경설정(Switchboard Configuration) 을 생성합니다.
- 스위치보드가 처음으로 실행되면 새 스위치보드 환경설정 추가 창이 표시됩니다.
- 이전에 스위치보드를 실행한 적이 있다면 창 왼쪽 상단 구석에서 환경설정(Configs) > 새 환경설정(New Config) 을 클릭하여 새 스위치보드 환경설정 추가 창을 엽니다.
- 새 스위치보드 환경설정 추가 창에서 다음을 수행합니다.
- 환경설정 경로(Config Path) 를 ICVFXQuickStart 로 설정합니다.
- uProject 를 컴퓨터의 인카메라 VFX 예시 프로젝트 위치로 설정합니다.
- Engine Dir 을 언리얼 엔진 5 위치로 설정합니다.
- 확인(OK) 을 클릭합니다.

-
스위치보드에서 레벨(Level) 을 메인(Main) 으로 설정합니다.
-
디바이스 추가(Add Device) > nDisplay 를 클릭하여 nDisplay 디바이스 추가(Add nDisplay Device) 창을 엽니다.
-
nDisplay 디바이스 추가 창에서 채우기(Populate) 버튼을 클릭하여 프로젝트에서 사용 가능한 nDisplay 환경설정 에셋 목록을 봅니다. 이전 섹션에서 생성한 nDisplay 에셋 NDC_InCameraVFXQuickStart 을 선택하고 확인 을 클릭합니다.
- nDisplay 디바이스 에 클러스터 노드가 표시됩니다.
-
리스너에 연결(Connect to listener) 버튼을 클릭하여 스위치보드 리스너에 연결합니다.
-
언리얼 시작(Start Unreal) 버튼을 클릭하여 nDisplay 렌더러로 언리얼을 실행합니다.
-
- nDisplay가 실행되면 컴퓨터의 모든 창이 최소화되고 nDisplay 뷰가 표시됩니다.
5단계 - 멀티 유저 세션 참여
멀티 유저 편집(Multi-User Editing) 시스템은 어떤 변화 타입이든 지원하는 강력한 협업을 활성화합니다. 동일한 멀티 유저 세션에 다수의 오퍼레이터 머신을 두고 실시간으로 여러 작업을 수행하며 씬을 수정할 수 있습니다. nDisplay 구성에서 멀티 유저는 클러스터 노드의 여러 언리얼 엔진 인스턴스 간에 변화를 동기화하여 씬에 대한 크리에이티브 업데이트가 촬영 도중 LED 월에서 동시에 즉시 표시되게 합니다.
아래 단계를 따라 멀티 유저를 통해 언리얼 에디터를 nDisplay 렌더러에 연결합니다.
-
스위치보드에서 nDisplay 노드의 언리얼 중지(Stop Unreal) 버튼을 클릭합니다.
- 세팅(Settings) 버튼을 클릭하여 스위치보드 세팅 창을 엽니다.
- 멀티 유저 서버(Multi User Server) 섹션에서 다음을 수행합니다.
- 서버 이름(Server Name) 을 ICVFXQuickStart_MU_Server 로 설정합니다.
- 자동 참여(Auto Join) 을 활성화하여 언리얼 인스턴스 또는 nDisplay 노드가 자동으로 연결을 시도하게 합니다.
-
자동 실행(Auto Launch) 을 활성화합니다. 활성화하지 않으면 멀티 유저 서버 실행 파일(Multi User Server Executable) 이 시작되지 않습니다.
- 세팅 창을 닫습니다.
-
멀티유저 세션(Multiuser Session) 을 ICFVXQuickStart_Session_001 로 설정합니다.
-
nDisplay 노드 옆의 언리얼 시작 버튼을 클릭하여 다시 실행합니다.
- nDisplay 노드가 실행을 마칠 때까지 기다렸다가 다음 단계로 넘어갑니다.
-
에디터의 툴바 에서 탐색(Browse) 버튼을 클릭하여 멀티 유저 브라우저(Multi-User Browser) 를 엽니다.
-
멀티유저 브라우저 에서 ICVFXQuickStart_Session_001 을 더블클릭하여 언리얼 에디터를 nDisplay로 시작된 멀티 유저 세션에 연결합니다.
언리얼 에디터에서 메모리 내 변경사항에 대한 메시지를 표시하며 멀티유저 세션 참여를 막는다면 에디터에 저장되지 않은 변경사항이 있고 프로젝트가 실행 중인 프로젝트의 현재 상태를 nDisplay와 매칭할 수 없다는 뜻입니다. 멀티유저 세션에 참여하는 모든 프로젝트는 정확히 동일한 상태여야 합니다. 이를 바로잡으려면 nDisplay 실행 전에 프로젝트를 저장해야 합니다.
-
멀티유저 브라우저가 변경되어 현재 연결된 세션과 각 사용자가 활성 상태인 레벨을 표시할 것입니다. 클라이언트 카테고리는 연결된 노드와 에디터 인스턴스를 표시할 것입니다. 히스토리는 멀티유저 세션을 통해 이뤄진 트랜잭션을 나열합니다. 디테일은 히스토리 카테고리에서 현재 선택된 트랜잭션에 대한 추가 정보를 표시합니다.
- 에디터에서 가하는 변경사항이 이제 nDisplay 노드로 전송됩니다. NDC_ICVFXQuickStart 에 대한 디폴트 뷰 포인트(Default View Point) 컴포넌트를 옮겨서 에디터에서 nDisplay 뷰 업데이트를 변경사항과 함께 확인합니다.
6단계 - 카메라 트래킹에 라이브 링크 사용
라이브 링크는 카메라, 라이트, 트랜스폼, 기본 프로퍼티 등 라이브 데이터를 수집하기 위한 언리얼 엔진의 프레임워크입니다. 인카메라 VFX의 경우, 라이브 링크는 트래킹된 카메라 정보를 배포하는 데 중요한 역할을 수행하며 nDisplay와 함께 작동하여 각 클러스터 노드로 트래킹 정보를 전달할 수 있습니다. 언리얼 엔진은 라이브 링크를 통해 Vicon, Stype, Mo-sys, Ncam 등 여러 전문 트래킹 솔루션을 아우르는 다수의 카메라 트래킹 파트너를 지원합니다. 라이브 링크는 Vive Tracker 및 컨트롤러 등 XR 디바이스도 라이브 링크 소스로 지원합니다.
이 단계에서는 이용 가능한 라이브 링크 소스가 있어야 합니다. 이 가이드에서는 VR 헤드셋 및 컨트롤러를 트래킹에 사용할 수 있도록 프로젝트에서 라이브 링크 XR을 구성하는 방법을 알아봅니다. 유사한 단계를 사용하여 다른 라이브 링크 소스도 활성화할 수 있습니다. 자세한 내용은 라이브 링크 XR을 참고하세요.
nDisplay로 라이브 링크 XR을 통해 내부 카메라 프러스텀을 트래킹하려면 다음을 수행합니다.
-
언리얼 에디터의 메인 메뉴 에서 창(Window) > 버추얼 프로덕션(Virtual Production) > 라이브 링크 를 선택하여 '라이브 링크' 패널을 엽니다.
-
라이브 링크 패널에서 소스 추가(Add Source) 버튼을 클릭합니다. 드롭다운에서 라이브 링크 XR 소스(Live Link XR Source) 를 선택합니다.
-
연결 세팅(Connection Settings) 패널에서 컨트롤러 트래킹(Track Controllers) 및 HMD 트래킹(Track HMDs) 을 활성화하고 추가 를 클릭합니다.
-
라이브 링크 XR 소스가 추가되면 연결된 XR 디바이스가 서브젝트 패널의 XR 섹션 아래에 표시됩니다.
-
서브젝트(Subject) 패널에서 트래킹에 사용하는 XR 디바이스를 선택하여 디테일 패널을 엽니다. 디테일 패널에서 서브젝트 다시 브로드캐스트(Rebroadcast Subject) 를 활성화하여 트래킹 데이터를 멀티 유저 세션의 다른 컴퓨터와 공유합니다.
-
프리셋(Presets) 을 클릭하고 프리셋으로 저장(Save As Preset) 을 선택합니다.
-
메인 메뉴에서 편집 > 프로젝트 세팅 을 선택합니다.
-
프로젝트 세팅 의 플러그인 에서 라이브 링크 를 선택합니다.
-
라이브 링크 프리셋을 디폴트 라이브 링크 프리셋(Default Live Link Preset) 에 추가하여 프로젝트 실행 시 프리셋이 자동으로 적용되게 합니다.
-
아웃라이너(Outliner) 에서 DemoDisplay3_innerFrustum 를 선택하여 디테일(Details) 패널을 엽니다.
-
컴포넌트 추가(Add Component) 를 클릭하고 라이브 링크 컨트롤러(Live Link Controller) 를 선택하여 라이브 링크 컴포넌트 컨트롤러(Live Link Component Controller) 를 시네 카메라 액터에 추가합니다.
-
DemoDisplay3_innerFrustum 의 컴포넌트 섹션에서 LiveLinkComponentController 를 선택하여 세팅을 봅니다.
-
라이브 링크 에서 서브젝트 표현(Subject Representation) 파라미터를 라이브 링크 서브젝트로 설정합니다. 이 예시에서 라이브 링크 서브젝트는 SteamVR 컨트롤러입니다.
-
NDC_ICVFXQuickStart 액터의 ICVFX 카메라 컴포넌트를 선택하여 디테일 패널을 엽니다. 시네 카메라 액터를 DemoDisplay3_innerFrustum으로 설정합니다.
-
XR 디바이스를 옮기면 에디터에서 카메라가 움직임을 따라합니다. 내부 프러스텀은 카메라가 메시를 향할 때 nDisplay 프리뷰에도 표시됩니다.
-
프로젝트를 저장합니다.
-
nDisplay 클러스터를 재시작하여 nDisplay 렌더러에서 변경사항을 봅니다.
7단계 - 그린 스크린 및 크로마키 활성화
LED 패널의 내부 프러스텀에 표시되는 것을 가상 월드에서 크로마키 마커가 있는 그린 스크린으로 변경할 수 있습니다.
다음 단계를 따라 그린 스크린을 보이게 만들고 크로마키 마커를 수정합니다.
-
아웃라이너 에서 NDC_ICVFXQuickStart 를 선택합니다.
-
디테일 패널에서 ICVFX 카메라 컴포넌트를 선택하여 세팅을 봅니다.
-
디테일 패널의 크로마키 에서 내부 프러스텀 크로마키 활성화(Enable Inner Frustum Chromakey) 를 활성화합니다.
-
내부 프러스텀이 녹색으로 변하고 트래킹 마커가 상단에 렌더링됩니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
-
크로마키 섹션에서 파라미터를 변경하여 컬러, 마커 배치, 커스텀 마커 알파 텍스처를 수정할 수 있습니다. 세팅에 대한 추가 정보는 nDisplay 루트 액터 레퍼런스를 참고하세요.
이 섹션에서는 내부 프러스텀에 대한 크로마키를 활성화하는 방법을 보여줍니다. 크로마키가 활성화된 샘플 nDisplay 환경설정 에셋은 쿼드 메시 레이아웃과 함께 이미 프로젝트에 포함되어 있습니다. 콘텐츠 브라우저 의 nDisplayConfigs/nDisplayExample_Chromakey 폴더에서 이 에셋을 찾을 수 있습니다.
8단계 - 라이트 카드 추가
라이트 카드는 nDisplay 플러그인 콘텐츠에서 찾을 수 있습니다. 라이트 카드 액터를 별도의 레이어에 스폰하여 nDisplay의 라이트 카드 컨트롤 기능을 활용하고 환경설정 액터의 외부 프러스텀 뷰포인트를 부모로 지정하여 최적의 이펙트를 달성할 수 있습니다.
아래 단계를 따라 라이트 카드를 프로젝트에 추가합니다.
-
콘텐츠 브라우저 에서 세팅 을 클릭하고 엔진 콘텐츠 표시(Show Engine Content) 와 플러그인 콘텐츠 표시(Show Plugin Content) 를 모두 활성화합니다.
-
소스 패널에서 nDisplay Content/LightCard 폴더를 엽니다.
-
LightCard 블루프린트를 레벨로 드래그합니다. 아웃라이너 에서 LightCard 액터를 NDC_ICVFXQuickStart 의 부모로 지정합니다.
스플라인은 라이트 카드의 위도/경도 위치를 시각화합니다. 외부 프러스텀을 더 잘 보호하기 위해 라이트 카드 액터를 nDisplay 루트 액터의 뷰 원점 컴포넌트와 같은 위치에 배치합니다.
-
메인 메뉴에서 창 > 레이어(Layers) 를 선택하여 레이어 패널을 엽니다.
-
레이어 패널에서 우클릭한 다음 드롭다운에서 빈 레이어 생성(Create Empty Layer) 을 선택합니다. 레이어를 ICVFXQuickStart_LightCards 로 명명합니다.
-
아웃라이너 에서 라이트 카드 를 선택합니다. ICVFXQuickStart_LightCards 레이어를 우클릭하고 선택된 레이어에 선택된 액터 추가(Add Selected Actors to Selected Layers) 를 선택합니다.
- 아웃라이너 에서 NDC_ICVFXQuickStart 를 선택하여 디테일 패널을 엽니다.
-
디테일 패널의 라이트 카드 에서 배열 엘리먼트(Array element) 를 레이어 파라미터에 추가합니다.
-
레이어 배열 엘리먼트(Layer Array element) 를 ICVFXQuickStart_LightCards 로 설정합니다.
라이트 카드 세팅에 대한 추가 정보는 nDisplay 루트 액터 레퍼런스를 참고하세요.
9단계 - 멀티 프러스텀으로 촬영
다수의 내부 프러스텀이 nDisplay 환경설정 에셋에 표시될 수 있습니다. 이 단계에서는 두 번째 ICVFX 카메라 컴포넌트를 NDC_ICVFXQuickStart nDisplay 환경설정 에셋에 추가하고 멀티 프러스텀 촬영을 위해 구성할 것입니다.
아래 단계를 따라 nDisplay 환경설정 에셋에 ICVFX 카메라 컴포넌트를 하나 더 추가합니다.
- 다음 단계 전에 모든 nDisplay 노드를 중지합니다.
-
콘텐츠 브라우저 에서 NDC_ICVFXQuickStart 에셋을 더블클릭합니다. 현재는 컴포넌트 패널에 ICVFX 카메라 컴포넌트 하나가 이미 있습니다.
- 컴포넌트 추가 를 클릭하여 ICVFX 카메라 컴포넌트를 하나 더 추가합니다. 둘 다 컴포넌트 계층구조의 루트 컴포넌트 를 부모로 하는지 확인합니다. 두 ICVFX 카메라 컴포넌트를 다음과 같이 명명합니다.
- ICVFXCamera_ACam
- ICVFXCamera_BCam

-
새 ICVFX 카메라 컴포넌트를 선택하고 뷰포트에서 조작하여 다중 프러스텀 투영을 확인합니다.

- nDisplay 환경설정 에셋을 컴파일 및 저장 합니다.
- 이 에셋에서 생성된 nDisplay 루트 액터는 레벨의 두 번째 카메라로 자동 업데이트됩니다.
-
아웃라이너 에서 NDC_ICVFXQuickStart 를 선택하여 디테일 패널을 엽니다. 디테일 패널의 인카메라 VFX 에서 내부 프러스텀 우선순위(Inner Frustum Priority) 를 펼치고 카메라 순서를 변경합니다. 오버랩되는 경우 먼저 나열된 카메라가 다른 것의 위에 렌더링됩니다.

- 새 시네 카메라 액터(CineCamera Actor) 를 레벨에 추가하여 ICVFX 카메라 컴포넌트에서 레퍼런스합니다. 라이브 링크 컴포넌트 컨트롤러 를 새 시네 카메라 액터 에 추가하고 라이브 링크 서브젝트 를 컴포넌트에 연결합니다.
이 섹션에서는 자체 내부 프러스텀이 있는 또 하나의 카메라를 nDisplay 환경설정 에셋에 추가하는 방법을 알아봤습니다. 두 개의 카메라가 있는 샘플 nDisplay 환경설정 에셋은 쿼드 메시 레이아웃과 함께 이미 프로젝트에 포함되어 있습니다. 콘텐츠 브라우저 의 nDisplayConfigs/nDisplayExample_multiFrustum 폴더에서 이 에셋을 찾을 수 있습니다.
10단계 - OpenColorIO 환경설정 적용
이 섹션에서는 플러그인 콘텐츠 OCIO 환경설정 파일에서 OCIO 환경설정 에셋 을 생성하고 이를 nDisplay 루트 액터 뷰포트에 할당하는 방법을 알아봅니다.
이 단계를 따라 OCIO 환경설정을 프로젝트에서 사용합니다.
- 아웃라이너 에서 NDC_ICVFXQuickStart 를 선택하여 디테일 패널을 엽니다.
- 디테일 패널의 OCIO 에서 뷰포트 OCIO 활성화(Enable Viewport OCIO) 를 체크합니다.
- 모든 뷰포트 컬러 환경설정(All Viewports Color Configuration) 을 펼칩니다.
- 환경설정 소스(Configuration Source) 를 ExampleOCIO 로 설정합니다.
- 소스 컬러 스페이스(Source Color Space) 를 유틸리티 - 원시(Utility - Raw) 로 설정합니다.
- 대상 컬러 스페이스(Destination Color Space) 를 출력 -sRGB 모니터(Output -sRGB Monitor) 로 설정합니다.
이 단계에서는 프로젝트에 OCIO 환경설정을 추가하는 방법을 알아봤습니다. 뷰포트별로 OCIO 환경설정을 설정하고 내부 프러스텀에서 별도로 설정할 수도 있습니다. 이에 대한 추가 정보는 nDisplay의 컬러 관리를 참고하세요.
11단계 - 씬 원격 제어
원격 제어 웹 인터페이스(Remote Control Web Interface) 는 원격 제어 API(Remote Control API) 를 활용하는 커스터마이징 가능 웹 애플리케이션입니다. 이 섹션에서는 원격 제어 프리셋(Remote Control Preset) 을 생성하여 웹 브라우저 인터페이스로 레벨을 변경하는 방법을 알아봅니다.
다음 단계를 따라 원격 제어 프리셋 및 원격 제어 웹 애플리케이션을 생성합니다.
-
콘텐츠 브라우저 에서 우클릭하고 원격 제어 > 원격 제어 프리셋 을 선택하여 새 원격 제어 프리셋 에셋을 생성합니다.
-
원격 제어 프리셋 에셋을 더블클릭하여 원격 제어 패널 을 엽니다.
- 아웃라이너 에서 CR_Mannequin_Body 액터를 선택하여 디테일 패널을 엽니다.
-
디테일 패널의 트랜스폼(Transform) 섹션에서 노출(Expose) 버튼을 클릭하여 위치(Location) 및 회전(Rotation) 프로퍼티를 원격 제어 API에 노출합니다.

-
원격 제어 패널 에서 웹 앱 실행(Launch Web App) 버튼을 클릭하여 원격 제어 웹 애플리케이션 에 연결할 웹 브라우저를 실행합니다. 로컬 컴퓨터에서 웹 앱은 127.0.0.1:7000 을 통해 액세스 가능합니다.
-
원격 제어 웹 애플리케이션 에서 컨트롤(Control) 토글을 디자인(Design) 모드로 전환합니다.

- 프로퍼티 탭을 선택합니다.
-
상대적 위치(Relative Location) 를 클릭하여 빈 캔버스로 드래그합니다. 프로퍼티가 인터페이스가 추가되면 프로퍼티 탭에서 프로퍼티 옆에 파란색 원이 나타납니다.

- 상대적 회전(Relative Rotation) 을 클릭하여 같은 캔버스로 드래그합니다.
- 상대적 위치 위젯(Relative Location Widget) 을 캔버스에서 선택하여 세팅을 엽니다.
-
상대적 위치 위젯 세팅에서 위젯 을 조이스틱(Joystick) 으로 설정하여 위젯의 외형을 변경합니다.
- 상대적 회전 위젯(Relative Rotation Widget) 을 선택하여 세팅을 엽니다.
- 상대적 회전 위젯 세팅에서 위젯 을 슬라이더(Sliders) 로 설정합니다.
- 디자인 모드에서 컨트롤 모드로 토글하여 인터페이스를 잠급니다.
-
에디터 뷰포트가 표시된 상태로 UI 컨트롤과 인터랙션하며 레벨에 어떤 영향을 미치는지 확인합니다.

12단계 - 직접 해보기
이 가이드에서는 LED 화면에 디스플레이를 구성하고, 다수의 컴퓨터에서 프로젝트를 실행하고, 카메라 트래킹을 프로젝트에 통합하는 방법을 다뤘습니다. 멀티 노드 및 mGPU 등 기타 환경설정에서 클러스터를 구성하는 방법을 보여주는 추가 예시 nDisplay 환경설정 에셋이 프로젝트의 nDisplayConfigs 폴더에 포함되어 있습니다.
멀티 디스플레이 구성에는 소프트웨어 및 하드웨어 레벨의 동기화 기능이 필요합니다. 생성된 콘텐츠가 모든 PC에서 동일한 시뮬레이션 타이밍 정보를 사용하여 동시에 준비되어야 할 뿐 아니라, 디스플레이 교체(현재 이미지를 비디오 카드 버퍼의 다음 이미지로 바꾸는 것) 또한 적시에 실행되어야 디스플레이의 티어링 아티팩트(tearing artifact)가 발생하는 것을 방지할 수 있습니다. 디스플레이 동기화 및 젠록을 머신에서 구성하여 다수의 디스플레이에서 끊김없는 뷰를 생성하는 방법에 대한 정보는 nDisplay 동기화를 참고하세요.
디스플레이 동기화 외에도 엔진 타임코드 및 프레임 생성은 카메라의 입력과도 일치해야 합니다. 모든 디바이스 간에 타임코드를 동기화하고 엔진을 젠록하는 방법에 대한 단계는 타임코드 및 젠록을 참고하세요.
영화 촬영 도중 씬 및 디스플레이를 제어하는 방법을 익히려면 인카메라 VFX에 대한 다음 하우투를 참고하세요.
- 멀티 유저 편집으로 실시간 온스테이지 씬 수정
- 컴포셔를 활용한 라이브 컴포지팅
- 색 보정 영역을 통해 현실 세계의 세트와 LED 월에 표시된 환경 간의 라이팅과 섀도를 매칭합니다.
- 레벨 스냅샷으로 각 테이크에 대한 액터 상태를 저장 및 복원합니다.
- 인카메라 VFX 카메라 캘리브레이션 가이드로 카메라에 맞춰 LED 월에서 콘텐츠 디스플레이를 캘리브레이션합니다.
- 스테이지 모니터로 네트워크에서 모든 머신으로부터 이벤트를 수신 및 모니터링합니다.
- 시간 지정된 데이터 모니터로 수신되는 시간 지정된 데이터를 모니터링, 캘리브레이션, 조회합니다.
- nDisplay의 카메라 모션 블러를 통해 프로세스 샷에서 모션 블러를 효과적으로 사용합니다.
- nDisplay의 컬러 관리로 디스플레이 및 내부 프러스텀만을 위해 컬러를 캘리브레이션합니다.
이 가이드에서는 인카메라 VFX 프로젝트의 기초를 살펴봤습니다. 실제 프로덕션 프로젝트 예시는 인카메라 VFX 프로덕션 테스트를 참고하세요.