1 00:00:04.201 --> 00:00:08.969 실감 심화편 nDisplay 멀티 디스플레이 셋업 2 00:00:08.969 --> 00:00:11.613 GCC 사관학교 3 00:00:26.970 --> 00:00:30.891 nDisplay의 이해 4 00:00:31.495 --> 00:00:32.295 안녕하세요 5 00:00:32.295 --> 00:00:34.845 오늘 nDisplay 멀티 디스플레이 셋업에 대한 6 00:00:34.845 --> 00:00:37.683 강의를 진행하게 될 박지용입니다 7 00:00:37.683 --> 00:00:40.155 이번 시간에는 nDisplay에 대해 8 00:00:40.155 --> 00:00:41.742 학습해보려고 하는데요 9 00:00:41.742 --> 00:00:44.892 아무래도 디스플레이가 커지고 다양해진 만큼 10 00:00:44.892 --> 00:00:48.692 확장성을 가진 복수의 디스플레이를 잘 연결하고 11 00:00:48.692 --> 00:00:51.119 재현하는 것이 중요합니다 12 00:00:51.119 --> 00:00:54.619 그래서 기본적인 이론적인 내용을 학습한 뒤에 13 00:00:54.619 --> 00:00:57.000 간단한 실습 과정을 통해서 14 00:00:57.000 --> 00:00:59.550 실제 현장에서는 nDisplay 셋업이 15 00:00:59.550 --> 00:01:03.000 어떻게 이루어지는지 확인해보시면 좋을 것 같습니다 16 00:01:03.000 --> 00:01:07.000 언리얼 엔진의 nDisplay에 대해서 알아보겠습니다 17 00:01:07.000 --> 00:01:11.000 nDisplay에서 n은 여러 뜻으로 해석될 수 있습니다 18 00:01:11.000 --> 00:01:14.813 Network, 여러 컴퓨터와 디스플레이가 19 00:01:14.813 --> 00:01:18.000 네트워크로 연결되어 협력하는 시스템입니다 20 00:01:18.000 --> 00:01:21.350 네트워크를 통해 데이터를 동기화하고 21 00:01:21.350 --> 00:01:24.250 실시간 렌더링과 출력이 이루어지는 점에서 22 00:01:24.250 --> 00:01:26.158 네트워크로 해석할 수 있습니다 23 00:01:26.158 --> 00:01:28.802 또 다른 의미로 다수를 의미할 수 있습니다 24 00:01:28.802 --> 00:01:33.574 수학에서 흔히 사용하는 n은 임의의 다수를 의미합니다 25 00:01:33.574 --> 00:01:37.224 nDisplay에서는 여러 디스플레이 또는 26 00:01:37.224 --> 00:01:40.000 여러 노드를 제어하는 시스템이라는 점에서 27 00:01:40.000 --> 00:01:44.000 다수의 디스플레이나 다수의 노드를 나타낼 수 있습니다 28 00:01:44.000 --> 00:01:47.267 또 다른 의미로는 확장성이라 볼 수 있습니다 29 00:01:47.267 --> 00:01:51.117 앞서 말한 바와 같은 맥락으로 n은 제한 없이 30 00:01:51.117 --> 00:01:54.000 확장 가능한 시스템을 암시하기도 합니다 31 00:01:54.000 --> 00:01:56.650 nDisplay는 여러 디스플레이와 컴퓨터를 32 00:01:56.650 --> 00:01:58.550 추가적으로 연결하여 33 00:01:58.550 --> 00:02:02.386 크고 복잡한 환경에서도 유연하게 동작할 수 있습니다 34 00:02:02.386 --> 00:02:04.686 이 모든 것을 합쳐서 이야기하면 35 00:02:04.686 --> 00:02:07.989 nDisplay에서 n의 본질적인 특징은 36 00:02:07.989 --> 00:02:12.683 네트워크 기반의 다중 디스플레이 확장성을 상징합니다 37 00:02:12.683 --> 00:02:15.960 이는 기술의 유연성과 확장성을 강조하는 38 00:02:15.960 --> 00:02:17.614 요소로 볼 수 있습니다 39 00:02:17.614 --> 00:02:21.000 이 nDisplay의 주요 기능에 대해서 살펴보겠습니다 40 00:02:21.000 --> 00:02:25.000 앞서 이야기한 개념에서 연결된 내용이라 보시면 됩니다 41 00:02:25.000 --> 00:02:27.650 nDisplay는 언리얼 엔진의 42 00:02:27.650 --> 00:02:31.000 강력한 멀티 디스플레이 시스템으로 43 00:02:31.000 --> 00:02:34.350 주로 대규모 디스플레이 환경을 효율적으로 44 00:02:34.350 --> 00:02:36.683 구성하고 제어하는데 사용됩니다 45 00:02:36.683 --> 00:02:39.633 이 시스템은 4가지 주요 기능을 통해 46 00:02:39.633 --> 00:02:41.833 복잡한 멀티 디스플레이 환경에서도 47 00:02:41.833 --> 00:02:43.802 강력한 성능을 제공합니다 48 00:02:43.802 --> 00:02:47.891 첫 번째 주요 기능은 멀티 노드 렌더링입니다 49 00:02:47.891 --> 00:02:51.024 nDisplay는 여러 대의 컴퓨터를 50 00:02:51.024 --> 00:02:54.287 클러스터로 묶어 작업을 분산 처리하게 합니다 51 00:02:54.287 --> 00:02:57.687 각 컴퓨터가 지정된 화면 부분을 처리하여 52 00:02:57.687 --> 00:03:01.623 전체적으로 하나의 통합된 화면을 만들어냅니다 53 00:03:01.623 --> 00:03:04.723 이러한 분산 렌더링은 복잡한 그래픽 계산을 54 00:03:04.723 --> 00:03:08.040 효과적으로 처리하여 퍼포먼스를 올릴 수 있게 합니다 55 00:03:08.040 --> 00:03:11.280 두 번째는 네트워크 기반의 동기화 입니다 56 00:03:11.280 --> 00:03:15.680 nDisplay는 클러스터 내 모든 디스플레이와 57 00:03:15.680 --> 00:03:18.639 컴퓨터 간의 완벽한 싱크를 제공합니다 58 00:03:18.639 --> 00:03:23.189 프레임 싱크와 입력 싱크는 멀티 디스플레이 환경에서 59 00:03:23.189 --> 00:03:25.839 화면의 플리커 현상이나 렌더 머신 간에 60 00:03:25.839 --> 00:03:28.000 틀어지는 것을 방지합니다 61 00:03:28.000 --> 00:03:32.320 세 번째는 카메라와 트래킹 시스템의 통합입니다 62 00:03:32.320 --> 00:03:35.320 nDisplay는 버추얼 프로덕션에서 사용하는 63 00:03:35.320 --> 00:03:39.000 다양한 트래킹 시스템과 연동됩니다 64 00:03:39.000 --> 00:03:43.350 LED Wall 환경에서는 실시간 카메라 트래킹을 통해 65 00:03:43.350 --> 00:03:45.450 액터와 촬영 장비의 움직임에 맞춰 66 00:03:45.450 --> 00:03:47.599 화면을 조정할 수 있습니다 67 00:03:47.599 --> 00:03:51.499 이는 물리적 환경과 버추얼 환경이 완벽히 동기화되어 68 00:03:51.499 --> 00:03:54.480 몰입감을 높이는 데 중요한 역할을 합니다 69 00:03:54.480 --> 00:03:58.880 마지막으로 디스플레이 구성과 관리의 유연성입니다 70 00:03:58.880 --> 00:04:02.430 nDisplay는 직사각형 디스플레이 뿐만 아니라 71 00:04:02.430 --> 00:04:06.279 다양한 형태에도 유연하게 적용할 수 있습니다 72 00:04:06.279 --> 00:04:09.579 nDisplay config와 스위치보드 등을 사용해 73 00:04:09.579 --> 00:04:13.115 디스플레이 레이아웃, 해상도, 클러스터 노드를 74 00:04:13.115 --> 00:04:15.839 직관적으로 관리할 수 있습니다 75 00:04:15.839 --> 00:04:18.239 이러한 nDisplay를 구현하기 위해서는 76 00:04:18.239 --> 00:04:22.320 하드웨어와 소프트의 두 가지 요소가 필수적입니다 77 00:04:22.320 --> 00:04:26.070 이 구성 요소들이 모두 유기적으로 작동해야 78 00:04:26.070 --> 00:04:29.879 nDisplay 환경을 성공적으로 구축할 수 있습니다 79 00:04:29.879 --> 00:04:32.279 좀 더 자세하게 알아보겠습니다 80 00:04:32.279 --> 00:04:35.239 먼저 하드웨어 구성 요소입니다 81 00:04:35.239 --> 00:04:39.289 nDisplay는 고성능 하드웨어 환경이 필수적이며 82 00:04:39.289 --> 00:04:41.839 다음과 같은 요소들이 필요합니다 83 00:04:41.839 --> 00:04:44.789 nDisplay는 NVDIA를 사용해야 하고 84 00:04:44.789 --> 00:04:48.320 특히 Quadro Sync 카드가 필수적입니다 85 00:04:48.320 --> 00:04:50.470 이 카드는 다중 디스플레이 간의 86 00:04:50.470 --> 00:04:53.199 정확한 프레임 동기화를 지원합니다 87 00:04:53.199 --> 00:04:56.040 그다음으로는 Genlock 입력입니다 88 00:04:56.040 --> 00:04:58.195 LED Wall, 카메라 등 모든 장치에 89 00:04:58.204 --> 00:05:00.760 동일한 Genlock 신호를 넣어야 됩니다 90 00:05:00.760 --> 00:05:05.160 Genlock은 클러스터, 노드 간의 타이밍을 동기화하여 91 00:05:05.160 --> 00:05:09.119 화면의 깜빡임이나 어긋나는 문제를 방지합니다 92 00:05:09.119 --> 00:05:11.393 만약 Genlock이 설정되지 않는다면 93 00:05:11.393 --> 00:05:14.880 nDisplay 자체가 기술적으로 불가능합니다 94 00:05:14.880 --> 00:05:17.960 그 다음은 고속 네트워크입니다 95 00:05:17.960 --> 00:05:19.560 모든 클러스터 노드는 96 00:05:19.560 --> 00:05:22.320 동일한 네트워크 망에 접속돼야 됩니다 97 00:05:22.320 --> 00:05:25.670 최적의 성능을 위해 최소 10Gbps 이상의 98 00:05:25.670 --> 00:05:28.279 네트워크 속도를 권장합니다 99 00:05:28.279 --> 00:05:30.929 네트워크 지연 속도가 낮아야 100 00:05:30.929 --> 00:05:33.759 클러스터 간 데이터 전달이 원활해집니다 101 00:05:33.759 --> 00:05:37.639 그 다음으로 소프트웨어적 구성 요소를 살펴보겠습니다 102 00:05:37.639 --> 00:05:40.589 nDisplay 작동을 위해서는 언리얼 엔진 내의 103 00:05:40.589 --> 00:05:42.919 도구와 설정이 필요합니다 104 00:05:42.919 --> 00:05:46.399 첫 번째로 nDisplay config 파일입니다 105 00:05:46.399 --> 00:05:49.044 config 파일은 클러스터를 정의하는 106 00:05:49.044 --> 00:05:51.600 가장 중요한 요소입니다 107 00:05:51.600 --> 00:05:56.150 렌더 노드, 디스플레이 위치, 해상도, 108 00:05:56.150 --> 00:05:59.759 동기화 설정 등이 이 파일에 정의됩니다 109 00:05:59.759 --> 00:06:02.059 config 파일을 정확히 작성해야 110 00:06:02.059 --> 00:06:04.759 클러스터가 제대로 작동합니다 111 00:06:04.759 --> 00:06:07.399 두 번째로 스위치보드 도구입니다 112 00:06:07.399 --> 00:06:11.720 스위치보드는 여러 노드를 동시에 제어하는데 사용됩니다 113 00:06:11.720 --> 00:06:15.820 클러스터의 실행, 중지, 재시작 등의 작업을 114 00:06:15.820 --> 00:06:18.199 간편하게 수행할 수 있습니다 115 00:06:18.199 --> 00:06:21.199 세 번째로 멀티 유저 기능입니다 116 00:06:21.199 --> 00:06:24.599 nDisplay 환경에서 동시에 여러 사용자가 117 00:06:24.599 --> 00:06:27.960 협업하기 위해 멀티 유저 설정이 필요합니다 118 00:06:27.960 --> 00:06:31.360 이를 통해 각 노드에서 플레이된 요소들을 119 00:06:31.360 --> 00:06:35.119 실시간으로 편집하고 테스트할 수 있습니다 120 00:06:35.119 --> 00:06:38.800 이처럼 nDisplay를 성공적으로 구현하기 위해서는 121 00:06:38.800 --> 00:06:42.880 하드웨어와 소프트웨어에 올바른 조합이 필요합니다 122 00:06:42.880 --> 00:06:46.880 Genlock과 네트워크 동기화, config 파일 작성, 123 00:06:46.880 --> 00:06:49.880 스위치보드 및 멀티 유저 기능을 활용하여 124 00:06:49.880 --> 00:06:51.954 안정적이고 일관된 125 00:06:51.954 --> 00:06:54.880 멀티 디스플레이 환경을 구축할 수 있습니다 126 00:06:54.880 --> 00:06:58.880 다시 말하자면 nDisplay는 언리얼 엔진을 활용하여 127 00:06:58.880 --> 00:07:03.600 멀티 디스플레이 환경을 구축하고 제어하는 시스템입니다 128 00:07:03.600 --> 00:07:07.759 그 동작 원리는 다음과 같은 단계로 이루어집니다 129 00:07:07.759 --> 00:07:11.679 첫 번째, nDisplay config 파일 구성입니다 130 00:07:11.679 --> 00:07:14.829 먼저 nDisplay config 파일을 생성하고 131 00:07:14.829 --> 00:07:17.399 클러스터 환경을 정의합니다 132 00:07:17.399 --> 00:07:22.299 이 파일에는 각 노드의 역할, 디스플레이 설정, 133 00:07:22.299 --> 00:07:24.920 네트워크 구성 등이 포함됩니다 134 00:07:24.920 --> 00:07:28.220 정확한 설정을 위해서 언리얼 엔진에서 제공하는 135 00:07:28.220 --> 00:07:30.440 config 레퍼런스를 참고해서 136 00:07:30.440 --> 00:07:32.760 정확히 기입해야 합니다 137 00:07:32.760 --> 00:07:34.710 하나하나 기입하는 내용들은 138 00:07:34.710 --> 00:07:37.160 중요한 명령어 역할을 하기 때문에 139 00:07:37.160 --> 00:07:42.000 어떠한 항목이 어떤 역할을 하는지도 알고 있어야 합니다 140 00:07:42.000 --> 00:07:45.959 두 번째는 네트워크 연결 및 동기화 설정입니다 141 00:07:45.959 --> 00:07:49.720 각 노드와 디스플레이를 동일한 네트워크에 연결하고 142 00:07:49.720 --> 00:07:52.239 동기화 설정을 진행해야 됩니다 143 00:07:52.239 --> 00:07:56.839 이를 통해 모든 노드가 동일한 타이밍으로 작동하며 144 00:07:56.839 --> 00:08:01.040 프레임 동기화와 입력 동기화가 이루어집니다 145 00:08:01.040 --> 00:08:03.840 세 번째로는 nDisplay 플러그인 및 146 00:08:03.840 --> 00:08:07.040 기본적인 프로젝트 설정 구성입니다 147 00:08:07.040 --> 00:08:11.000 언리얼 엔진에서 nDisplay 플러그인을 활성화하고 148 00:08:11.000 --> 00:08:12.920 프로젝트를 구성합니다 149 00:08:12.920 --> 00:08:17.279 이 단계에서는 nDisplay와 관련된 설정을 확인하고 150 00:08:17.279 --> 00:08:19.529 필요한 경우 추가적인 플러그인이나 151 00:08:19.529 --> 00:08:21.559 설정을 적용해야 합니다 152 00:08:21.559 --> 00:08:27.559 네 번째로는 스위치보드를 사용한 실행 및 디버깅입니다 153 00:08:27.559 --> 00:08:31.109 스위치보드를 사용하여 클러스터를 실행하고 154 00:08:31.109 --> 00:08:33.359 디버깅을 진행합니다 155 00:08:33.359 --> 00:08:36.509 스위치보드는 여러 노드를 동시에 제어하고 156 00:08:36.509 --> 00:08:38.839 상태를 모니터링 해야 합니다 157 00:08:38.839 --> 00:08:41.139 이러한 과정을 통해 nDisplay는 158 00:08:41.139 --> 00:08:44.359 버추얼 프로덕션 환경을 작동하게 합니다 159 00:08:44.359 --> 00:08:47.942 이번에는 nDisplay 사용 시 고려사항으로 160 00:08:47.942 --> 00:08:50.480 몇 개의 노드를 구성해야 하는지 161 00:08:50.480 --> 00:08:53.920 해상도 설정은 어떻게 하면 될지 알아보겠습니다 162 00:08:53.920 --> 00:08:56.034 이러한 구성을 바탕으로 하는 것은 163 00:08:56.034 --> 00:08:58.760 철저한 계산 아래의 설정이 되는데요 164 00:08:58.760 --> 00:09:00.410 nDisplay config는 165 00:09:00.410 --> 00:09:03.320 소프트웨어적 설정에서 끝나는 게 아니라 166 00:09:03.320 --> 00:09:05.270 이러한 config가 하드웨어의 명령을 167 00:09:05.270 --> 00:09:06.799 수행하게 하기 때문에 168 00:09:06.799 --> 00:09:09.267 실질적인 하드웨어 구성 및 169 00:09:09.267 --> 00:09:12.679 수량에도 직접적인 연관이 있습니다 170 00:09:12.679 --> 00:09:16.629 이러한 설정의 기준은 LED 패널의 제품 스펙과 171 00:09:16.629 --> 00:09:19.880 LED Volume의 크기에 따라 다릅니다 172 00:09:19.880 --> 00:09:24.430 예를 들어 ROE 제조사의 Ruby 2.2 패널로 173 00:09:24.430 --> 00:09:28.380 너비 14m, 높이 6m의 LED Wall을 174 00:09:28.380 --> 00:09:30.760 구성한다고 가정해 보겠습니다 175 00:09:30.760 --> 00:09:35.060 Ruby 2.2는 너비 50cm, 높이 50cm, 176 00:09:35.060 --> 00:09:39.920 한 개 패널당 해상도는 448×448 입니다 177 00:09:39.920 --> 00:09:43.520 LED Wall 전체로 봤을 때 너비 14m의 경우 178 00:09:43.520 --> 00:09:46.600 6272 pixel을 가지고 있고 179 00:09:46.600 --> 00:09:51.480 높이 6m의 경우 2688 pixel을 가지고 있습니다 180 00:09:51.480 --> 00:09:54.930 렌더 머신, 노드의 경우 한 대당 최대 아웃풋을 181 00:09:54.930 --> 00:09:57.799 3840×2160을 기준으로 합니다 182 00:09:57.799 --> 00:10:00.149 그렇기 때문에 전체 LED Wall의 183 00:10:00.149 --> 00:10:01.789 아웃풋을 커버하기 위해서는 184 00:10:01.789 --> 00:10:06.200 이미지처럼 총 3개의 렌더 노드가 필요한 겁니다 185 00:10:06.200 --> 00:10:08.000 물론 이 이미지처럼 186 00:10:08.000 --> 00:10:10.920 2개의 렌더 머신만 사용할 수도 있습니다 187 00:10:10.920 --> 00:10:13.520 다만 이렇게 사용할 경우 세로 해상도가 188 00:10:13.520 --> 00:10:16.359 528 pixel이 모자르게 됩니다 189 00:10:16.359 --> 00:10:19.709 렌더 머신 한 대당 금액이 매우 비싸기 때문에 190 00:10:19.709 --> 00:10:23.239 때때로 너무 높은 해상도가 필요하지 않을 경우 191 00:10:23.239 --> 00:10:28.160 해상도가 살짝 낮아지는 것을 감안하여 사용하기도 합니다 192 00:10:28.160 --> 00:10:31.960 이러한 nDisplay 구성은 하드웨어 규모와 예산 193 00:10:31.960 --> 00:10:35.760 그리고 사용 목적에 따라 고려되는 것이 달라집니다 194 00:10:35.760 --> 00:10:38.210 앞에서 말씀드렸듯 nDisplay는 195 00:10:38.210 --> 00:10:40.110 대규모 디스플레이 환경에서 196 00:10:40.110 --> 00:10:45.079 실시간 콘텐츠를 확장하고 동기화하는 강력한 도구입니다 197 00:10:45.079 --> 00:10:47.529 그러나 이를 효과적으로 사용하기 위해서는 198 00:10:47.529 --> 00:10:50.732 기술적 한계와 주의사항을 명확히 이해하고 199 00:10:50.732 --> 00:10:53.359 적절히 대처하는 것이 중요합니다 200 00:10:53.359 --> 00:10:55.859 nDisplay 환경에서 가장 중요한 요소는 201 00:10:55.859 --> 00:10:58.679 여러 번 이야기했듯 Genlock입니다 202 00:10:58.679 --> 00:11:01.829 Genlock은 모든 디스플레이와 카메라 203 00:11:01.829 --> 00:11:03.679 그리고 클러스트 노드 간의 204 00:11:03.679 --> 00:11:06.640 정확한 타이밍을 맞추는데 필수적입니다 205 00:11:06.640 --> 00:11:08.840 만약 Genlock이 제대로 설정되지 않으면 206 00:11:08.840 --> 00:11:11.440 다음과 같은 문제가 발생할 수 있습니다 207 00:11:11.440 --> 00:11:13.740 첫 번째로 프레임 어긋남으로 인해 208 00:11:13.740 --> 00:11:16.600 화면이 부드럽게 연결되지 않을 수 있습니다 209 00:11:16.600 --> 00:11:19.800 두 번째로 디스플레이 간 타이밍 불일치로 인해 210 00:11:19.800 --> 00:11:23.760 화면 깜빡임, 플리커가 발생할 수 있습니다 211 00:11:23.760 --> 00:11:26.410 이러한 문제를 방지하려면 각 노드에 212 00:11:26.410 --> 00:11:28.810 NVDIA quadro sync 카드 또는 213 00:11:28.810 --> 00:11:31.920 유사한 동기화 장치를 설치해야 합니다 214 00:11:31.920 --> 00:11:34.170 Genlock 동기화 문제를 해결하기 위해서 215 00:11:34.170 --> 00:11:35.960 다양한 의견이 있습니다 216 00:11:35.960 --> 00:11:39.060 Genlock 문제로 인해 발생하는 문제를 마주하게 되면 217 00:11:39.060 --> 00:11:41.810 정말 수많은 원인이 존재하기 때문에 218 00:11:41.810 --> 00:11:45.119 해결하는 것은 결코 쉬운 일이 아닙니다 219 00:11:45.119 --> 00:11:46.719 특히 세팅 처음에는 220 00:11:46.719 --> 00:11:49.519 문제가 없는 것을 확인하고 진행하지만 221 00:11:49.519 --> 00:11:51.832 어느 순간 Genlock에 문제가 있는 것을 222 00:11:51.832 --> 00:11:53.799 발견할 때도 많습니다 223 00:11:53.799 --> 00:11:57.699 시간이 지남에 따라 틀어지는 경우도 있고 224 00:11:57.699 --> 00:12:02.239 별다른 행동을 하지 않더라도 해결될 가능성도 있습니다 225 00:12:02.239 --> 00:12:04.439 특히 해당 부분은 많은 경험을 통한 226 00:12:04.439 --> 00:12:06.483 트러블 슈팅의 경험을 쌓는 것이 227 00:12:06.483 --> 00:12:09.200 매우 중요하다고 생각합니다 228 00:12:09.200 --> 00:12:11.500 nDisplay는 클러스터 노드와 229 00:12:11.500 --> 00:12:14.919 실시간 통신을 통해 동작합니다 230 00:12:14.919 --> 00:12:17.419 따라서 네트워크 성능이 곧 231 00:12:17.419 --> 00:12:19.760 시스템의 안정성을 좌우하는데요 232 00:12:19.760 --> 00:12:24.359 권장되는 네트워크 대역폭은 최소 10Gbps입니다 233 00:12:24.359 --> 00:12:28.309 만약 네트워크 성능이 부족하거나 레이턴시가 높으면 234 00:12:28.309 --> 00:12:30.640 문제가 높을 수가 있습니다 235 00:12:30.640 --> 00:12:33.790 예를 들어 클러스터 간 데이터 손실로 인해 236 00:12:33.790 --> 00:12:37.000 출력되는 화면이 일관되지 않을 수 있습니다 237 00:12:37.000 --> 00:12:39.750 또는 프레임 불일치 또는 238 00:12:39.750 --> 00:12:42.559 렌더링 지연이 발생할 수도 있습니다 239 00:12:42.559 --> 00:12:45.909 물론 이러한 부분을 해결하기 위한 가장 좋은 방법은 240 00:12:45.909 --> 00:12:49.960 네트워크에 대해 잘 아는 사람이 함께 세팅하는 것입니다 241 00:12:49.960 --> 00:12:52.510 다만 네트워크 자체를 잘 안다 하더라도 242 00:12:52.510 --> 00:12:54.560 nDisplay 노드 간 구성과 243 00:12:54.560 --> 00:12:57.000 역할에 대해 잘 알지 못하기 때문에 244 00:12:57.000 --> 00:13:00.920 함께 협업하여 구성하는 것이 매우 중요합니다 245 00:13:00.920 --> 00:13:03.870 고려사항으로는 모든 클러스터 노드가 246 00:13:03.870 --> 00:13:06.520 동일한 네트워크 망에 연결되어야 하며 247 00:13:06.520 --> 00:13:09.640 독립된 네트워크 스위치를 사용하는 것이 좋습니다 248 00:13:09.640 --> 00:13:13.599 또한 네트워크 최적화를 위해 불필요한 트래픽을 줄이고 249 00:13:13.599 --> 00:13:15.699 노드 간 패키지 손실 방지를 위해 250 00:13:15.699 --> 00:13:19.080 방화벽 설정도 꼼꼼하게 점검해야 됩니다 251 00:13:19.080 --> 00:13:23.799 다음으로 소프트웨어 및 시스템 한계에 대해 말씀드리겠습니다 252 00:13:23.799 --> 00:13:26.299 nDisplay는 언리얼 엔진의 253 00:13:26.299 --> 00:13:29.840 결정론적 시스템을 기반으로 작동합니다 254 00:13:29.840 --> 00:13:32.840 하지만 일부 언리얼 엔진의 기능은 255 00:13:32.840 --> 00:13:36.400 완전한 결정론적 특성을 가지고 있지 않습니다 256 00:13:36.400 --> 00:13:39.498 예를 들어 복잡한 물리엔진, 리지드 바디, 257 00:13:39.498 --> 00:13:42.599 소프트 바디, 스켈레톤 등의 시뮬레이션은 258 00:13:42.599 --> 00:13:46.039 렌더 요소로 인해 동기화 문제가 발생할 수 있습니다 259 00:13:46.039 --> 00:13:49.946 예시로 예전에 나이아가라를 활용하여 진행했을 때 260 00:13:49.946 --> 00:13:53.200 렌더 머신마다 렌더링 타이밍이 달라서 261 00:13:53.200 --> 00:13:56.200 이런 불특정 렌더에 대한 설정을 끄고서야 262 00:13:56.200 --> 00:13:58.719 동기화 이슈를 해결할 수 있었습니다 263 00:13:58.719 --> 00:14:01.469 또는 비결정론적 블루프린트 부분으로 264 00:14:01.469 --> 00:14:03.960 무작위 요소를 포함한 블루프린트는 265 00:14:03.960 --> 00:14:08.119 노드 간 비일관성을 유발하여 문제를 발생시킵니다 266 00:14:08.119 --> 00:14:11.319 이런 문제를 해결하려면 복잡한 물리나 267 00:14:11.319 --> 00:14:14.599 렌더 요소를 포함한 프로젝트에서는 268 00:14:14.599 --> 00:14:17.400 Replication 설정을 적용해야 합니다 269 00:14:17.400 --> 00:14:22.320 또한 주요 시뮬레이션 데이터는 주 노드에서 계산하고 270 00:14:22.320 --> 00:14:26.119 이를 클러스 노드에 배포하는 방식으로 처리해야 합니다 271 00:14:26.119 --> 00:14:28.919 다음으로 nDisplay는 다중 디스플레이가 272 00:14:28.919 --> 00:14:32.359 렌더링 경계를 처리할 때 문제가 발생할 수 있습니다 273 00:14:32.359 --> 00:14:36.009 포스트 프로세싱 효과 중 Bloom, Motion Blur, 274 00:14:36.009 --> 00:14:38.960 안티에이징과 같은 화면 기반 효과는 275 00:14:38.960 --> 00:14:42.640 디스플레이 경계에서 불일치가 발생할 수 있습니다 276 00:14:42.640 --> 00:14:46.340 해결 방법으로는 포스트 프로세싱 효과를 최소화하거나 277 00:14:46.340 --> 00:14:48.440 비활성화 해야 됩니다 278 00:14:48.440 --> 00:14:50.990 특히 Bloom, Lens Flare, 279 00:14:50.990 --> 00:14:53.190 Motion Blur, Ambient Occlusion 등의 280 00:14:53.190 --> 00:14:55.559 사용에 주의가 필요합니다 281 00:14:55.559 --> 00:14:59.119 nDisplay는 대규모 프로젝트에 적합하지만 282 00:14:59.119 --> 00:15:04.505 콘텐츠에 적합하지 않습니다 283 00:15:04.505 --> 00:15:07.455 따라서 사용자는 각 노드에 284 00:15:07.455 --> 00:15:10.000 프로젝트 파일을 수동으로 배포하거나 285 00:15:10.000 --> 00:15:14.178 별도로 배포하는 툴을 사용해야 됩니다 286 00:15:14.178 --> 00:15:17.000 물론 언리얼 엔진에서는 이를 해결하기 위해 287 00:15:17.000 --> 00:15:19.750 스위치보드와 리스너를 활용하여 288 00:15:19.750 --> 00:15:23.000 노드 간 프로젝트 동기화를 할 수 있습니다 289 00:15:23.000 --> 00:15:24.800 올바른 동기화를 하기 위해서는 290 00:15:24.800 --> 00:15:28.000 정확한 config 설정이 필수적입니다 291 00:15:28.000 --> 00:15:31.455 기타 주의 사항으로는 nDisplay 시스템에서 292 00:15:31.455 --> 00:15:33.705 하나의 노드가 장애를 일으키면 293 00:15:33.705 --> 00:15:36.861 전체 클러스터의 동기화가 깨질 수 있습니다 294 00:15:36.861 --> 00:15:40.414 따라서 노드 장애를 감지하고 빠르게 복구할 수 있는 295 00:15:40.414 --> 00:15:44.000 모니터링 시스템을 운영하는 것이 필수적입니다 296 00:15:44.000 --> 00:15:47.700 이는 큰 볼륨, 많은 노드를 가지고 있을수록 297 00:15:47.700 --> 00:15:50.000 쉽게 겪을 수 있습니다 298 00:15:50.000 --> 00:15:55.000 그래서 정확한 책임자 배정과 관리가 필요합니다 299 00:15:55.000 --> 00:15:57.700 이를 통해 스위치보드를 사용하여 300 00:15:57.700 --> 00:16:02.168 각 노드의 상태를 지속적으로 확인할 수 있습니다 301 00:16:02.168 --> 00:16:04.018 문제가 발생했을 때는 302 00:16:04.018 --> 00:16:07.733 즉시 로그를 확인하고 진행해야 합니다 303 00:16:07.733 --> 00:16:12.752 이처럼 nDisplay는 강력하지만 복잡한 기술입니다 304 00:16:12.752 --> 00:16:15.515 이를 최적화하고 효율적으로 사용하려면 305 00:16:15.515 --> 00:16:20.970 하드웨어, 소프트웨어, 네트워크, 콘텐츠 개발 과정에서 306 00:16:20.970 --> 00:16:24.257 발생할 수 있는 모든 문제를 사전에 대비해야 합니다 307 00:16:24.789 --> 00:16:28.591 Config 제작 방법 308 00:16:28.861 --> 00:16:33.525 이번에는 nDisplay 실습을 한번 진행하도록 하겠습니다 309 00:16:33.525 --> 00:16:36.693 차근차근 하나씩 같이 진행해 볼 텐데요 310 00:16:36.693 --> 00:16:40.188 하나씩 따라오시면 좋을 것 같습니다 311 00:16:40.188 --> 00:16:41.913 기본적으로 이번 시간에는 저희는 312 00:16:41.913 --> 00:16:44.880 언리얼 V5.3.2를 사용할 거고요 313 00:16:44.880 --> 00:16:47.480 실행 한번 해보겠습니다 314 00:16:47.480 --> 00:16:52.880 이제 보시면 저희는 일반적으로 제공하는 315 00:16:52.880 --> 00:16:55.180 셋업을 한번 사용해 볼텐데 316 00:16:55.180 --> 00:16:59.120 여기서 Blank를 한번 사용해 보도록 하겠습니다 317 00:16:59.120 --> 00:17:01.970 Starter Content는 제외시켜 주시고요 318 00:17:01.970 --> 00:17:05.870 그리고 저희가 지금 퍼포스 연동된 경로는 319 00:17:05.870 --> 00:17:08.897 D드라이브에 Perforce 폴더가 있기 때문에 320 00:17:08.897 --> 00:17:15.439 계승하시고 이름을 ndc_test로 시켰습니다 321 00:17:15.439 --> 00:17:16.976 그래서 Create를 누르겠습니다 322 00:17:20.840 --> 00:17:26.268 기본적으로 NDC를 하기 위해서는 323 00:17:26.268 --> 00:17:29.468 기본적인 프로젝트 세팅이 필요합니다 324 00:17:29.468 --> 00:17:34.311 첫 번째로는 플러그인 세팅을 진행해야 됩니다 325 00:17:34.311 --> 00:17:36.311 지금 저희가 샘플로 326 00:17:36.311 --> 00:17:40.411 인카메라 VFX 관련된 샘플을 열었기 때문에 327 00:17:40.411 --> 00:17:45.856 대부분 켜져 있긴 하지만 한번 확인하도록 하겠습니다 328 00:17:45.856 --> 00:17:49.859 주루룩 내려가시면 기본적으로 저희가 329 00:17:49.859 --> 00:17:53.519 Virtual Production이라는 탭을 볼 수 있습니다 330 00:17:53.519 --> 00:17:58.019 해당 탭을 누르시면 저희가 사용할 플러그인을 331 00:17:58.019 --> 00:18:01.308 찾아볼 수 있습니다 332 00:18:01.308 --> 00:18:05.858 보시면 제가 주로 사용하는 것 중에서는 333 00:18:05.858 --> 00:18:07.152 하나씩 켜보겠습니다 334 00:18:07.152 --> 00:18:10.585 Camera Calibration 플러그인 켜보시고요 335 00:18:15.720 --> 00:18:19.531 DMX 같은 경우도 저희가 자주 사용하긴 하지만 336 00:18:19.531 --> 00:18:23.879 지금은 저는 제외하고 넘어가겠습니다 337 00:18:23.879 --> 00:18:29.609 여기서 ICVFX라는 플러그인 켜주고요 338 00:18:29.609 --> 00:18:34.383 그리고 Led Wall Calibration 339 00:18:34.383 --> 00:18:38.112 LevelSnapshots 340 00:18:38.112 --> 00:18:41.212 그리고 LiveLink 관련된 것들이 있는데 341 00:18:41.212 --> 00:18:45.839 저희가 어떤 트래킹 장비를 사용하는지에 따라 다르고요 342 00:18:45.839 --> 00:18:49.939 그래서 LiveLinkCamera, FreeD 343 00:18:49.939 --> 00:18:53.732 이렇게 설정해 보겠습니다 344 00:18:53.732 --> 00:18:57.182 이제 이거는 로컬에서 한번 진행할 때 쓰는거고요 345 00:18:57.182 --> 00:19:00.415 한번 켜볼게요 346 00:19:00.415 --> 00:19:04.115 쭉 넘기면 Stage Monitor 347 00:19:04.115 --> 00:19:07.003 Stage Monitor 같은 경우는 각 연결된 머신들의 348 00:19:07.003 --> 00:19:10.360 퍼포먼스를 확인할 수 있는 플러그인이고요 349 00:19:10.360 --> 00:19:11.498 Switchboard 350 00:19:15.735 --> 00:19:19.928 싱크에 관련된, Data Monitor 351 00:19:19.928 --> 00:19:22.440 이런 식으로 켜주겠습니다 352 00:19:22.440 --> 00:19:25.357 여기까지 했으면 추가적으로 353 00:19:32.800 --> 00:19:35.919 Multi-User Editing이 켜져 있는지 한번 확인을 하고요 354 00:19:40.186 --> 00:19:43.839 Take Recorder 켜져 있는지 확인하고 355 00:19:43.839 --> 00:19:46.039 이제 기본적인 게 다 끝났으면 356 00:19:46.039 --> 00:19:50.479 여기서 리스타트를 진행해야 됩니다 357 00:19:50.479 --> 00:19:52.479 플러그인 세팅이 끝났으면 358 00:19:52.479 --> 00:19:56.894 프로젝트 세팅에 들어가 보겠습니다 359 00:19:56.894 --> 00:19:59.544 좀 다양하게 설정할 수 있는 부분이 많긴 한데 360 00:19:59.544 --> 00:20:02.594 우선 오늘은 정말 기본적인 간단한 것만 361 00:20:02.594 --> 00:20:05.160 한번 보도록 하겠습니다 362 00:20:05.160 --> 00:20:08.360 Input에 보면 모바일 쪽에 363 00:20:08.360 --> 00:20:11.640 Always Show Touch Interface가 있습니다 364 00:20:11.640 --> 00:20:13.490 이걸 꺼야 됩니다 365 00:20:13.490 --> 00:20:15.140 만약에 이 친구를 끄지 않는다고 하면 366 00:20:15.140 --> 00:20:20.439 NDC를 실행했을 때 화면 좌우측에 터치 367 00:20:20.439 --> 00:20:23.520 원형의 터치 페이스가, 인터페이스가 보이게 됩니다 368 00:20:23.520 --> 00:20:28.113 가장 중요한 UDP 세팅이 있습니다 369 00:20:28.113 --> 00:20:31.413 저는 여러 가지 IP가 지금 여기 있는데 370 00:20:31.413 --> 00:20:37.000 127.0.0.1은 제가 설명드렸던 것처럼 내부 루프백이고요 371 00:20:37.000 --> 00:20:40.250 192는 지금 제가 쓰고 있는 내부망 372 00:20:40.250 --> 00:20:45.517 20.20.0은 지금 제가 구성해놓은 373 00:20:45.517 --> 00:20:48.617 내부 인터넷 네트워크 망입니다 374 00:20:48.617 --> 00:20:50.959 이걸 사용하겠습니다 375 00:20:50.959 --> 00:20:56.744 이렇게 정확하게 Unicast를 입력하는 게 좋습니다 376 00:20:56.744 --> 00:21:01.444 그다음으로 할 수 있는게 Multi-User Editing 377 00:21:01.444 --> 00:21:06.401 여기서 Toolbar Button을 켜는 거고요 378 00:21:06.401 --> 00:21:10.501 Server Type은 Console로 바꾸겠습니다 379 00:21:10.501 --> 00:21:13.440 이제 여기까지가 기본적인 언리얼인데 380 00:21:13.440 --> 00:21:16.970 사실 NDC를 구동하기 전에 윈도우에서 추가적으로 381 00:21:16.970 --> 00:21:19.539 세팅해야 될 부분이 정말 많습니다 382 00:21:19.539 --> 00:21:27.639 저는 총 2대의 컴퓨터를 사용할 예정이고요 383 00:21:27.639 --> 00:21:36.050 한 대는 메인 오퍼레이팅을 진행할 예정이고 384 00:21:36.050 --> 00:21:37.750 지금 현재 컴퓨터입니다 385 00:21:37.750 --> 00:21:44.160 또 다른 한 대는 렌더 노드 역할을 하게 될 겁니다 386 00:21:44.160 --> 00:21:49.410 렌더 노드 같은 경우는 NDC를 387 00:21:49.410 --> 00:21:54.611 실제로 실행하는 역할을 하게 됩니다 388 00:21:54.611 --> 00:22:01.440 이제 이런 것들 2대에 대한 멀티 세팅 389 00:22:01.440 --> 00:22:03.312 세팅값이 있는 것을 저희는 390 00:22:03.312 --> 00:22:08.639 nDisplay Config를 통해서 진행합니다 391 00:22:08.639 --> 00:22:15.679 이걸 저희는 줄여서 NDC라고 하고 있습니다 392 00:22:15.679 --> 00:22:19.621 이 NDC는 기본적인 Config이긴 한데 393 00:22:19.621 --> 00:22:23.123 이걸 하기 전에 저희가 렌더 머신에서 394 00:22:23.123 --> 00:22:26.720 실제로 사용하는 부분에 대한 세팅이 필요합니다 395 00:22:26.720 --> 00:22:29.720 이 부분을 진행하겠습니다 396 00:22:29.720 --> 00:22:37.023 이거에 대한 조정은 VNC 통해서 진행하도록 하겠습니다 397 00:22:37.023 --> 00:22:44.380 지금 보시면 이 친구는 원격의 컴퓨터입니다 398 00:22:44.380 --> 00:22:50.089 기본적으로 저희가 여기서 해야 될 부분은 첫 번째로는 399 00:22:50.089 --> 00:22:54.679 기본적인 그래픽 카드에 대한 설정이 필요합니다 400 00:22:54.679 --> 00:22:58.751 여기 들어오시는 기본적인 모든 설정을 401 00:22:58.761 --> 00:23:02.011 시스템 토폴리지에서 볼 수가 있는데 하나씩 402 00:23:02.011 --> 00:23:03.875 올바른 설정값을 해보겠습니다 403 00:23:07.240 --> 00:23:10.090 3D 설정 들어오시면 저는 Workstation의 404 00:23:10.090 --> 00:23:13.080 Advanced Streaming을 사용하고 있고요 405 00:23:13.080 --> 00:23:18.081 추가적으로 한 가지 더 확인해야 될 것은 406 00:23:18.081 --> 00:23:21.631 전원 관리 모드에서 최고 성능을 선호하는 걸로 407 00:23:21.631 --> 00:23:25.880 잘 되어 있는지 확인하시면 되고요 408 00:23:25.880 --> 00:23:28.380 지금 저희 컴퓨터에는 409 00:23:28.380 --> 00:23:31.219 NVDIA RTX A6000 카드가 410 00:23:31.219 --> 00:23:33.800 총 2장 설치가 되어 있고 411 00:23:33.800 --> 00:23:36.300 이 모든 것은 이미지 프로세서 412 00:23:36.300 --> 00:23:39.600 Tessera SX40으로 가고 있습니다 413 00:23:39.600 --> 00:23:44.950 저희는 그 최적화하고 성능을 확대하기 위해서 414 00:23:44.950 --> 00:23:50.805 SLI 구성을 해서 2개 연결해서 같이 사용하고 있습니다 415 00:23:50.805 --> 00:23:56.050 해상도는 3840×2160이 주로 사용되고 있고 416 00:23:56.050 --> 00:23:59.000 24프레임으로 저희는 사용할 것이기 때문에 417 00:23:59.000 --> 00:24:01.800 재생 빈도를 24로 설정해 줘야 됩니다 418 00:24:01.800 --> 00:24:04.450 그 다음으로는 여기까지 됐다고 하면 419 00:24:04.450 --> 00:24:07.800 디스플레이 동기화를 클릭해 줍니다 420 00:24:07.800 --> 00:24:09.983 NDC에서 가장 중요한 부분이 421 00:24:09.983 --> 00:24:12.954 Genlock이라고 제가 계속 말씀을 드렸는데 422 00:24:12.954 --> 00:24:17.396 Genlock은 이런 식으로 해야 되는데 423 00:24:17.396 --> 00:24:19.572 저희 총 한 대만 사용하기 때문에 424 00:24:19.572 --> 00:24:24.320 외부에서 넣고 있는 Genlock 신호를 여기서 425 00:24:24.320 --> 00:24:27.070 이 시스템을 클릭하신 다음에 426 00:24:27.070 --> 00:24:29.120 전 지금 외부 하우스 동기 신호를 427 00:24:29.120 --> 00:24:30.559 넣고 있는 상태이기 때문에 428 00:24:30.559 --> 00:24:33.258 얘를 클릭하고 적용 429 00:24:36.839 --> 00:24:41.339 확인을 누르시면 동기화가 됩니다 430 00:24:41.339 --> 00:24:43.539 총 2대를 사용한다고 했었는데 431 00:24:43.539 --> 00:24:51.650 이 2대는 동일한 네트워크에 설정이 되어 있어야 됩니다 432 00:24:51.650 --> 00:24:52.973 확인하기 위해서 433 00:24:56.279 --> 00:25:01.680 지금 메인 컴퓨터의 IP를 확인해 보겠습니다 434 00:25:01.680 --> 00:25:05.997 20.20.0.10번이죠 VNC로 다시 들어가 봐서 435 00:25:10.000 --> 00:25:17.836 현재 컴퓨터는 20.20.0.20점을 쓰고 있습니다 436 00:25:17.836 --> 00:25:22.040 그렇기 때문에 여기서 ping을 한번 날려 볼게요 437 00:25:22.040 --> 00:25:27.343 저희 렌더 머신이 아니라 메인 머신으로 쏴 보면 438 00:25:27.343 --> 00:25:31.679 이런 식으로 Ping이 통하는 것을 볼 수 있습니다 439 00:25:31.679 --> 00:25:34.779 이렇게 되면 기본적인 것은 끝나긴 했는데 440 00:25:34.779 --> 00:25:40.799 추가적으로 저희가 한번 확인하면 좋을 것이 이제 441 00:25:40.799 --> 00:25:44.986 네트워크 설정에 들어가시면 442 00:25:44.986 --> 00:25:46.576 제가 쓰고 있는 443 00:25:50.119 --> 00:25:53.495 내부망에 대한 그 상태를 보겠습니다 444 00:25:55.554 --> 00:25:57.504 지금 전 10Gbps로 구성을 해놔서 445 00:25:57.504 --> 00:26:00.454 속도가 10Gbps가 나오는 것을 볼 수가 있으십니다 446 00:26:00.454 --> 00:26:03.920 이런 식으로 10Gbps 이상으로 447 00:26:03.920 --> 00:26:06.470 네트워크 망을 구성해 주시면 좋습니다 448 00:26:06.470 --> 00:26:11.153 일반적인 외부망 같은 경우는 1Gbps로 되어 있습니다 449 00:26:11.403 --> 00:26:15.026 nDisplay Config 설정 450 00:26:15.799 --> 00:26:20.705 이번에는 실제로 NDC를 한번 설정해 보겠습니다 451 00:26:28.000 --> 00:26:30.350 기본적으로 아무것도 없는 프로젝트에 452 00:26:30.350 --> 00:26:31.866 한번 진행해 볼 텐데요 453 00:26:33.920 --> 00:26:36.609 첫 번째로 454 00:26:36.609 --> 00:26:40.209 진행할 것은 폴더 및 경로를 만드는 것입니다 455 00:26:40.209 --> 00:26:42.109 모든 작업은 혼자 하는 게 아니라 456 00:26:42.109 --> 00:26:45.160 다른 사람들이랑 같이 하는 것이기 때문에 457 00:26:45.160 --> 00:26:48.193 정확하게 정해진 폴더 경로를 항상 458 00:26:48.193 --> 00:26:51.679 그대로 사용하는 것을 추천드립니다 459 00:26:51.679 --> 00:26:54.379 정확한 경로로 하는 것은 매우 중요합니다 460 00:26:54.379 --> 00:27:01.676 Content 폴더에다가 폴더를 만들어 보겠습니다 461 00:27:01.676 --> 00:27:06.279 vp 폴더를 만드신 다음에, 여기에 여러 가지 만들 텐데요 462 00:27:06.279 --> 00:27:11.897 첫 번째로는 livelink 463 00:27:11.897 --> 00:27:17.023 그 다음으로는 NDC 464 00:27:17.023 --> 00:27:23.433 그 다음으로는 oCIO를 만듭니다 465 00:27:23.433 --> 00:27:24.983 이거 외에도 더 많긴 한데 466 00:27:24.983 --> 00:27:29.440 이번엔 정말 기본적인 것만 해보도록 하겠습니다 467 00:27:29.440 --> 00:27:31.836 처음으로 저희가 NDC 를 설정할 텐데요 468 00:27:36.399 --> 00:27:38.999 우클릭을 하신 다음에 469 00:27:38.999 --> 00:27:42.559 nDisplay > nDisplay Config가 있습니다 470 00:27:42.559 --> 00:27:45.009 여기서 클릭을 하시면 471 00:27:45.009 --> 00:27:47.259 기존에 있던 것을 가지고 올 것인지 472 00:27:47.259 --> 00:27:50.040 새로 만들 것인지 확인할 수 있습니다 473 00:27:50.040 --> 00:27:52.684 이번엔 저희는 새로운 걸 한번 만들어 보겠습니다 474 00:27:57.037 --> 00:27:59.537 이름을 별도로 지어 주시고요 475 00:27:59.537 --> 00:28:02.287 항상 네이밍은 중요합니다 476 00:28:02.287 --> 00:28:07.797 그래야지만 다른 사람들이 같이 해볼 수 있습니다 477 00:28:07.797 --> 00:28:12.510 다른 사람 작업할 때 문제가 없습니다 478 00:28:12.510 --> 00:28:16.039 Config를 한번 열어 보겠습니다 479 00:28:16.039 --> 00:28:18.739 이제 Config를 열면 이런 식으로 480 00:28:18.739 --> 00:28:24.055 이미 지정된 하나의 UI가 나오고요 481 00:28:24.055 --> 00:28:26.705 전반적으로 설명만 드리겠습니다 482 00:28:26.705 --> 00:28:28.705 여기 상단에 있는 것들은 483 00:28:28.705 --> 00:28:30.455 일반적으로 언리얼에 사용하는 것들의 484 00:28:30.455 --> 00:28:32.880 기본적인 기능들이 있고요 485 00:28:32.880 --> 00:28:37.960 Blueprint > Components > Cluster 486 00:28:37.960 --> 00:28:39.810 기본적인 프리뷰 487 00:28:39.810 --> 00:28:42.346 그리고 실제로 나중에 아웃풋 할 때에 대한 488 00:28:42.346 --> 00:28:45.919 매핑을 할 수 있는 매핑 창이 있고요 489 00:28:45.919 --> 00:28:48.919 여기 오른쪽에는 제가 선택한 것에 대한 490 00:28:48.919 --> 00:28:53.216 Details 설정 창을 볼 수 있습니다 491 00:28:53.216 --> 00:28:58.724 보시면 먼저 이렇게 기본적인 부분이 있는데 492 00:28:58.724 --> 00:29:03.524 얘를 탑재하겠습니다 493 00:29:03.524 --> 00:29:07.274 강의에서 말했던 것처럼 메시 파일은 엄청 중요한데요 494 00:29:07.274 --> 00:29:10.455 어떤 파일을 쓸지에 따라서 매우 달라집니다 495 00:29:17.296 --> 00:29:21.696 제가 가장 많이 쓰는 웹사이트인데요 496 00:29:21.696 --> 00:29:24.652 기본적인 패널에 대한 정보 497 00:29:24.652 --> 00:29:28.102 LED Wall에 대한 정보를 입력하면 498 00:29:28.102 --> 00:29:32.483 OBJ로 출력을 바로 해주는 499 00:29:32.483 --> 00:29:39.640 지금 테스트로 10m에 4m 500 00:29:39.640 --> 00:29:44.440 Tile angle은 LED 패널마다의 각도를 말하는데 501 00:29:44.440 --> 00:29:47.640 이번에 저는 2도로 한번 해보겠습니다 502 00:29:47.640 --> 00:29:53.174 패널 당 넓이와 높이는 500×500 503 00:29:53.174 --> 00:30:00.216 해상도는 192 504 00:30:00.216 --> 00:30:03.652 192로 하겠습니다 505 00:30:03.652 --> 00:30:07.661 기본적인 Position Offsets를 여기서 설정할 수 있고 506 00:30:07.661 --> 00:30:11.711 이제 Pivot point를 여기서 설정할 수 있습니다 507 00:30:11.711 --> 00:30:19.119 이 상태에서 Download OBJ를 해보겠습니다 508 00:30:19.119 --> 00:30:21.869 이런 식으로 기본적인 OBJ 파일을 509 00:30:21.869 --> 00:30:26.653 저희가 확인할 수가 있고요 510 00:30:26.653 --> 00:30:28.737 여기서 폴더 하나를 더 만들어서 511 00:30:28.737 --> 00:30:31.413 mesh 폴더를 만들겠습니다 512 00:30:31.413 --> 00:30:37.520 mesh 폴더에 저희가 방금 만든 OBJ 파일을 입력합니다 513 00:30:37.520 --> 00:30:42.065 여기서 여러 가지 설정을 진행할 수 있는데 514 00:30:42.065 --> 00:30:44.965 저는 오늘은 간단하게 515 00:30:44.965 --> 00:30:51.163 디폴트 값으로 진행하도록 하겠습니다 516 00:30:51.163 --> 00:30:53.913 다시 NDC로 넘어가겠습니다 517 00:30:53.913 --> 00:30:59.200 이제 저희가 실제로 사용할 LED 메시가 필요한데요 518 00:30:59.200 --> 00:31:04.754 방금 메시는 519 00:31:04.754 --> 00:31:10.534 여기서 끌고 올 수 있도록 하겠습니다 520 00:31:10.534 --> 00:31:13.434 보시면 지금 잘 보이지 않죠? 521 00:31:13.434 --> 00:31:17.437 이게 아마 크기가 달라서 그럴 텐데 522 00:31:28.680 --> 00:31:31.176 이런 수치의 기준값이 다르기 때문에 523 00:31:31.176 --> 00:31:36.206 여기 Scale을 조정하면 만지실 수 있으십니다 524 00:31:45.879 --> 00:31:48.379 이런 식으로 만드신 다음에 525 00:31:48.379 --> 00:31:51.479 보시면 여기 바닥에 미터가 나와 있습니다 526 00:31:51.479 --> 00:31:55.280 플러스, 마이너스 이렇게 있는데 527 00:31:55.280 --> 00:32:06.480 그래서 제가 바라보는 이 부분이 정면이라고 생각하시면 됩니다 528 00:32:06.480 --> 00:32:09.680 그리고 이 거리는 매우 중요한데요 529 00:32:09.680 --> 00:32:14.840 이 거리의 기점은 어떤 기점이냐면 530 00:32:14.840 --> 00:32:20.490 이 원점이 트래킹 데이터의 원점이라고 가정을 하고 531 00:32:20.490 --> 00:32:24.214 트래킹 데이터의 원점과 LED의 실제 거리가 532 00:32:24.214 --> 00:32:26.373 8m다 하면 533 00:32:26.373 --> 00:32:29.849 8m를 띄우는 것이 매우 중요합니다 534 00:32:29.849 --> 00:32:32.449 가상 세계의 원점과 실제 세계 원점을 535 00:32:32.449 --> 00:32:35.199 맞추는 과정이라고 보시면 되고요 536 00:32:35.199 --> 00:32:38.499 여기서 추가를 할 것은 NDisplay Transform 537 00:32:38.499 --> 00:32:42.467 입력을 하시고 538 00:32:42.467 --> 00:32:50.533 ICVFX Camera를 추가적으로 같이 넣어주게 됩니다 539 00:32:50.533 --> 00:32:57.068 이 상태가 됐으면 기본적인 설정은 완료가 된 거고요 540 00:33:03.872 --> 00:33:08.172 Origin까지 추가적으로 넣어준 다음에 541 00:33:08.172 --> 00:33:12.122 이 친구를 어떤 클러스터 어떤 노드에 542 00:33:12.122 --> 00:33:16.000 렌더를 시킬지를 여기서 명령을 해 줄 수 있습니다 543 00:33:16.000 --> 00:33:19.169 저희는 한 대의 노드만 가지고 있기 때문에 544 00:33:19.169 --> 00:33:20.810 한번 만들어 보겠습니다 545 00:33:29.480 --> 00:33:33.430 이름은 main_wall_node라고 진행한 다음에 546 00:33:33.430 --> 00:33:38.240 Cluster가 Parent고 Preset은 이렇게 있습니다 547 00:33:38.240 --> 00:33:44.840 여기 보시면 이거는 여기에서 조정할 수가 있는데요 548 00:33:44.840 --> 00:33:48.840 저희는 기본적으로 549 00:33:48.840 --> 00:33:53.290 한 아웃풋당 3840×2160을 하고 있기 때문에 550 00:33:53.290 --> 00:33:56.559 3840×2160을 기입을 해주시고요 551 00:33:56.559 --> 00:33:59.159 여기에 Host IP가 필요한데 552 00:33:59.159 --> 00:34:05.798 이거에 대한 IP는 아까 렌더 머신에 노드를 553 00:34:05.798 --> 00:34:10.445 그 IP를 입력해 주면 됩니다 554 00:34:10.445 --> 00:34:13.762 그리고 항상 Fullscreen으로 되어야 되기 때문에 555 00:34:13.762 --> 00:34:17.559 전체화면이 되게끔 이걸 체크해 주면 됩니다 556 00:34:17.559 --> 00:34:20.209 이제 이외에 세팅들 추가적으로 있는데 이거는 557 00:34:20.209 --> 00:34:23.880 다음 기회가 된다면 말씀드릴 수 있도록 하겠습니다 558 00:34:23.880 --> 00:34:26.030 그래서 Add를 누르시면 559 00:34:26.030 --> 00:34:29.919 여기 OutputMapping에 추가가 됩니다 560 00:34:29.919 --> 00:34:35.591 여기 보시면 해상도를 확인할 수가 있고 561 00:34:35.591 --> 00:34:39.841 그 렌더 노드의 IP 주소를 확인할 수 있습니다 562 00:34:39.841 --> 00:34:42.600 지금 보시면 이렇게 검은색 화면이 나오는데 563 00:34:42.600 --> 00:34:46.050 이 매핑된 영상이 어디에 나올지에 대한 564 00:34:46.050 --> 00:34:48.500 메시 설정이 안 되어 있어서 565 00:34:48.500 --> 00:34:51.800 검은색으로 되어 있는데 보시면 566 00:34:51.800 --> 00:34:56.700 Projection Policy에서 메시를 선택하시고 567 00:34:56.700 --> 00:34:59.639 저희가 만들어 놓은 이 메시가 여기 있을 겁니다 568 00:34:59.639 --> 00:35:06.863 클릭하시면 이런 식으로 매핑이 되게 됩니다 569 00:35:06.863 --> 00:35:11.906 다만 저희가 실제로 쓸 LED Wall의 메시는 570 00:35:19.279 --> 00:35:27.320 192 해상도 패널이 10m로 2개가 들어있기 때문에 3840 571 00:35:27.320 --> 00:35:32.118 세로가 192 곱하기 572 00:35:32.118 --> 00:35:34.111 2개 패널을 붙였으니까 2에 573 00:35:34.111 --> 00:35:37.759 4m니까 4를 곱하면 1536입니다 574 00:35:37.759 --> 00:35:41.059 그렇기 때문에 이 3840은 동일한데 575 00:35:41.059 --> 00:35:45.812 이 1536을 바꿔줘야 됩니다 576 00:35:45.812 --> 00:35:49.156 보시면 여기서 이거를 1536으로 577 00:35:55.520 --> 00:35:59.170 이거를 1536으로 변경을 해줍니다 578 00:35:59.170 --> 00:36:01.970 이렇게 되면 1:1 픽셀로 579 00:36:01.970 --> 00:36:04.270 아웃풋을 내보낼 수 있다는 걸 580 00:36:04.270 --> 00:36:07.347 확인할 수가 있습니다 581 00:36:07.347 --> 00:36:09.647 보시면 여기서 추가적으로 저희가 582 00:36:09.647 --> 00:36:11.697 몇 개 더 설명 드릴 수 있는데요 583 00:36:11.697 --> 00:36:13.945 우선은 이 부분들은 실제로 584 00:36:13.945 --> 00:36:16.047 렌더 머신이 여러 대 있을 때 585 00:36:16.047 --> 00:36:19.347 의미가 있는 부분들이긴 하지만 586 00:36:19.347 --> 00:36:23.291 간략하게 몇 개 중요한 부분 말씀을 드리면 587 00:36:23.291 --> 00:36:25.891 기본적으로 여기 Render Sync Policy가 588 00:36:25.891 --> 00:36:29.720 ethernet이 기본적인 설정값입니다 589 00:36:29.720 --> 00:36:33.270 근데 퍼포먼스적으로 더 나은 설정은 Nvidia입니다 590 00:36:33.270 --> 00:36:35.520 이거는 여러 대의 렌더를 사용할 때 591 00:36:35.520 --> 00:36:38.000 이걸 선택해서 진행하시면 되고요 592 00:36:38.000 --> 00:36:41.550 이거 자체가 그래픽 카드의 퍼포먼스를 올리고 줄이는데 593 00:36:41.550 --> 00:36:43.600 크나큰 역할을 하고 있습니다 594 00:36:43.600 --> 00:36:49.928 여기까지 완료됐으면 Compile 누르시고 나갑니다 595 00:36:49.928 --> 00:36:52.112 이제 이 상태에서 추가적으로 할 것은 596 00:36:52.112 --> 00:36:57.036 NDC Config을 여기다 올려줍니다 597 00:36:57.036 --> 00:37:00.936 이렇게 되면 nDisplay가 나오고 598 00:37:00.936 --> 00:37:02.336 화면에 맺힌 부분 599 00:37:02.336 --> 00:37:07.000 아웃 프러스텀과 이너 프러스텀을 확인할 수 있습니다 600 00:37:07.000 --> 00:37:09.100 보시면 이제 이런 식으로 되어 있는데요 601 00:37:09.100 --> 00:37:13.950 저 같은 경우는 기본적인 액터 하나를 추가한 다음에 602 00:37:13.950 --> 00:37:24.848 이 친구를 ndc_origin으로 설정합니다 603 00:37:24.848 --> 00:37:28.758 그래서 이 친구를 여기 하위에 넣고요 604 00:37:35.812 --> 00:37:38.964 이런 식으로 origin을 통해서 605 00:37:38.964 --> 00:37:43.239 NDC의 위치값을 조정하는 편입니다 606 00:37:43.239 --> 00:37:47.489 여기까지 됐으면 추가적으로 해줘야 될 게 있습니다 607 00:37:47.489 --> 00:37:50.021 결과적으로 이 이너 역할을 할 608 00:37:50.021 --> 00:37:51.916 별도의 카메라가 필요한 상태인데요 609 00:37:51.916 --> 00:37:58.166 그 카메라는 여기에서 Cinematic에서 610 00:37:58.166 --> 00:38:00.566 Cine Camera Actor를 클릭해서 611 00:38:00.566 --> 00:38:02.519 액터를 추가해줍니다 612 00:38:02.519 --> 00:38:04.569 이 액터를 마찬가지로 613 00:38:04.569 --> 00:38:07.419 nDisplayConfig 하위에 놔두고요 614 00:38:07.419 --> 00:38:09.838 저같은 경우는 추가적으로 615 00:38:19.474 --> 00:38:22.824 acamera_origin을 만든 상태에서 616 00:38:22.824 --> 00:38:27.039 카메라 액터를 오른쪽에다가 넣습니다 617 00:38:27.039 --> 00:38:28.731 하고 나서는 이거에 대한 origin을 618 00:38:28.731 --> 00:38:31.739 무조건 원점으로 돌려놓습니다 619 00:38:31.739 --> 00:38:34.339 이걸 하는 이유는 감독님마다 620 00:38:34.339 --> 00:38:37.479 이너의 위치를 조금씩 바꾸길 원하실 때가 있는데 621 00:38:37.479 --> 00:38:40.829 트래킹 데이터로 묶여 있으면 조정이 불가능하기 때문에 622 00:38:40.829 --> 00:38:44.501 이 origin을 통해서 조정하고 있습니다 623 00:38:44.501 --> 00:38:49.142 여기까지 됐으면 NDC에서 카메라 설정을 해줘야 됩니다 624 00:38:49.142 --> 00:38:53.264 보시면 아까 제가 이너 NDC에서 설정한 625 00:38:53.264 --> 00:38:55.046 이 이너 ICVFX Camera가 있는데 626 00:38:55.046 --> 00:38:57.320 이걸 클릭하신 다음에 627 00:38:57.320 --> 00:39:00.770 어떤 카메라 액터를 이 역할로 할당할 것인지 628 00:39:00.770 --> 00:39:05.440 클릭해 주시면 할당이 끝났습니다 629 00:39:05.440 --> 00:39:08.890 예시로 보면 이 카메라를 움직이게 되면 630 00:39:08.890 --> 00:39:12.940 이런 식으로 이너가 바뀌게 됩니다 631 00:39:12.940 --> 00:39:15.287 테스트로 몇 가지 넣어보면 632 00:39:25.513 --> 00:39:29.563 이 이너 카메라 잡고 있는 이 친구의 모양의 위치가 633 00:39:29.563 --> 00:39:32.796 이런 식으로 방금 된 것을 확인할 수 있습니다 634 00:39:36.370 --> 00:39:40.470 이제 여기까지 기본적인 NDC 세팅이었습니다 635 00:39:40.470 --> 00:39:43.420 이 이외에 NDC의 핵심적인 요소들은 636 00:39:43.420 --> 00:39:45.639 첫 번째로 CIO 637 00:39:45.639 --> 00:39:46.989 두 번째는 라이트 카드 638 00:39:46.989 --> 00:39:51.759 세 번째로는 크로마 설정 등이 있습니다 639 00:39:51.759 --> 00:39:54.209 다양하고 디테일한 설정들이 많은데 640 00:39:54.209 --> 00:39:56.609 이것들은 개인적으로 혼자 641 00:39:56.609 --> 00:39:59.240 추가적으로 공부를 해보시면 좋을 것 같습니다 642 00:39:59.240 --> 00:40:00.640 이렇게 해서 오늘 643 00:40:00.640 --> 00:40:02.746 nDisplay 멀티 디스플레이 셋업에 대한 644 00:40:02.746 --> 00:40:04.720 강의를 마무리 하겠습니다 645 00:40:04.720 --> 00:40:06.720 nDisplay는 버추얼 프로덕션에서 646 00:40:06.720 --> 00:40:08.820 중요한 역할을 하고 있습니다 647 00:40:08.820 --> 00:40:11.820 오늘 배운 기본 이론 및 실습 내용이 648 00:40:11.820 --> 00:40:13.799 실제 프로젝트에 적용이 될 때 649 00:40:13.799 --> 00:40:18.249 안정적인 결과로 이어갈 수 있는 도움이 되었으면 합니다 650 00:40:18.249 --> 00:40:20.349 nDisplay를 활용하는 과정에서 651 00:40:20.349 --> 00:40:22.600 여러 기술적 도전이 있을 수 있지만 652 00:40:22.600 --> 00:40:26.200 그만큼 보람있는 결과를 얻을 수 있습니다 653 00:40:26.200 --> 00:40:29.000 그럼 이번 시간 학습한 내용을 복습하면서 654 00:40:29.000 --> 00:40:30.359 마무리 하겠습니다 655 00:40:30.359 --> 00:40:31.119 감사합니다 656 00:40:31.514 --> 00:40:32.764 nDisplay의 이해 nDisplay 언리얼 엔진의 강력한 멀티 디스플레이 시스템으로 대규모 디스플레이 환경의 효율적 구성 및 제어에 활용됨 657 00:40:32.764 --> 00:40:34.014 nDisplay의 주요 기능 멀티 노드 렌더링 네트워크 기반 동기화 카메라와 트래킹 시스템의 통합 디스플레이 구성 및 관리의 유연성 658 00:40:34.014 --> 00:40:35.264 nDisplay 하드웨어 구성 요소 NVDIA Quadro Sync 카드, Genlock 지원, 고속 네트워크 659 00:40:35.264 --> 00:40:36.534 nDisplay 소프트웨어 구성 요소 nDisplay config 파일, SwitchBoard 도구, 멀티 유저 기능 660 00:40:36.534 --> 00:40:37.734 nDisplay 동작 원리 단계 nDisplay config 파일 구성 네트워크 연결 및 동기화 설정 661 00:40:37.734 --> 00:40:38.984 nDisplay 플러그인 및 기본적인 프로젝트 설정 구성 SwitchBoard를 사용한 실행 및 디버깅 662 00:40:38.984 --> 00:40:40.234 nDisplay의 한계 Genlock 및 동기화 이슈 네트워크 성능 제한 663 00:40:40.234 --> 00:40:41.470 결정론적 시스템의 한계 다중 디스플레이 간 렌더링 경계 처리 시 문제 발생 콘텐츠 개발 및 배포의 한계 664 00:40:41.470 --> 00:40:42.271 Config 제작 방법 플러그인 세팅 설치한 플러그인으로 Virtual Production, Camera Calibration, ICVFX, Led Wall Calibration, 665 00:40:42.271 --> 00:40:43.121 LevelSnapshots, LiveLinkCamera, LiveLinkFreeD, nDisplay Launch, Stage Monitor, Stage Monitor 선택 666 00:40:43.121 --> 00:40:43.920 Multi-User Editing, Take Recorder 활성화 확인 667 00:40:43.920 --> 00:40:44.770 프로젝트 세팅 Engine > Input < Mobile > Always Show Touch Interface 항목 체크 해제 668 00:40:44.770 --> 00:40:45.570 Plugins > UDP Messaging > Transport > Unicast Endpoint 설정 669 00:40:45.570 --> 00:40:46.420 Plugins > Multi-User Editing > Toolbar Button 활성화 Server Type은 Console로 설정 670 00:40:46.423 --> 00:40:47.923 렌더 머신 실제 실행 부분 세팅 F3D 설정 관리에서 전원 관리 모드를 최고 성능 선호로 설정 SLI 및 PhysX 구성 설정에서 3D 성능 극대화 확인 671 00:40:47.923 --> 00:40:49.673 해상도 3840×2160, 재생 빈도 24Hz 설정 및 디스플레이 동기화 선택 타이밍 서버에 이 시스템 항목 선택 후 외부 하우스 동기 신호 선택 후 적용 및 확인 672 00:40:49.673 --> 00:40:51.393 사용하는 2대의 컴퓨터의 네트워크가 동일하도록, 속도는 10Gbps 이상이 되도록 설정 673 00:40:51.393 --> 00:40:52.043 nDisplay Config 설정 nDisplay Config 설정 Content 폴더에 새 폴더 생성 후 0_vp로 이름 설정 674 00:40:52.043 --> 00:40:52.643 0_vp 폴더에 livelink, ndc, ocio 폴더 새로 생성 ndc 폴더에 Create New Config 선택 후 test_nDisplay Config로 이름 설정 675 00:40:52.643 --> 00:40:53.293 ObjGen [beta]에서 LED Wall 정보 입력 후 Download OBJ 클릭 ndc 폴더에 mesh 폴더 새로 생성 후 mesh 폴더에 obj 파일을 드래그 앤 드롭 676 00:40:53.293 --> 00:40:53.893 mesh 폴더의 obj Mesh를 test_nDisplay Config의 컴포넌트로 등록 677 00:40:53.893 --> 00:40:54.543 NDisplay Transform, ICVFX Camera, NDisplay View Origin 컴포넌트 추가 678 00:40:54.543 --> 00:40:55.143 Cluster Node 추가 후 main_wall_node로 이름 설정 해상도는 3840×2160, IP 주소는 렌더 머신과 동일하게, Fullscreen 체크 설정 679 00:40:55.143 --> 00:40:55.743 Details 창 Projection Policy의 Type을 Mesh로 변경 후 Mesh에 obj mesh 적용 680 00:40:55.743 --> 00:40:56.350 main_wall_node, VP_0의 사이즈를 패널 크기에 맞게 변경