목표
이 퀵스타트 가이드에서는 ArUco 마커를 사용하여 LED 월을 카메라 트래킹에 맞춰 정렬하는 방법을 단계별로 살펴봅니다.
학습 목표
-
LED 월에 ArUco 마커를 생성합니다.
-
에디터 뷰포트 및 스테이지 LED 화면에서 ArUco 마커를 미리 봅니다.
-
ArUco 마커를 사용하여 LED 월을 조정합니다.
1 - 필수 구성
이 가이드에서는 프로덕션 카메라, 옵티컬 카메라 트래킹 시스템 및 AJA Kona 5를 소스 비디오 입력으로 사용합니다. 또한 기존 LED 월 환경설정이 필요하며 스테이지 LED 월 환경설정을 매칭하는 nDisplay 블루프린트가 있어야 합니다. nDisplay 블루프린트를 만드는 방법에 대해서는 nDisplay, 멀티 디스플레이 렌더링 문서를 참고하세요.
넘어가기에 앞서 프로덕션을 위한 카메라 캘리브레이션 가이드에 따라 카메라의 렌즈 디스토션과 노달 포인트 오프셋이 조정됐는지 확인합니다. 그러면 카메라 트래킹과 LED 월 정렬의 일부로 사용될 렌즈 파일 에셋이 생성됩니다.
이 가이드의 예시는 에픽 LA RnD 스테이지 LED 월 환경설정을 기반으로 합니다.
이미지를 클릭하면 확대됩니다.
2 - ArUco 마커 생성
-
세팅(Settings) > 플러그인(Plugins) 을 클릭하여 플러그인 메뉴를 엽니다.
-
LED 월 캘리브레이션(LED Wall Calibration) 및 nDisplay를 통한 라이브 링크(Live Link Over nDisplay) 플러그인을 검색하여 활성화합니다. 에디터를 재시작합니다.
-
콘텐츠 브라우저 에서 nDisplay 스테이지(nDisplay Stage) 액터 블루프린트를 찾고 더블클릭하여 엽니다.
이미지를 클릭하면 확대됩니다.
-
컴포넌트(components) 패널에서 첫 벽 메시(wall mesh) 를 선택하고 클러스터(Cluster) 패널에서 해당 클러스터 를 더블클릭합니다. 그러면 선택된 디스플레이의 해상도를 얻을 수 있습니다.
-
벽 메시를 선택한 상태로 + 컴포넌트 추가(Add Component) 버튼을 클릭하고 캘리브레이션 포인트(Calibration Point) 를 검색하여 선택합니다. 그러면 캘리브레이션 포인트 컴포넌트가 월 메시의 자손으로 추가됩니다.
-
캘리브레이션 포인트의 이름을 ArUcoW1 로 변경합니다.
-
캘리브레이션 포인트를 선택한 상태로 디테일(Details) 패널로 이동하여 캘리브레이션(Calibration) 섹션으로 스크롤을 내립니다. ArUco 생성(Create ArUcos) 을 클릭합니다.
-
ArUco 생성 옵션(ArUco Generation Options) 창이 열립니다.
-
ArUco가 적용되는 월 뷰포트에 해당하는 텍스처 너비(Texture Width) 및 텍스처 높이(Texture Height) 값을 입력합니다.
-
목록에서 적절한 ArUco 딕셔너리(ArUco Dictionary) 를 선택합니다. 이 예시에서는 DICT_6x6_1000 딕셔너리가 선택됐으며, 여기에는 1,000개의 고유 ArUco 기호가 있습니다.
-
생성될 ArUco 마커의 시작 ID로 사용할 마커 ID(Marker ID) 를 입력합니다.
-
배치 계수(Place Modulus) 값을 입력합니다. 이 값은 ArUco 마커를 배치할 때 건너뛸 LED 패널의 수를 나타냅니다. 대규모 LED 월에서 작업하면서 1,000개 이상의 고유 ArUco 기호를 전체 LED 패널에 배치하려는 경우 유용합니다. 디폴트 값은 2입니다. 모든 패널에 하나의 ArUco가 표시될 수 있는 더 작은 LED 월에서는 이 값을 1로 변경합니다. 디폴트 값 2를 사용하면 2번째 LED 패널마다 ArUco 기호를 배치합니다.
-
확인(OK) 을 클릭하여 ArUco 마커를 생성합니다.
-
-
텍스처를 저장할 위치를 선택하고 확인 을 클릭합니다. 다음 뷰포트에서 시작할 마커 ID 를 알리는 확인 창이 표시됩니다. UE에서 이를 기억하지만, 순서를 변경하고 싶은 경우 조정할 수 있습니다. 확인 을 클릭하여 확인합니다.
-
클러스터(Cluster) 탭에서 캘리브레이션 포인트가 적용된 뷰포트 를 선택합니다.
-
오른쪽 디테일 패널로 이동합니다. 텍스처 대체(Texture Replacement) 세션으로 스크롤을 내려서 생성된 텍스처를 소스 텍스처(Source Texture) 로 선택합니다. 뷰포트 텍스처 대체 활성화(Enable Viewport Texture Replacement) 체크박스를 활성화합니다.
-
5~10단계를 반복하여 ArUco 마커를 나머지 LED 뷰포트에 추가합니다.
-
콘텐츠 브라우저 에서 nDisplay 블루프린트(nDisplay Blueprint) 를 더블클릭하여 엽니다.
-
+ 변수(Variable) 를 클릭하여 새 boolean 변수를 생성하고 Replace Viewport Textures 로 명명합니다. 디테일 패널로 이동하여 인스턴스 편집 가능(Instance Editable) 체크박스를 활성화합니다.
-
Replace Viewport Textures 를 이벤트 그래프(Event Graph) 로 드래그하고 Get Replace_Viewport_Textures 를 선택하여 노드를 생성합니다.
-
이벤트 그래프 에서 우클릭하고 Set Replace Texture Flag for All Viewports 를 찾아서 선택합니다.
-
Event Tick 노드를 Set Replace Texture Flag for All Viewports 노드에 연결합니다. Replace Viewport Textures 노드를 Set Replace Texture Flag for All Viewports 노드의 대체(Replace) 핀에 연결합니다.
-
블루프린트를 컴파일(Compile) 하고 저장(Save) 합니다.
-
nDisplay 블루프린트의 프리뷰 창(Preview Pane) 에서 변경사항을 보려면 nDisplay 블루프린트를 선택하고 디테일 패널로 이동합니다. 에디터 프리뷰(Editor Preview) 섹션으로 스크롤을 내려서 뷰포트 텍스처 대체(Replace Viewport Textures) 및 에디터 프리뷰 활성화(Enable Editor Preview) 체크박스를 활성화합니다. 그러면 ArUco 마커가 표시됩니다.
이미지를 클릭하면 확대됩니다.
-
다수의 렌더 노드를 사용하는 경우 프로젝트를 지금 다른 컴퓨터에 동기화합니다.
-
아웃라이너(Outliner) 에서 nDisplay 블루프린트 를 선택하고 디테일 패널로 이동합니다. 디폴트(Default) 탭으로 스크롤을 내려서 뷰포트 텍스처 대체 체크박스를 활성화합니다. 이제 ArUco 마커가 LED 월에 표시됩니다.
이미지를 클릭하면 확대됩니다.
-
에디터 뷰포트에서 ArUco 마커를 보려면 에디터 프리뷰 섹션으로 스크롤을 내려서 에디터 프리뷰 활성화 체크박스를 활성화합니다.
이미지를 클릭하면 확대됩니다.
-
LED 월의 정렬을 확인하려면 ArUco 마커의 구석에 있는 포인트를 보는 것이 좋습니다.
-
ArUco 추가 시 생성된 캘리브레이션 포인트 를 선택합니다.
-
디테일 패널에서 캘리브레이션 섹션으로 스크롤을 내립니다. 에디터에서 포인트 시각화(Visualize Points in Editor) 체크박스를 활성화합니다.
-
포인트 시각화 스케일(Point Visualization Scale) 은 메시의 마커 스케일을 조절합니다. 시각화 셰이프(Visualization Shape) 드롭다운은 마커 셰이프를 큐브(Cubes) 와 피라미드(Pyramids) 간에 변경합니다. 이 값을 필요에 따라 조정하세요.
-
-
블루프린트를 컴파일 하고 저장 합니다.
-
아웃라이너 창에서 nDisplay 블루프린트 를 선택하고 디테일 패널로 이동합니다. 에디터 프리뷰 섹션으로 스크롤을 내려서 에디터 프리뷰 활성화 체크박스를 활성화합니다.
이렇게 하면 CG ArUco가 렌즈 파일에서 뷰포트 메시에 표시됩니다. LED 캘리브레이션이 적용되면 CG ArUco가 LED 월에서 ArUco를 표시하는 카메라의 라이브 비디오 피드에 오버레이됩니다.
-
트래킹된 프로덕션 카메라와 기타 트래킹된 오브젝트를 Tracking 노드 아래에 배치합니다. Tracking 노드 의 부모를 nDisplay 블루프린트 로 지정합니다.
섹션 결과
ArUco 마커를 생성했으며 이제 이를 렌즈 파일의 일부로 사용하여 LED 월을 조정할 수 있습니다.
3- ArUco 마커로 LED 월 캘리브레이션
-
프로덕션을 위한 카메라 캘리브레이션 가이드에서 생성한 렌즈 파일(Lens File) 을 콘텐츠 브라우저 에서 더블클릭하여 엽니다. 이 렌즈 파일은 FIZ 데이터를 스트리밍하는 LiveLinkController 아래의 카메라에 어태치되어야 합니다.
-
노달 오프셋(Nodal Offset) 탭을 클릭합니다.
이미지를 클릭하면 확대됩니다.
-
뷰포트 세팅)(Viewport Settings 으로 이동하여 투명도(Transparency) 를 0 으로 설정합니다. 그러면 에디터에 표시되는 ArUco 마커의 CG 오버레이가 꺼집니다.
-
노달 오프셋 섹션으로 이동해서 노달 오프셋 알고(Nodal Offset Algo) 를 노달 오프셋 ArUco 마커(Nodal Offset ArUco markers) 로 설정합니다.
-
캘리브레이터(Calibrator) 를 nDisplay 블루프린트 로 설정합니다.
-
탐지 표시(Show Detection) 체크박스를 활성화합니다. 그러면 뷰포트 가 클릭될 때마다 이미지가 캡처되며, 이는 ArUco 마커의 캘리브레이션 포인트를 수집하는 데 사용됩니다.
-
-
프로덕션 카메라로 ArUco 마커가 표시되는 LED 월을 가리킵니다. 이제 LED 월 전체에서 ArUco 마커 이미지를 수집합니다. 이미지 캡처를 위해 뷰포트 내부를 마우스로 클릭합니다. 캡처된 이미지의 프리뷰가 표시됩니다. 확인 버튼을 클릭합니다.
이미지를 클릭하면 확대됩니다.
-
이전 단계를 여러 번 반복하여 LED 월 전반에서 여러 개의 이미지를 캡처합니다. 노달 오프셋 섹션에 캡처된 이미지가 표시됩니다.
-
LED 월 전체에서 충분한 샘플을 캡처했다면 카메라 부모에 적용(Apply to Camera Parent) 버튼을 클릭합니다. 그러면 이전에 생성된 트래킹 원점과 그 아래의 트래킹된 프로덕션 카메라를 오프셋합니다.
-
LED 월의 정렬을 확인하려면 투명도 를 0.5 로 설정합니다. 그러면 CG ArUco가 LED 월 메시에 적용되어 ArUco를 물리적 LED 월에 오버레이하는 것을 볼 수 있습니다. 두 ArUco 마커 세트는 이제 서로의 오른쪽 상단에 있습니다. 그렇지 않다면 가상 LED 메시가 물리 LED 메시와 일치하지 않습니다.
섹션 결과
ArUco 마커를 사용하여 스테이지 LED 월을 캘리브레이션했습니다.