이번 기본 턴테이블 포토그래메트리 시리즈 에피소드에서는 이전 에피소드 마지막에 Blender에서 투명하게 렌더링된 이미지를 사용하여 고폴리 기하학을 재구성하는 방법을 살펴보겠습니다.
영상 자막 텍스트
안녕하세요! 이번 기본 턴테이블 포토그래메트리 시리즈 에피소드에서는 이전 에피소드 마지막에 Blender에서 투명하게 렌더링된 이미지를 사용하여 고폴리 기하학을 재구성하는 방법을 살펴보겠습니다.
그 과정에서 중간에 재구성을 일시 중지하고 영역 크기를 조정한 후 다시 이어서 진행하는 방법도 함께 알아볼 것입니다
먼저, 두 번째 에피소드에서 생성하고 Feature Matching 노드의 Minimal 2D Motion 값을 2로 설정한 후 저장했던 Meshroom 프로젝트를 엽니다.
Image Gallery 탭에서 Blender에서 렌더링한 이미지를 불러옵니다. 빨간색 셔터 아이콘을 보면 알 수 있듯이, 이번에는 원본 사진이 아니라 Blender에서 생성된 렌더 이미지이므로 추가적인 정보가 포함되지 않습니다.

두 번째 에피소드에서 다룬 Image Masking 노드를 사용하면 원본 데이터를 유지할 수 있지만, 녹색 배경을 제거하는 과정이 다소 어려울 수 있습니다. 반면, Blender에서 Color Keying을 활용하면 보다 쉽게 배경을 제거할 수 있지만, 원본 EXIF 데이터를 잃게 됩니다. 그러나 이는 큰 문제가 되지 않으며, Meshroom이 이를 훌륭하게 처리해 줄 것입니다.
새로운 데이터를 포함하여 Meshroom 프로젝트를 저장한 후, Graph Editor의 빈 공간을 클릭하여 모든 노드를 선택 해제합니다. 그런 다음 Start 버튼을 클릭하여 재구성을 시작합니다.
이제 프로젝트의 MG 파일을 저장한 폴더를 확인해 보면, Meshroom Cache 폴더와 그 하위 폴더가 생성된 것을 볼 수 있습니다. 이 폴더에는 Meshroom이 다양한 노드의 로그 파일과 중간 작업 파일을 저장하게 됩니다.
Meshroom의 이 기능은 특정 정보만 선택적으로 처리할 수 있도록 해 주기 때문에 매우 유용합니다.
처리 과정에서는 상단의 진행 표시줄이 파이프라인 전체의 진행률을 나타내며, 각 노드별로도 개별적인 진행 표시줄이 있습니다. 녹색은 해당 과정이 성공적으로 완료되었음을 의미합니다. 주황색은 현재 실행 중임을 나타냅니다. 빨간색은 오류로 인해 실패했음을 의미합니다. 청록색은 실행 대기열에 있는 노드를 나타냅니다.

이러한 진행 상태는 Task Manager 탭에서 더 자세히 확인할 수 있으며, 추가 정보는 각 노드의 Log 섹션에서 찾을 수 있습니다.
또 하나의 유용한 기능은 처리 도중 프로세스를 중단하고 나중에 다시 시작해야 할 경우, Meshroom이 각 노드에 대한 새로운 하위 폴더를 생성한다는 점입니다. 덕분에 이전 작업이 손실되지 않으며, 다양한 처리 단계를 그대로 유지할 수 있습니다.
중단에 대해 이야기하자면, 첫 번째 파이프라인 과정인 Structure From Motion 처리가 완료되는 즉시 Stop 버튼을 클릭하여 중단합니다. 이렇게 하면 새 데이터를 확인하고 재구성 영역을 조정할 수 있습니다. 이 영역은 Bounding Box라고 합니다.

