WEBVTT 1 00:00:04.201 --> 00:00:08.969 Realistic Advanced nDisplay Multi-Display Setup 2 00:00:08.969 --> 00:00:11.613 GCC Academy 3 00:00:26.970 --> 00:00:30.891 Understanding nDisplay 4 00:00:31.495 --> 00:00:32.295 Hello, everyone 5 00:00:32.295 --> 00:00:34.845 My name is Jiyong Park, and I’ll lead today’s lecture 6 00:00:34.845 --> 00:00:37.683 on nDisplay Multi-Display Setup 7 00:00:37.683 --> 00:00:40.155 In this session 8 00:00:40.155 --> 00:00:41.742 we’ll learn about nDisplay 9 00:00:41.742 --> 00:00:44.892 As displays become larger and more diverse 10 00:00:44.892 --> 00:00:48.692 it’s increasingly important to connect and reproduce 11 00:00:48.692 --> 00:00:51.119 multiple displays effectively with scalability 12 00:00:51.119 --> 00:00:54.619 So, after covering some basic theoretical concepts 13 00:00:54.619 --> 00:00:57.000 we’ll go through a simple hands-on session 14 00:00:57.000 --> 00:00:59.550 to see how nDisplay setups 15 00:00:59.550 --> 00:01:03.000 are actually implemented in real-world scenarios 16 00:01:03.000 --> 00:01:07.000 Let’s dive into Unreal Engine’s nDisplay 17 00:01:07.000 --> 00:01:11.000 The "n" in nDisplay can be interpreted in several ways 18 00:01:11.000 --> 00:01:14.813 "Network," as it represents a system where multiple computers and displays 19 00:01:14.813 --> 00:01:18.000 are connected via a network, collaborating seamlessly 20 00:01:18.000 --> 00:01:21.350 Through the network, data synchronization 21 00:01:21.350 --> 00:01:24.250 real-time rendering, and output are achieved 22 00:01:24.250 --> 00:01:26.158 aligning with this interpretation 23 00:01:26.158 --> 00:01:28.802 Another interpretation is "Numerous," 24 00:01:28.802 --> 00:01:33.574 as "n" in mathematics commonly signifies an arbitrary number 25 00:01:33.574 --> 00:01:37.224 In nDisplay, it symbolizes the system’s capability 26 00:01:37.224 --> 00:01:40.000 to manage multiple displays or multiple nodes 27 00:01:40.000 --> 00:01:44.000 highlighting its scalability and flexibility 28 00:01:44.000 --> 00:01:47.267 Another interpretation is scalability 29 00:01:47.267 --> 00:01:51.117 In line with the earlier points, "n" 30 00:01:51.117 --> 00:01:54.000 suggests a system that can expand without limits 31 00:01:54.000 --> 00:01:56.650 nDisplay allows additional displays and computers 32 00:01:56.650 --> 00:01:58.550 to be connected 33 00:01:58.550 --> 00:02:02.386 enabling it to operate flexibly even in large and complex environments 34 00:02:02.386 --> 00:02:04.686 When we combine all these aspects 35 00:02:04.686 --> 00:02:07.989 the essential characteristic of "n" in nDisplay symbolizes 36 00:02:07.989 --> 00:02:12.683 network-based multi-display scalability 37 00:02:12.683 --> 00:02:15.960 This highlights the technology's 38 00:02:15.960 --> 00:02:17.614 flexibility and scalability 39 00:02:17.614 --> 00:02:21.000 Let’s now take a closer look at the key features of nDisplay 40 00:02:21.000 --> 00:02:25.000 Building on the concepts discussed earlier 41 00:02:25.000 --> 00:02:27.650 nDisplay is a powerful multi-display system 42 00:02:27.650 --> 00:02:31.000 in Unreal Engine 43 00:02:31.000 --> 00:02:34.350 primarily used to configure and manage 44 00:02:34.350 --> 00:02:36.683 large-scale display environments efficiently 45 00:02:36.683 --> 00:02:39.633 This system delivers robust performance 46 00:02:39.633 --> 00:02:41.833 even in complex multi-display setups 47 00:02:41.833 --> 00:02:43.802 through four key features 48 00:02:43.802 --> 00:02:47.891 The first major feature is multi-node rendering 49 00:02:47.891 --> 00:02:51.024 nDisplay clusters multiple computers 50 00:02:51.024 --> 00:02:54.287 to distribute workloads 51 00:02:54.287 --> 00:02:57.687 Each computer processes its assigned display portion 52 00:02:57.687 --> 00:03:01.623 collectively creating a unified, seamless scree 53 00:03:01.623 --> 00:03:04.723 This distributed rendering effectively handles complex graphic calculations 54 00:03:04.723 --> 00:03:08.040 enhancing overall performance 55 00:03:08.040 --> 00:03:11.280 The second feature is network-based synchronization 56 00:03:11.280 --> 00:03:15.680 nDisplay ensures perfect sync across all displays 57 00:03:15.680 --> 00:03:18.639 and computers within the cluster 58 00:03:18.639 --> 00:03:23.189 Frame sync and input sync prevent screen flickering or desynchronization 59 00:03:23.189 --> 00:03:25.839 between rendering machines 60 00:03:25.839 --> 00:03:28.000 in a multi-display environment 61 00:03:28.000 --> 00:03:32.320 The third feature is the integration of camera and tracking systems 62 00:03:32.320 --> 00:03:35.320 nDisplay supports various tracking systems 63 00:03:35.320 --> 00:03:39.000 used in virtual production 64 00:03:39.000 --> 00:03:43.350 In LED Wall setups, real-time camera tracking 65 00:03:43.350 --> 00:03:45.450 adjusts the screen to match actors' movements 66 00:03:45.450 --> 00:03:47.599 and filming equipment 67 00:03:47.599 --> 00:03:51.499 This seamless synchronization between the physical and virtual environments 68 00:03:51.499 --> 00:03:54.480 s crucial in enhancing immersion 69 00:03:54.480 --> 00:03:58.880 Lastly, nDisplay offers flexibility in display configuration and management 70 00:03:58.880 --> 00:04:02.430 It can be easily applied to rectangular displays 71 00:04:02.430 --> 00:04:06.279 as well as various other shapes 72 00:04:06.279 --> 00:04:09.579 Using tools like nDisplay Config and Switchboard 73 00:04:09.579 --> 00:04:13.115 you can intuitively manage display layouts, resolutions 74 00:04:13.115 --> 00:04:15.839 and cluster nodes 75 00:04:15.839 --> 00:04:18.239 To implement nDisplay 76 00:04:18.239 --> 00:04:22.320 both hardware and software elements are essential 77 00:04:22.320 --> 00:04:26.070 These components must work together seamlessly 78 00:04:26.070 --> 00:04:29.879 to establish nDisplay environment successfully 79 00:04:29.879 --> 00:04:32.279 Let’s delve into the details 80 00:04:32.279 --> 00:04:35.239 Starting with the hardware components 81 00:04:35.239 --> 00:04:39.289 A high-performance hardware setup is essential for nDisplay 82 00:04:39.289 --> 00:04:41.839 which requires the following elements 83 00:04:41.839 --> 00:04:44.789 nDisplay relies on NVIDIA 84 00:04:44.789 --> 00:04:48.320 with Quadro Sync cards being a mandatory component 85 00:04:48.320 --> 00:04:50.470 These cards enable precise frame synchronization 86 00:04:50.470 --> 00:04:53.199 across multiple displays 87 00:04:53.199 --> 00:04:56.040 Next is Genlock input 88 00:04:56.040 --> 00:04:58.195 The same Genlock signal must be applied 89 00:04:58.204 --> 00:05:00.760 to all devices, including LED walls and cameras 90 00:05:00.760 --> 00:05:05.160 Genlock synchronizes timing across clusters and nodes 91 00:05:05.160 --> 00:05:09.119 preventing screen flickering or misalignment issues 92 00:05:09.119 --> 00:05:11.393 Without proper Genlock configuration 93 00:05:11.393 --> 00:05:14.880 nDisplay is technically unfeasible 94 00:05:14.880 --> 00:05:17.960 Next is a high-speed network 95 00:05:17.960 --> 00:05:19.560 All cluster nodes 96 00:05:19.560 --> 00:05:22.320 must be connected to the same network 97 00:05:22.320 --> 00:05:25.670 For optimal performance, a network speed of 98 00:05:25.670 --> 00:05:28.279 at least 10Gbps is recommended 99 00:05:28.279 --> 00:05:30.929 Low network latency 100 00:05:30.929 --> 00:05:33.759 is critical to ensure smooth data transmission between clusters 101 00:05:33.759 --> 00:05:37.639 Now, let’s examine the software components 102 00:05:37.639 --> 00:05:40.589 Operating nDisplay requires specific tools and configurations 103 00:05:40.589 --> 00:05:42.919 within Unreal Engine 104 00:05:42.919 --> 00:05:46.399 The first is the nDisplay config file 105 00:05:46.399 --> 00:05:49.044 The most critical element 106 00:05:49.044 --> 00:05:51.600 for defining the cluster 107 00:05:51.600 --> 00:05:56.150 This file specifies render nodes, display positions 108 00:05:56.150 --> 00:05:59.759 esolutions, and synchronization settings 109 00:05:59.759 --> 00:06:02.059 The cluster will only function correctly 110 00:06:02.059 --> 00:06:04.759 if the config file is accurately written 111 00:06:04.759 --> 00:06:07.399 The second tool is Switchboard 112 00:06:07.399 --> 00:06:11.720 It controls multiple nodes simultaneously 113 00:06:11.720 --> 00:06:15.820 It simplifies tasks such as 114 00:06:15.820 --> 00:06:18.199 starting, stopping, and restarting the cluster 115 00:06:18.199 --> 00:06:21.199 The third is the multi-user functionality 116 00:06:21.199 --> 00:06:24.599 It is essential for collaborative work 117 00:06:24.599 --> 00:06:27.960 in nDisplay environment 118 00:06:27.960 --> 00:06:31.360 This feature allows multiple users to 119 00:06:31.360 --> 00:06:35.119 edit and test elements in real-time across nodes 120 00:06:35.119 --> 00:06:38.800 To successfully implement nDisplay 121 00:06:38.800 --> 00:06:42.880 the correct combination of hardware and software is crucial 122 00:06:42.880 --> 00:06:46.880 By utilizing Genlock, network synchronization, config file creation 123 00:06:46.880 --> 00:06:49.880 Switchboard, and multi-user functionality 124 00:06:49.880 --> 00:06:51.954 you can build a stable and consistent 125 00:06:51.954 --> 00:06:54.880 multi-display environment 126 00:06:54.880 --> 00:06:58.880 In summary, nDisplay is a system that leverages Unreal Engine 127 00:06:58.880 --> 00:07:03.600 to construct and manage multi-display environments effectively 128 00:07:03.600 --> 00:07:07.759 The operating principles of nDisplay involve the following steps 129 00:07:07.759 --> 00:07:11.679 First, configuring the nDisplay Config File 130 00:07:11.679 --> 00:07:14.829 First, create the nDisplay config file 131 00:07:14.829 --> 00:07:17.399 and define the cluster environment 132 00:07:17.399 --> 00:07:22.299 This file includes details such as the roles of each node, display settings 133 00:07:22.299 --> 00:07:24.920 and network configurations 134 00:07:24.920 --> 00:07:28.220 To ensure accurate settings, refer to the config reference 135 00:07:28.220 --> 00:07:30.440 provided by Unreal Engine 136 00:07:30.440 --> 00:07:32.760 and input each item precisely 137 00:07:32.760 --> 00:07:34.710 Since each entry functions 138 00:07:34.710 --> 00:07:37.160 as a critical command 139 00:07:37.160 --> 00:07:42.000 it is essential to understand the purpose of every item in the file 140 00:07:42.000 --> 00:07:45.959 Second, setting up network connections and synchronization 141 00:07:45.959 --> 00:07:49.720 Connect all nodes and displays to the same network 142 00:07:49.720 --> 00:07:52.239 and configure synchronization settings 143 00:07:52.239 --> 00:07:56.839 This ensures that all nodes operate in unison 144 00:07:56.839 --> 00:08:01.040 with frame and input synchronization 145 00:08:01.040 --> 00:08:03.840 Third, nDisplay plugin 146 00:08:03.840 --> 00:08:07.040 and basic project settings 147 00:08:07.040 --> 00:08:11.000 Activate the nDisplay plugin in Unreal Engine 148 00:08:11.000 --> 00:08:12.920 and configure the project 149 00:08:12.920 --> 00:08:17.279 At this stage, check the nDisplay-related settings 150 00:08:17.279 --> 00:08:19.529 and apply additional plugins 151 00:08:19.529 --> 00:08:21.559 or configurations as needed 152 00:08:21.559 --> 00:08:27.559 Fourth is execution and debugging using switchboard 153 00:08:27.559 --> 00:08:31.109 Use Switchboard to execute 154 00:08:31.109 --> 00:08:33.359 and debug the cluster 155 00:08:33.359 --> 00:08:36.509 Switchboard enables simultaneous control of multiple nodes 156 00:08:36.509 --> 00:08:38.839 and monitors their status 157 00:08:38.839 --> 00:08:41.139 Through this process, nDisplay 158 00:08:41.139 --> 00:08:44.359 operates effectively in virtual production environments 159 00:08:44.359 --> 00:08:47.942 Next, consider important factors when using nDisplay 160 00:08:47.942 --> 00:08:50.480 such as how many nodes to configure 161 00:08:50.480 --> 00:08:53.920 and how to set the resolution 162 00:08:53.920 --> 00:08:56.034 These configurations are based on 163 00:08:56.034 --> 00:08:58.760 thorough calculations 164 00:08:58.760 --> 00:09:00.410 The nDisplay config 165 00:09:00.410 --> 00:09:03.320 does not merely remain at the software level 166 00:09:03.320 --> 00:09:05.270 it directly affects 167 00:09:05.270 --> 00:09:06.799 hardware commands 168 00:09:06.799 --> 00:09:09.267 closely tied 169 00:09:09.267 --> 00:09:12.679 to the hardware configuration and quantity 170 00:09:12.679 --> 00:09:16.629 The criteria for these settings depend on 171 00:09:16.629 --> 00:09:19.880 the LED panels' specifications and the LED volume's size 172 00:09:19.880 --> 00:09:24.430 For example, let’s assume an LED Wall 173 00:09:24.430 --> 00:09:28.380 with a width of 14m and a height of 6m 174 00:09:28.380 --> 00:09:30.760 built using Ruby 2.2 panels from ROE 175 00:09:30.760 --> 00:09:35.060 Ruby 2.2 panel is 50cm wide and 50cm high 176 00:09:35.060 --> 00:09:39.920 with a resolution of 448×448 pixels per panel 177 00:09:39.920 --> 00:09:43.520 For the entire LED Wall, a width of 14m 178 00:09:43.520 --> 00:09:46.600 translates to 6,272 pixels 179 00:09:46.600 --> 00:09:51.480 and a height of 6m corresponds to 2,688 pixels 180 00:09:51.480 --> 00:09:54.930 Considering that each render machine or node can output 181 00:09:54.930 --> 00:09:57.799 a maximum resolution of 3840×2160 182 00:09:57.799 --> 00:10:00.149 covering the entire output of the LED Wall 183 00:10:00.149 --> 00:10:01.789 would require 184 00:10:01.789 --> 00:10:06.200 a total of 3 render nodes 185 00:10:06.200 --> 00:10:08.000 Of course, as shown in this example 186 00:10:08.000 --> 00:10:10.920 it is also possible to use only 2 render machines 187 00:10:10.920 --> 00:10:13.520 However, in this case, the vertical resolution 188 00:10:13.520 --> 00:10:16.359 would fall short by 528 pixels 189 00:10:16.359 --> 00:10:19.709 Since render machines are extremely expensive 190 00:10:19.709 --> 00:10:23.239 in scenarios where ultra-high resolution isn’t critical 191 00:10:23.239 --> 00:10:28.160 slightly reduced resolution may be acceptable 192 00:10:28.160 --> 00:10:31.960 The specific nDisplay configuration depends on 193 00:10:31.960 --> 00:10:35.760 hardware scale, budget, and intended use 194 00:10:35.760 --> 00:10:38.210 As mentioned earlier, nDisplay 195 00:10:38.210 --> 00:10:40.110 is a powerful tool for 196 00:10:40.110 --> 00:10:45.079 expanding and synchronizing real-time content in large-scale display environments 197 00:10:45.079 --> 00:10:47.529 However, to use it effectively 198 00:10:47.529 --> 00:10:50.732 it is crucial to understand its technical limitations 199 00:10:50.732 --> 00:10:53.359 and take appropriate measures clearly 200 00:10:53.359 --> 00:10:55.859 One of the most critical elements in an nDisplay setup is 201 00:10:55.859 --> 00:10:58.679 as repeatedly emphasized, Genlock 202 00:10:58.679 --> 00:11:01.829 Genlock is essential for ensuring 203 00:11:01.829 --> 00:11:03.679 precise timing across 204 00:11:03.679 --> 00:11:06.640 all displays, cameras, and cluster nodes 205 00:11:06.640 --> 00:11:08.840 If Genlock is not properly configured 206 00:11:08.840 --> 00:11:11.440 the following issues may arise 207 00:11:11.440 --> 00:11:13.740 First, because of frame misalignment 208 00:11:13.740 --> 00:11:16.600 the display may not connect smoothly 209 00:11:16.600 --> 00:11:19.800 Second, because of timing mismatches between displays 210 00:11:19.800 --> 00:11:23.760 it can lead to screen flickering or visual artifacts 211 00:11:23.760 --> 00:11:26.410 To prevent such issues, it is necessary 212 00:11:26.410 --> 00:11:28.810 to install NVIDIA Quadro Sync cards 213 00:11:28.810 --> 00:11:31.920 or similar synchronization devices on each node 214 00:11:31.920 --> 00:11:34.170 To solve the Genlock synchronization problems 215 00:11:34.170 --> 00:11:35.960 there are numerous opinions 216 00:11:35.960 --> 00:11:39.060 When encountering issues related to Genlock 217 00:11:39.060 --> 00:11:41.810 due to the numerous causes 218 00:11:41.810 --> 00:11:45.119 resolving them is note easy 219 00:11:45.119 --> 00:11:46.719 Especially during the initial setup 220 00:11:46.719 --> 00:11:49.519 everything may seem to work fine 221 00:11:49.519 --> 00:11:51.832 but Genlock issues often surface 222 00:11:51.832 --> 00:11:53.799 unexpectedly later 223 00:11:53.799 --> 00:11:57.699 Over time, synchronization may drift 224 00:11:57.699 --> 00:12:02.239 In some cases, problems might resolve independently without any specific action 225 00:12:02.239 --> 00:12:04.439 This highlights the importance of 226 00:12:04.439 --> 00:12:06.483 accumulating troubleshooting experience 227 00:12:06.483 --> 00:12:09.200 through hands-on practice 228 00:12:09.200 --> 00:12:11.500 nDisplay operates through real-time communication 229 00:12:11.500 --> 00:12:14.919 between cluster node 230 00:12:14.919 --> 00:12:17.419 making network performance 231 00:12:17.419 --> 00:12:19.760 a critical factor in determining system stability 232 00:12:19.760 --> 00:12:24.359 The recommended network bandwidth is at least 10Gbps 233 00:12:24.359 --> 00:12:28.309 If network performance is insufficient or latency is hig 234 00:12:28.309 --> 00:12:30.640 significant issues may arise 235 00:12:30.640 --> 00:12:33.790 For example, data loss between clusters 236 00:12:33.790 --> 00:12:37.000 can result in inconsistent display output 237 00:12:37.000 --> 00:12:39.750 Additionally, frame mismatches 238 00:12:39.750 --> 00:12:42.559 or rendering delays may occur 239 00:12:42.559 --> 00:12:45.909 The best way to address these issues 240 00:12:45.909 --> 00:12:49.960 is to involve someone with a strong understanding of network systems in the setup process 241 00:12:49.960 --> 00:12:52.510 However, even if someone is well-versed in networking 242 00:12:52.510 --> 00:12:54.560 they may lack specific knowledge about 243 00:12:54.560 --> 00:12:57.000 the configuration and roles of nDisplay nodes 244 00:12:57.000 --> 00:13:00.920 This makes collaboration essential for successful implementation 245 00:13:00.920 --> 00:13:03.870 Key considerations include ensuring 246 00:13:03.870 --> 00:13:06.520 all cluster nodes are connected to the same network 247 00:13:06.520 --> 00:13:09.640 and using a dedicated network switch 248 00:13:09.640 --> 00:13:13.599 To optimize the network, it is important to reduce unnecessary traffic 249 00:13:13.599 --> 00:13:15.699 prevent packet loss between nodes 250 00:13:15.699 --> 00:13:19.080 and thoroughly check firewall settings 251 00:13:19.080 --> 00:13:23.799 Next, let’s discuss the software and system limitations 252 00:13:23.799 --> 00:13:26.299 nDisplay operates based on 253 00:13:26.299 --> 00:13:29.840 Unreal Engine's deterministic systems 254 00:13:29.840 --> 00:13:32.840 However, some features of Unreal Engine 255 00:13:32.840 --> 00:13:36.400 do not exhibit completely deterministic behavior 256 00:13:36.400 --> 00:13:39.498 For instance, complex simulations such as physics engines, rigid bodies 257 00:13:39.498 --> 00:13:42.599 soft bodies, and skeletons 258 00:13:42.599 --> 00:13:46.039 may encounter synchronization issues due to rendering factors 259 00:13:46.039 --> 00:13:49.946 For example, when using Niagara in a previous project 260 00:13:49.946 --> 00:13:53.200 rendering timing varied across render machines 261 00:13:53.200 --> 00:13:56.200 This was resolved only after 262 00:13:56.200 --> 00:13:58.719 disabling certain non-deterministic rendering settings 263 00:13:58.719 --> 00:14:01.469 Similarly, non-deterministic blueprints 264 00:14:01.469 --> 00:14:03.960 that include random elements 265 00:14:03.960 --> 00:14:08.119 can cause inconsistencies between nodes 266 00:14:08.119 --> 00:14:11.319 To address these issues, projects involving 267 00:14:11.319 --> 00:14:14.599 complex physics or rendering elements 268 00:14:14.599 --> 00:14:17.400 should enable replication settings 269 00:14:17.400 --> 00:14:22.320 Additionally, key simulation data should be calculated on the primary node 270 00:14:22.320 --> 00:14:26.119 and distributed to the cluster nodes for consistent processin 271 00:14:26.119 --> 00:14:28.919 Next, nDisplay can encounter issues 272 00:14:28.919 --> 00:14:32.359 when handling rendering boundaries between multiple displays 273 00:14:32.359 --> 00:14:36.009 Screen-based effects such as Bloom, Motion Blur 274 00:14:36.009 --> 00:14:38.960 and Anti-Aliasing may cause 275 00:14:38.960 --> 00:14:42.640 inconsistencies at the display edges 276 00:14:42.640 --> 00:14:46.340 To resolve this, post-processing effects should be minimized 277 00:14:46.340 --> 00:14:48.440 or disabled 278 00:14:48.440 --> 00:14:50.990 Special caution is needed 279 00:14:50.990 --> 00:14:53.190 when using effects like Bloom, Lens Flare 280 00:14:53.190 --> 00:14:55.559 Motion Blur, and Ambient Occlusio 281 00:14:55.559 --> 00:14:59.119 nDisplay is well-suited for large-scale projects 282 00:14:59.119 --> 00:15:04.505 but not inherently for all types of content 283 00:15:04.505 --> 00:15:07.455 As a result, users must manually distribute 284 00:15:07.455 --> 00:15:10.000 project files to each node 285 00:15:10.000 --> 00:15:14.178 or use specialized distribution tools 286 00:15:14.178 --> 00:15:17.000 Unreal Engine addresses this 287 00:15:17.000 --> 00:15:19.750 by enabling project synchronization 288 00:15:19.750 --> 00:15:23.000 between nodes through Switchboard and Listene 289 00:15:23.000 --> 00:15:24.800 Accurate synchronization requires 290 00:15:24.800 --> 00:15:28.000 precise config file settings 291 00:15:28.000 --> 00:15:31.455 Additional considerations include 292 00:15:31.455 --> 00:15:33.705 the risk of node failure disrupting the synchronization 293 00:15:33.705 --> 00:15:36.861 of the entire cluster in nDisplay system 294 00:15:36.861 --> 00:15:40.414 Therefore, operating a monitoring system 295 00:15:40.414 --> 00:15:44.000 to detect and quickly recover from node failures is essential 296 00:15:44.000 --> 00:15:47.700 his risk increases with larger volumes 297 00:15:47.700 --> 00:15:50.000 and a greater number of nodes 298 00:15:50.000 --> 00:15:55.000 Properly assigning responsibilities and ensuring thorough management are crucial 299 00:15:55.000 --> 00:15:57.700 Using Switchboard 300 00:15:57.700 --> 00:16:02.168 the status of each node can be continuously monitored 301 00:16:02.168 --> 00:16:04.018 When issues arise 302 00:16:04.018 --> 00:16:07.733 logs should be checked immediately 303 00:16:07.733 --> 00:16:12.752 As such, nDisplay is a powerful but complex technology 304 00:16:12.752 --> 00:16:15.515 To optimize and use it efficiently 305 00:16:15.515 --> 00:16:20.970 all potential issues across hardware, software, network, and content development 306 00:16:20.970 --> 00:16:24.257 must be anticipated and addressed in advance 307 00:16:24.789 --> 00:16:28.591 How to Create Config 308 00:16:28.861 --> 00:16:33.525 Now, let’s proceed with nDisplay hands-on practice session 309 00:16:33.525 --> 00:16:36.693 We’ll go step by step 310 00:16:36.693 --> 00:16:40.188 So feel free to follow along 311 00:16:40.188 --> 00:16:41.913 For this session, we’ll be using 312 00:16:41.913 --> 00:16:44.880 Unreal Engine V5.3.2 313 00:16:44.880 --> 00:16:47.480 Let’s start by launching it 314 00:16:47.480 --> 00:16:52.880 Here, we’ll use one of 315 00:16:52.880 --> 00:16:55.180 the standard setups provided 316 00:16:55.180 --> 00:16:59.120 Let’s select Blank as our project template 317 00:16:59.120 --> 00:17:01.970 Make sure to exclude Starter Content 318 00:17:01.970 --> 00:17:05.870 Since the Perforce integration 319 00:17:05.870 --> 00:17:08.897 is set to the D drive’s Perforce folder 320 00:17:08.897 --> 00:17:15.439 we’ll maintain that path and name the project ndc_test 321 00:17:15.439 --> 00:17:16.976 Next, click Create 322 00:17:20.840 --> 00:17:26.268 To do NDC 323 00:17:26.268 --> 00:17:29.468 you'll need to configure the basic project settings 324 00:17:29.468 --> 00:17:34.311 The first step is to adjust the Plugin Settings 325 00:17:34.311 --> 00:17:36.311 Since we’ve opened 326 00:17:36.311 --> 00:17:40.411 a sample project related to in-camera VFX 327 00:17:40.411 --> 00:17:45.856 most required plugins are already enabled, but let’s verify them 328 00:17:45.856 --> 00:17:49.859 Scroll down until you see 329 00:17:49.859 --> 00:17:53.519 the Virtual Production tab 330 00:17:53.519 --> 00:17:58.019 Click on it to explore the plugins 331 00:17:58.019 --> 00:18:01.308 we’ll be using 332 00:18:01.308 --> 00:18:05.858 From here, I’ll go through and enable the ones I typically use 333 00:18:05.858 --> 00:18:07.152 one by one 334 00:18:07.152 --> 00:18:10.585 Enable the Camera Calibration plugin 335 00:18:15.720 --> 00:18:19.531 Although we often use DMX 336 00:18:19.531 --> 00:18:23.879 we’ll skip it for now 337 00:18:23.879 --> 00:18:29.609 Next, turn on the ICVFX plugin 338 00:18:29.609 --> 00:18:34.383 And there are LED Wall Calibration 339 00:18:34.383 --> 00:18:38.112 Level Snapshots 340 00:18:38.112 --> 00:18:41.212 and the related LiveLink plugins 341 00:18:41.212 --> 00:18:45.839 The specific depends on the tracking equipment used 342 00:18:45.839 --> 00:18:49.939 So, LiveLinkCamera, FreeD 343 00:18:49.939 --> 00:18:53.732 I'll set like this 344 00:18:53.732 --> 00:18:57.182 These settings are typically used for local testing 345 00:18:57.182 --> 00:19:00.415 Let's enable it 346 00:19:00.415 --> 00:19:04.115 As you scroll further, you’ll find the Stage Monitor 347 00:19:04.115 --> 00:19:07.003 which helps monitor the performance 348 00:19:07.003 --> 00:19:10.360 of connected machines 349 00:19:10.360 --> 00:19:11.498 Also, Switchboard 350 00:19:15.735 --> 00:19:19.928 Sync, and Data Monitor 351 00:19:19.928 --> 00:19:22.440 enable these like this 352 00:19:22.440 --> 00:19:25.357 After this, check 353 00:19:32.800 --> 00:19:35.919 whether Multi-User Edition 354 00:19:40.186 --> 00:19:43.839 and Take Recorder are enabled 355 00:19:43.839 --> 00:19:46.039 Once all these plugins are set 356 00:19:46.039 --> 00:19:50.479 restart the project 357 00:19:50.479 --> 00:19:52.479 When the plugin setting is done 358 00:19:52.479 --> 00:19:56.894 Let's proceed to the Project Settings 359 00:19:56.894 --> 00:19:59.544 Many customizable settings exist 360 00:19:59.544 --> 00:20:02.594 but today, we’ll focus on 361 00:20:02.594 --> 00:20:05.160 the most basic ones 362 00:20:05.160 --> 00:20:08.360 In the Input section 363 00:20:08.360 --> 00:20:11.640 locate the Always Show Touch Interface option under the Mobile category 364 00:20:11.640 --> 00:20:13.490 Make sure to disable this setting 365 00:20:13.490 --> 00:20:15.140 If not 366 00:20:15.140 --> 00:20:20.439 when you run NDC, circular touch interfaces 367 00:20:20.439 --> 00:20:23.520 will appear on the left and right sides of the screen 368 00:20:23.520 --> 00:20:28.113 Next, the most critical setting is the UDP Configuration 369 00:20:28.113 --> 00:20:31.413 I currently have several IP option 370 00:20:31.413 --> 00:20:37.000 As mentioned earlier, 127.0.0.1 is the internal loopback address 371 00:20:37.000 --> 00:20:40.250 192 is the internal network I’m currently using 372 00:20:40.250 --> 00:20:45.517 20.20.0 is my configured 373 00:20:45.517 --> 00:20:48.617 internal internet network 374 00:20:48.617 --> 00:20:50.959 I’ll use this 375 00:20:50.959 --> 00:20:56.744 It’s recommended to input the Unicast address accurately 376 00:20:56.744 --> 00:21:01.444 Another setting is Multi-User Editing 377 00:21:01.444 --> 00:21:06.401 Enable the Toolbar Button here 378 00:21:06.401 --> 00:21:10.501 and set the Server Type to Console 379 00:21:10.501 --> 00:21:13.440 These are the basic Unreal Engine settings 380 00:21:13.440 --> 00:21:16.970 but remember that many additional configurations are required in Window 381 00:21:16.970 --> 00:21:19.539 before running NDC 382 00:21:19.539 --> 00:21:27.639 I'll be using two computers for this setup 383 00:21:27.639 --> 00:21:36.050 One will handle the main operating tasks 384 00:21:36.050 --> 00:21:37.750 which is my current computer 385 00:21:37.750 --> 00:21:44.160 he other will serve as the render node 386 00:21:44.160 --> 00:21:49.410 responsible for executing 387 00:21:49.410 --> 00:21:54.611 NDC operations 388 00:21:54.611 --> 00:22:01.440 To configure these two systems 389 00:22:01.440 --> 00:22:03.312 for a multi-computer setup 390 00:22:03.312 --> 00:22:08.639 we’ll use the nDisplay Config file 391 00:22:08.639 --> 00:22:15.679 what we often abbreviate as NDC 392 00:22:15.679 --> 00:22:19.621 While the NDC is the primary configuration file 393 00:22:19.621 --> 00:22:23.123 additional settings need to be applied 394 00:22:23.123 --> 00:22:26.720 to the render machine before proceeding 395 00:22:26.720 --> 00:22:29.720 Let’s go ahead 396 00:22:29.720 --> 00:22:37.023 We’ll make these adjustments through VNC 397 00:22:37.023 --> 00:22:44.380 As you can see, this is the remote computer 398 00:22:44.380 --> 00:22:50.089 The first step is 399 00:22:50.089 --> 00:22:54.679 configuring the graphics card settings 400 00:22:54.679 --> 00:22:58.751 All the necessary basic settings can be checked 401 00:22:58.761 --> 00:23:02.011 in the System Topology 402 00:23:02.011 --> 00:23:03.875 and we’ll adjust them one by one 403 00:23:07.240 --> 00:23:10.090 In 3D Settings, I’m using Workstation’s 404 00:23:10.090 --> 00:23:13.080 Advanced Streaming mode 405 00:23:13.080 --> 00:23:18.081 Additionally, ensure that 406 00:23:18.081 --> 00:23:21.631 the Power Management Mode is set 407 00:23:21.631 --> 00:23:25.880 to Prefer Maximum Performance for optimal operation 408 00:23:25.880 --> 00:23:28.380 On this machine 409 00:23:28.380 --> 00:23:31.219 we have two NVIDIA RTX A6000 cards 410 00:23:31.219 --> 00:23:33.800 installed 411 00:23:33.800 --> 00:23:36.300 These are connected to an image processor 412 00:23:36.300 --> 00:23:39.600 Tessera SX40 413 00:23:39.600 --> 00:23:44.950 To optimize and enhance performance 414 00:23:44.950 --> 00:23:50.805 the two cards are linked via SLI configuration, allowing them to work together 415 00:23:50.805 --> 00:23:56.050 Our resolution is 3840×2160 416 00:23:56.050 --> 00:23:59.000 with a refresh rate of 24fps 417 00:23:59.000 --> 00:24:01.800 Make sure to set the refresh rate to 24Hz 418 00:24:01.800 --> 00:24:04.450 Once this is complete 419 00:24:04.450 --> 00:24:07.800 click on Display Synchronization 420 00:24:07.800 --> 00:24:09.983 As I’ve emphasized 421 00:24:09.983 --> 00:24:12.954 Genlock is the most critical aspect of NDC 422 00:24:12.954 --> 00:24:17.396 Here’s how to set it up 423 00:24:17.396 --> 00:24:19.572 Since we’re using only one 424 00:24:19.572 --> 00:24:24.320 external Genlock signal source 425 00:24:24.320 --> 00:24:27.070 click on the system 426 00:24:27.070 --> 00:24:29.120 In my case, I’ve connected 427 00:24:29.120 --> 00:24:30.559 the external house sync signal 428 00:24:30.559 --> 00:24:33.258 so I’ll select it, apply 429 00:24:36.839 --> 00:24:41.339 and confirm 430 00:24:41.339 --> 00:24:43.539 Since we’re working with two computers 431 00:24:43.539 --> 00:24:51.650 both must be connected to the same network 432 00:24:51.650 --> 00:24:52.973 To verify 433 00:24:56.279 --> 00:25:01.680 let’s check the main computer’s IP address 434 00:25:01.680 --> 00:25:05.997 It’s 20.20.0.10, and when we go back to VNC 435 00:25:10.000 --> 00:25:17.836 it has an IP address of 20.20.0.20 436 00:25:17.836 --> 00:25:22.040 So, let's send a pig from here 437 00:25:22.040 --> 00:25:27.343 When we send with the main machine 438 00:25:27.343 --> 00:25:31.679 the ping will be successfully connected 439 00:25:31.679 --> 00:25:34.779 Basic settings are done 440 00:25:34.779 --> 00:25:40.799 For additional verification 441 00:25:40.799 --> 00:25:44.986 go to the network settings 442 00:25:44.986 --> 00:25:46.576 and check 443 00:25:50.119 --> 00:25:53.495 the status of the used internal network 444 00:25:55.554 --> 00:25:57.504 Since I set this for 10Gbps 445 00:25:57.504 --> 00:26:00.454 you can see the speed is confirmed as 10Gbps 446 00:26:00.454 --> 00:26:03.920 It would be a good idea to configure your network 447 00:26:03.920 --> 00:26:06.470 in this way to over 10Gbps 448 00:26:06.470 --> 00:26:11.153 A typical external network is 1Gbps 449 00:26:11.403 --> 00:26:15.026 Setting Up nDisplay Config 450 00:26:15.799 --> 00:26:20.705 Now, let’s configure the NDC file 451 00:26:28.000 --> 00:26:30.350 We’ll work with a blank project 452 00:26:30.350 --> 00:26:31.866 to ensure a clean setup 453 00:26:33.920 --> 00:26:36.609 First 454 00:26:36.609 --> 00:26:40.209 Create Folders and Paths 455 00:26:40.209 --> 00:26:42.109 Since this setup is not done alone 456 00:26:42.109 --> 00:26:45.160 rather often done in collaboration with others 457 00:26:45.160 --> 00:26:48.193 it’s highly recommended to use 458 00:26:48.193 --> 00:26:51.679 a consistent and well-defined folder structure 459 00:26:51.679 --> 00:26:54.379 Accuracy in folder paths is critical 460 00:26:54.379 --> 00:27:01.676 Create a folder in the Content folder 461 00:27:01.676 --> 00:27:06.279 Create a new folder named vp, and inside, create the following subfolders 462 00:27:06.279 --> 00:27:11.897 First, livelink 463 00:27:11.897 --> 00:27:17.023 Second, NDC 464 00:27:17.023 --> 00:27:23.433 Finally, oCIO 465 00:27:23.433 --> 00:27:24.983 Although there are additional folders 466 00:27:24.983 --> 00:27:29.440 we’ll focus on the basic setup for now 467 00:27:29.440 --> 00:27:31.836 To begin setting up the NDC 468 00:27:36.399 --> 00:27:38.999 Right-click 469 00:27:38.999 --> 00:27:42.559 and go to nDisplay - nDisplay Config 470 00:27:42.559 --> 00:27:45.009 When you click here 471 00:27:45.009 --> 00:27:47.259 you can import an existing configuration 472 00:27:47.259 --> 00:27:50.040 or create a new one 473 00:27:50.040 --> 00:27:52.684 For this session, we’ll create a new one 474 00:27:57.037 --> 00:27:59.537 Name the file 475 00:27:59.537 --> 00:28:02.287 Give the file a meaningful name 476 00:28:02.287 --> 00:28:07.797 Proper naming is crucial for collaborative work 477 00:28:07.797 --> 00:28:12.510 ensuring clarity and avoiding confusion 478 00:28:12.510 --> 00:28:16.039 Let's open the Config file 479 00:28:16.039 --> 00:28:18.739 When you open the newly created Config file 480 00:28:18.739 --> 00:28:24.055 a predefined UI interface will appear 481 00:28:24.055 --> 00:28:26.705 I'll just overview it 482 00:28:26.705 --> 00:28:28.705 At the top 483 00:28:28.705 --> 00:28:30.455 you’ll see a set of basic functions 484 00:28:30.455 --> 00:28:32.880 commonly used in Unreal Engine 485 00:28:32.880 --> 00:28:37.960 Bluepring - Components - Cluster 486 00:28:37.960 --> 00:28:39.810 Preview 487 00:28:39.810 --> 00:28:42.346 And for the final output mappings 488 00:28:42.346 --> 00:28:45.919 there is Mapping Window 489 00:28:45.919 --> 00:28:48.919 On the right-hand side 490 00:28:48.919 --> 00:28:53.216 you’ll find the Details pane 491 00:28:53.216 --> 00:28:58.724 Here'e basic parts 492 00:28:58.724 --> 00:29:03.524 I'll add this 493 00:29:03.524 --> 00:29:07.274 As mentioned in the lecture, the mesh file is particularly important 494 00:29:07.274 --> 00:29:10.455 The configuration varies significantly depending on the file you choose 495 00:29:17.296 --> 00:29:21.696 This is the website I use the most 496 00:29:21.696 --> 00:29:24.652 When you enter the basic panel informtion 497 00:29:24.652 --> 00:29:28.102 LED Wall information 498 00:29:28.102 --> 00:29:32.483 it export it as an OBJ file 499 00:29:32.483 --> 00:29:39.640 For example, 10m x 4m 500 00:29:39.640 --> 00:29:44.440 Tile Angle means angle for individual LED panels 501 00:29:44.440 --> 00:29:47.640 I'll set it to 2 degrees 502 00:29:47.640 --> 00:29:53.174 And 500x500 for width and height per nael 503 00:29:53.174 --> 00:30:00.216 Resolution 192 504 00:30:00.216 --> 00:30:03.652 x 192 505 00:30:03.652 --> 00:30:07.661 Set Position Offsets 506 00:30:07.661 --> 00:30:11.711 and the Pivot Point in the tool as needed 507 00:30:11.711 --> 00:30:19.119 And click download OBJ 508 00:30:19.119 --> 00:30:21.869 We can confirm basic 509 00:30:21.869 --> 00:30:26.653 OBJ file like this 510 00:30:26.653 --> 00:30:28.737 Create a new folder 511 00:30:28.737 --> 00:30:31.413 mesh folder 512 00:30:31.413 --> 00:30:37.520 Import the downloaded OBJ file into the mesh folde 513 00:30:37.520 --> 00:30:42.065 There are a variety of settings you can configu 514 00:30:42.065 --> 00:30:44.965 but today I will just keep it simple 515 00:30:44.965 --> 00:30:51.163 with the default values 516 00:30:51.163 --> 00:30:53.913 Let’s go back to the NDC 517 00:30:53.913 --> 00:30:59.200 Now, we need the LED mesh we'll be using 518 00:30:59.200 --> 00:31:04.754 We'll import 519 00:31:04.754 --> 00:31:10.534 the mesh here 520 00:31:10.534 --> 00:31:13.434 You might notice that it doesn’t display properly 521 00:31:13.434 --> 00:31:17.437 likely due to scale differences 522 00:31:28.680 --> 00:31:31.176 You can adjust the scale 523 00:31:31.176 --> 00:31:36.206 in the Details panel to fix this 524 00:31:45.879 --> 00:31:48.379 Once the scale is set 525 00:31:48.379 --> 00:31:51.479 you’ll see the grid floor with meter measurements 526 00:31:51.479 --> 00:31:55.280 Here's plus, minus 527 00:31:55.280 --> 00:32:06.480 The part facing you is the front, which will act as the front-facing direction 528 00:32:06.480 --> 00:32:09.680 Next, it’s important to set the distance accurately 529 00:32:09.680 --> 00:32:14.840 This distance is based on 530 00:32:14.840 --> 00:32:20.490 the origin point of the tracking data 531 00:32:20.490 --> 00:32:24.214 For example, if the tracking data’s origin 532 00:32:24.214 --> 00:32:26.373 is 8 meters away 533 00:32:26.373 --> 00:32:29.849 you need to set this to 8 meters 534 00:32:29.849 --> 00:32:32.449 This process aligns the origin of the virtual world 535 00:32:32.449 --> 00:32:35.199 with the real-world origin 536 00:32:35.199 --> 00:32:38.499 Finally, add nDisplay Transform 537 00:32:38.499 --> 00:32:42.467 write it down 538 00:32:42.467 --> 00:32:50.533 and an ICVFX Camera 539 00:32:50.533 --> 00:32:57.068 With these steps, the basic configuration is complete 540 00:33:03.872 --> 00:33:08.172 Next, after adding the Origin 541 00:33:08.172 --> 00:33:12.122 you can assign it to a specific cluster or node 542 00:33:12.122 --> 00:33:16.000 for rendering 543 00:33:16.000 --> 00:33:19.169 Since we’re working with just one node 544 00:33:19.169 --> 00:33:20.810 let’s create it now 545 00:33:29.480 --> 00:33:33.430 Name it main_wall_node 546 00:33:33.430 --> 00:33:38.240 set Cluster as the Parent, and adjust the Preset settings 547 00:33:38.240 --> 00:33:44.840 If you look here, you can adjust this here 548 00:33:44.840 --> 00:33:48.840 Since we are basically 549 00:33:48.840 --> 00:33:53.290 set 3840×2160 per output 550 00:33:53.290 --> 00:33:56.559 please enter 3840×2160 551 00:33:56.559 --> 00:33:59.159 Here you need a Host IP 552 00:33:59.159 --> 00:34:05.798 for this IP you can enter the IP of the node 553 00:34:05.798 --> 00:34:10.445 in the render machine you created earlier 554 00:34:10.445 --> 00:34:13.762 And it should always be Fullscreen 555 00:34:13.762 --> 00:34:17.559 so you can check this to make it 556 00:34:17.559 --> 00:34:20.209 There are additional settings 557 00:34:20.209 --> 00:34:23.880 but I'll tell you about them next time 558 00:34:23.880 --> 00:34:26.030 So, if you click Add 559 00:34:26.030 --> 00:34:29.919 it will be added to OutputMapping 560 00:34:29.919 --> 00:34:35.591 If you look here, you can check the resolution 561 00:34:35.591 --> 00:34:39.841 and the IP address of the render node 562 00:34:39.841 --> 00:34:42.600 If you look at it now, you will see a black screen 563 00:34:42.600 --> 00:34:46.050 Since the mesh setting for where this mapped image 564 00:34:46.050 --> 00:34:48.500 will appear has not been done 565 00:34:48.500 --> 00:34:51.800 it is black 566 00:34:51.800 --> 00:34:56.700 If you look at the Projection Policy, select the mesh 567 00:34:56.700 --> 00:34:59.639 and the mesh we created will be here 568 00:34:59.639 --> 00:35:06.863 If you click on it, the mapping will be like this 569 00:35:06.863 --> 00:35:11.906 However, the mesh of the LED Wall that we will actually use 570 00:35:19.279 --> 00:35:27.320 is 3840 because it contains two 192-resolution panels of 10m each 571 00:35:27.320 --> 00:35:32.118 and the height is 192 times 572 00:35:32.118 --> 00:35:34.111 2 panels, so 2 times 573 00:35:34.111 --> 00:35:37.759 4m is 1536 574 00:35:37.759 --> 00:35:41.059 Therefore, this 3840 is the same 575 00:35:41.059 --> 00:35:45.812 but this 1536 needs to be changed 576 00:35:45.812 --> 00:35:49.156 Here, change this 577 00:35:55.520 --> 00:35:59.170 to 1536 578 00:35:59.170 --> 00:36:01.970 If you look at it 579 00:36:01.970 --> 00:36:04.270 you can see that 580 00:36:04.270 --> 00:36:07.347 it can output as 1:1 pixels 581 00:36:07.347 --> 00:36:09.647 If you look at it, we can explain 582 00:36:09.647 --> 00:36:11.697 a few more things here 583 00:36:11.697 --> 00:36:13.945 First, these parts 584 00:36:13.945 --> 00:36:16.047 are meaningful when there are 585 00:36:16.047 --> 00:36:19.347 multiple render machines 586 00:36:19.347 --> 00:36:23.291 But let me briefly explain a few important parts 587 00:36:23.291 --> 00:36:25.891 Basically, the Render Sync Policy here 588 00:36:25.891 --> 00:36:29.720 is set to ethernet as the default setting 589 00:36:29.720 --> 00:36:33.270 But the better setting in terms of performance is Nvidia 590 00:36:33.270 --> 00:36:35.520 You can select this 591 00:36:35.520 --> 00:36:38.000 when using multiple renderers 592 00:36:38.000 --> 00:36:41.550 This plays a big role in increasing or decreasing 593 00:36:41.550 --> 00:36:43.600 the graphics card's performance 594 00:36:43.600 --> 00:36:49.928 When you're done, click Compile and exit 595 00:36:49.928 --> 00:36:52.112 Now, what you need to do additionally in this state 596 00:36:52.112 --> 00:36:57.036 is to upload the NDC Config here 597 00:36:57.036 --> 00:37:00.936 When you do this, nDisplay will appear 598 00:37:00.936 --> 00:37:02.336 and you can check the part formed on the screen 599 00:37:02.336 --> 00:37:07.000 the outer frustum, and the inner frustum 600 00:37:07.000 --> 00:37:09.100 If you look, it looks like this 601 00:37:09.100 --> 00:37:13.950 In my case, I add one basic actor 602 00:37:13.950 --> 00:37:24.848 and set this guy to ndc_origin 603 00:37:24.848 --> 00:37:28.758 So I put this guy under here 604 00:37:35.812 --> 00:37:38.964 I tend to adjust the NDC position value 605 00:37:38.964 --> 00:37:43.239 through the origin like this 606 00:37:43.239 --> 00:37:47.489 When you've reached this point, there's something else you need to do 607 00:37:47.489 --> 00:37:50.021 As a result, you need a separate camera 608 00:37:50.021 --> 00:37:51.916 to play this inner role 609 00:37:51.916 --> 00:37:58.166 For that camera 610 00:37:58.166 --> 00:38:00.566 click Cine Camera Actor in Cinematic 611 00:38:00.566 --> 00:38:02.519 and add an actor 612 00:38:02.519 --> 00:38:04.569 Likewise, put this actor 613 00:38:04.569 --> 00:38:07.419 under nDisplayConfig 614 00:38:07.419 --> 00:38:09.838 In my case, I additionally 615 00:38:19.474 --> 00:38:22.824 created acamera_origin 616 00:38:22.824 --> 00:38:27.039 and put the camera actor on the right 617 00:38:27.039 --> 00:38:28.731 After that, I always return the origin 618 00:38:28.731 --> 00:38:31.739 to the origin 619 00:38:31.739 --> 00:38:34.339 This is because some directors 620 00:38:34.339 --> 00:38:37.479 want to change the inner position slightly 621 00:38:37.479 --> 00:38:40.829 but if it is tied to tracking data, it cannot be adjusted 622 00:38:40.829 --> 00:38:44.501 So I adjust it through this origin 623 00:38:44.501 --> 00:38:49.142 If you have reached this point, you need to set the camera in NDC 624 00:38:49.142 --> 00:38:53.264 If you look, I set this inner ICVFX Camera 625 00:38:53.264 --> 00:38:55.046 in the inner NDC earlier 626 00:38:55.046 --> 00:38:57.320 Click on it 627 00:38:57.320 --> 00:39:00.770 and then click on which camera actor you want to assign to this role 628 00:39:00.770 --> 00:39:05.440 and the assignment is complete 629 00:39:05.440 --> 00:39:08.890 For example, if you move this camera 630 00:39:08.890 --> 00:39:12.940 the inner will change like this 631 00:39:12.940 --> 00:39:15.287 If you put in a few for testing 632 00:39:25.513 --> 00:39:29.563 you can see that the shape of this guy holding the inner camera 633 00:39:29.563 --> 00:39:32.796 has just changed like this 634 00:39:36.370 --> 00:39:40.470 Now, these are the basic NDC settings 635 00:39:40.470 --> 00:39:43.420 In addition, the core elements of NDC are 636 00:39:43.420 --> 00:39:45.639 First, CIO 637 00:39:45.639 --> 00:39:46.989 Second, light card 638 00:39:46.989 --> 00:39:51.759 Third, chroma settings 639 00:39:51.759 --> 00:39:54.209 here are many various and detailed settings 640 00:39:54.209 --> 00:39:56.609 so I think it would be good 641 00:39:56.609 --> 00:39:59.240 to study them additionally on your own 642 00:39:59.240 --> 00:40:00.640 This concludes 643 00:40:00.640 --> 00:40:02.746 today's lecture on 644 00:40:02.746 --> 00:40:04.720 nDisplay multi-display setup 645 00:40:04.720 --> 00:40:06.720 nDisplay plays an important role 646 00:40:06.720 --> 00:40:08.820 in virtual production 647 00:40:08.820 --> 00:40:11.820 I hope that the basic theory and practical content you learned today 648 00:40:11.820 --> 00:40:13.799 will be helpful in applying it to actual projects 649 00:40:13.799 --> 00:40:18.249 and lead to stable results 650 00:40:18.249 --> 00:40:20.349 There may be many technical challenges 651 00:40:20.349 --> 00:40:22.600 in utilizing nDisplay 652 00:40:22.600 --> 00:40:26.200 but the results are equally rewarding 653 00:40:26.200 --> 00:40:29.000 Then, let's finish by reviewing 654 00:40:29.000 --> 00:40:30.359 what we learned this time 655 00:40:30.359 --> 00:40:31.119 Thank you 656 00:40:31.514 --> 00:40:32.764 Understanding nDisplay nDisplay Unreal Engine's powerful multi-display system is used to configure and control large-scale display environments efficiently 657 00:40:32.764 --> 00:40:34.014 Key features of nDisplay Multi-node rendering Network-based synchronization Integration of cameras and tracking systems Flexibility in display configuration and management 658 00:40:34.014 --> 00:40:35.264 nDisplay hardware components NVDIA Quadro Sync card, Genlock support, high-speed network 659 00:40:35.264 --> 00:40:36.534 nDisplay software components nDisplay config file, SwitchBoard tool, multi-user functionality 660 00:40:36.534 --> 00:40:37.734 nDisplay How It Works Step by Step Configuring the nDisplay config file Setting up network connections and synchronization 661 00:40:37.734 --> 00:40:38.984 Configuring the nDisplay plugin and basic project settings Running and debugging with SwitchBoard 662 00:40:38.984 --> 00:40:40.234 Limitations of nDisplay Genlock and synchronization issues Network performance limitations 663 00:40:40.234 --> 00:40:41.470 Limitations of deterministic systems Problems with rendering boundaries between multiple displays Limitations of content development and distribution 664 00:40:41.470 --> 00:40:42.271 How to create a Config Plugin Settings Select 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 with the installed plugins 666 00:40:43.121 --> 00:40:43.920 Check the activation of Multi-User Editing, Take Recorder 667 00:40:43.920 --> 00:40:44.770 Project Settings Uncheck 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 - Activate Toolbar Button Server Type is set to Console 670 00:40:46.423 --> 00:40:47.923 Render machine actual execution part settings Set power management mode to prefer highest performance in F3D settings management Check maximize 3D performance in SLI and PhysX configuration settings 671 00:40:47.923 --> 00:40:49.673 Set resolution to 3840×2160, refresh rate to 24Hz and select display synchronization Select this system item in timing server, then select external house sync signal, then apply and confirm 672 00:40:49.673 --> 00:40:51.393 Set the network of the two computers being used to be the same, and set the speed to 10Gbps or more 673 00:40:51.393 --> 00:40:52.043 nDisplay Config Setting Create a new folder in the Content folder and name it 0_vp 674 00:40:52.043 --> 00:40:52.643 Create new livelink, ndc, and ocio folders in the 0_vp folder Select Create New Config in the ndc folder and name it test_nDisplay Config 675 00:40:52.643 --> 00:40:53.293 Enter LED Wall information in ObjGen [beta] and click Download OBJ Create a new mesh folder in the ndc folder and drag and drop the obj file to the mesh folder 676 00:40:53.293 --> 00:40:53.893 Register the obj Mesh in the mesh folder as a component of test_nDisplay Config 677 00:40:53.893 --> 00:40:54.543 Add NDisplay Transform, ICVFX Camera, and NDisplay View Origin components 678 00:40:54.543 --> 00:40:55.143 Add Cluster Node and name it main_wall_node Set the resolution to 3840×2160, IP address to the same as the render machine, and check Fullscreen 679 00:40:55.143 --> 00:40:55.743 Change the Type of Projection Policy in the Details window to Mesh and apply obj mesh to Mesh 680 00:40:55.743 --> 00:40:56.350 Change the size of main_wall_node and VP_0 to fit the panel size