먼저, Image Gallery 탭 하단을 보면 Meshroom이 146개의 입력 이미지를 모두 인식하고 처리했음을 확인할 수 있습니다. 이는 상당히 좋은 결과로 보입니다.
3D Viewer 탭에서는 여러 개의 카메라 아이콘이 보이는데, 이는 사진이 촬영된 관점을 나타냅니다. Image Gallery에서 특정 사진을 클릭하면 3D Viewer 탭에서 해당 카메라가 선택됩니다.
3D Viewer 탭에서 관점을 변경하려면 마우스 왼쪽 버튼을 클릭한 상태로 드래그하여 중심점을 기준으로 회전할 수 있습니다. 줌 기능은 마우스 휠을 사용하며, 스크롤 휠(중간 버튼)을 클릭한 상태에서 드래그하면 화면을 이동할 수 있습니다. 또한, 3D 뷰 내의 요소를 더블 클릭하면 중심점을 다시 설정할 수 있습니다.

이제 Meshing 노드를 선택하고 Custom Bounding Box 옵션을 활성화하여 사용자 지정 재구성 영역을 정의할 수 있습니다. 이 장면은 특별히 복잡하지 않기 때문에 필수적인 단계는 아니지만, 다른 상황에서는 불필요한 부분을 제외하고 필요한 영역만 재구성할 수 있도록 하는 매우 유용한 옵션입니다.
그러나 Custom Bounding Box 옵션을 활성화하는 것만으로는 재구성 볼륨이 표시되지 않습니다. Meshroom에서는 단순히 노드를 선택하는 것만으로 특정 정보나 기능이 나타나지 않습니다. 해당 노드를 더블 클릭해야 합니다.
이제 중앙에 나타나는 변환 조작기를 사용하여 Bounding Box를 직접 조정할 수 있습니다. 화살표를 이용하면 Bounding Box의 중심을 이동할 수 있으며, 사각형 핸들은 특정 축을 따라 크기를 조절할 수 있습니다. 마지막으로, 원형 핸들은 축을 기준으로 회전할 수 있도록 해줍니다.
Bounding Box를 정의한 후 Start 버튼을 클릭하면 중단했던 지점부터 기하학 재구성 파이프라인을 다시 시작할 수 있습니다.

이제 프로젝트의 Cache 폴더 안을 살펴보면 새로운 하위 폴더가 생성된 것을 확인할 수 있습니다. 이는 이전 파이프라인이 중단되었기 때문에 새 데이터가 새로운 하위 폴더에 저장되었기 때문입니다.
이러한 하위 폴더는 기본적으로 다소 일반적인 이름을 가지지만, 각 노드의 Folder 필드에서 직접 이름을 변경할 수 있습니다. 여러 가지 매개변수를 변경하면서 테스트를 실행하려는 경우, 변경 사항에 따라 폴더 이름을 지정하면 관리하기 편리합니다. 물론, 폴더를 날짜순으로 정렬하면 가장 최신의 처리 결과를 빠르게 찾을 수도 있습니다.
마지막 처리 단계인 Texturing이 끝난 후 영상 녹화를 다시 시작했습니다. 이 과정을 시작하기 전에 해당 노드의 기본 매개변수를 변경하지 않았으므로, Meshroom은 OBJ 파일과 Base Color 텍스처(EXR 포맷)를 생성했으며, UDIM 방식을 사용하여 UV 언래핑을 수행했을 것입니다.
그러나 Meshroom의 메뉴 옵션을 확인해 보면, 이 메시를 특정 디스크 위치로 내보내는 기능이 별도로 제공되지 않는 것처럼 보입니다.
하지만 걱정할 필요는 없습니다. 메시와 텍스처는 이미 디스크에 저장되어 있으며, 해당 파일 경로는 Texturing 노드의 Attributes 탭 하단에서 확인할 수 있습니다.
더 간단한 방법으로는, Texturing 내에서 가장 최근에 생성된 하위 폴더를 찾아가면 해당 파일들을 확인할 수 있습니다.
EXR 및 OBJ 파일을 프로젝트의 메인 폴더로 복사한 후, 복사본의 이름을 High Poly로 변경합니다. 이렇게 하면 원본 파일을 안전하게 보관하면서, 복사본을 Blender에서 작업할 수 있습니다.
Meshroom에서 프로젝트의 변경 사항을 저장한 후 프로그램을 종료합니다. 나중에 High Poly 버전에서 Low Poly 버전으로 텍스처를 베이킹할 때 다시 열 예정입니다.

다음 에피소드에서는 High Poly 버전을 Blender로 가져와 정리한 후 Low Poly 버전을 만드는 과정을 보여드리겠습니다. 다음 시간에 뵙겠습니다!