1 00:00:23.600 --> 00:00:30.220 Hello, this is Hyunjin Kim, who will teach Unreal Engine basics for implementing realistic content 2 00:00:30.220 --> 00:00:37.420 In this lesson, we will change the actor's appearance by applying the model created by the art group 3 00:00:37.420 --> 00:00:44.300 We'll also create a background actor and make that background scroll infinitely 4 00:00:44.300 --> 00:00:49.710 Lastly, we will learn how to use simple widgets 5 00:00:49.857 --> 00:00:52.607 Changing Appearance by Applying the Model 6 00:00:54.020 --> 00:00:59.739 This time, let's change the appearance by applying the model 7 00:01:00.300 --> 00:01:03.810 Run the Epic Games Launcher 8 00:01:05.250 --> 00:01:07.850 Next, select the Marketplace tab 9 00:01:09.510 --> 00:01:18.050 Then, click the mouse in the content search box, search for AutoMotive, and press Enter 10 00:01:19.840 --> 00:01:25.820 Then, in the second item, you will find something called Automotive Materials 11 00:01:27.440 --> 00:01:32.590 Select the relevant item and click the free button 12 00:01:34.600 --> 00:01:42.320 Then, the button changes to the Add to Project button, where you can immediately add it to the project 13 00:01:42.320 --> 00:01:49.299 Then, if you purchase a paid or free asset, you can check it in this library tab 14 00:01:49.299 --> 00:01:52.840 You probably have it created in your archive 15 00:01:53.600 --> 00:01:59.250 So, if you purchase a lot, you can't check it right away 16 00:01:59.250 --> 00:02:07.019 So if you click the mouse in this library search and search for Automotive, you can see something like this 17 00:02:08.199 --> 00:02:10.869 Then click the Add to Project button 18 00:02:12.100 --> 00:02:20.200 It says no compatible user projects found, so click Show all projects here 19 00:02:20.219 --> 00:02:25.119 Then, all projects on my PC will appear 20 00:02:25.320 --> 00:02:29.650 Here, select First Project, then click Select Version 21 00:02:31.000 --> 00:02:40.120 Then select the highest version, and click Add to Project 22 00:02:41.420 --> 00:02:44.660 Then, the download will proceed 23 00:02:46.700 --> 00:02:50.289 Since we only use the model here 24 00:02:51.550 --> 00:02:54.350 It doesn't matter if the Unreal version is compatible 25 00:02:56.239 --> 00:03:00.429 Once the download is complete, open our project 26 00:03:00.900 --> 00:03:09.180 In the content browser window, you can see that the Automotive Materials folder has been created 27 00:03:11.700 --> 00:03:19.740 When you purchase an asset from the marketplace and add it 28 00:03:19.740 --> 00:03:26.989 Most levels are created in a preview format by the company that created the asset, saying, "This is how our asset looks." 29 00:03:28.239 --> 00:03:33.920 The asset we just downloaded also has levels 30 00:03:34.420 --> 00:03:40.380 After selecting the Automotive Materials folder, you will find a Maps folder 31 00:03:40.530 --> 00:03:46.420 If you double-click the maps folder, you will see an overview-level 32 00:03:46.420 --> 00:03:56.020 Double-click the level, and now, we have laid out the assets in a preview form like this 33 00:03:58.140 --> 00:04:01.690 So we can select one we like here 34 00:04:02.840 --> 00:04:07.640 And then write down in the details window what model we are using 35 00:04:07.640 --> 00:04:13.239 Then what material we are using 36 00:04:14.940 --> 00:04:19.940 I wrote material like this 37 00:04:19.940 --> 00:04:26.340 After selecting Actual Practice folder, open Actual Level 38 00:04:26.340 --> 00:04:31.940 After double clicking BP AI Actor, I will change the look 39 00:04:33.779 --> 00:04:43.419 At Component, select Static Mesh Component, then on the right Detail Window's Static Mesh Drop Down 40 00:04:43.459 --> 00:04:49.080 There will be only one model you write here 41 00:04:50.850 --> 00:04:54.400 sm_shader all should be added 42 00:04:56.660 --> 00:05:02.660 When you see on the viewport, you can see that the shape has changed like this 43 00:05:04.940 --> 00:05:10.220 I will change the Material as well 44 00:05:10.220 --> 00:05:16.639 mi_car paint_cherry 45 00:05:19.140 --> 00:05:25.489 Choose this and then 46 00:05:28.459 --> 00:05:31.010 Add Mi_metal_painted 47 00:05:32.900 --> 00:05:42.860 Finally, it's all the same, mi_metal forested reflective 48 00:05:42.860 --> 00:05:47.870 Then you can see that its color is changed to red 49 00:05:49.220 --> 00:05:56.379 Next, I will make this eye shape look to the left from where I'm looking 50 00:05:56.379 --> 00:06:01.969 Because this AI actor will be coming down in this direction 51 00:06:03.300 --> 00:06:11.140 So, in this transform, we can rotate this to this blue axis 52 00:06:11.140 --> 00:06:14.170 So that we will rotate it by 90º 53 00:06:15.540 --> 00:06:23.700 Then, if you save and press the compile button, move to the Actual Level, and start 54 00:06:24.700 --> 00:06:27.050 AI Actor comes out 55 00:06:28.780 --> 00:06:30.709 With the Unreal mark like this 56 00:06:32.012 --> 00:06:36.462 You can see the model is in a changed state 57 00:06:39.700 --> 00:06:45.110 Download the Player and Bullet Asset you like 58 00:06:45.860 --> 00:06:54.600 Then, take the time to change the Static Mesh and Materials 59 00:06:55.350 --> 00:06:57.500 Move the Background to Scroll from Top to Bottom 60 00:06:59.300 --> 00:07:08.179 This time, I will move the background to scroll from top to bottom 61 00:07:08.179 --> 00:07:10.809 For example, let's say there is something like this 62 00:07:12.420 --> 00:07:19.650 Let's say this height is set to 100 63 00:07:20.740 --> 00:07:24.550 Let's say the coordinates of this background actor are 64 00:07:25.147 --> 00:07:28.197 0, 0, 0 65 00:07:28.900 --> 00:07:30.229 You have to 66 00:07:31.880 --> 00:07:34.140 Scroll this from front to back like this 67 00:07:35.939 --> 00:07:41.390 Which direction does it move? 68 00:07:42.340 --> 00:07:47.219 Forward minus direction, right? We can make it move backward 69 00:07:49.020 --> 00:07:55.139 Then, only the value corresponding to this x among these coordinates will be changed 70 00:07:56.899 --> 00:08:03.219 Then, we will copy something exactly like this and place it on top 71 00:08:03.219 --> 00:08:10.740 At a distance of exactly 100 72 00:08:10.819 --> 00:08:14.629 The coordinates of this actor will be 100, 0, 0 73 00:08:15.979 --> 00:08:23.300 When we play, we will make the screen visible like this, but if we overlap them here, they won't be able to move 74 00:08:23.300 --> 00:08:25.529 So we'll express them next to here 75 00:08:27.909 --> 00:08:33.320 So, let's say this background is visible here, and then the player is here 76 00:08:35.100 --> 00:08:42.100 At this time, when you press the play button, we will create blueprint nodes 77 00:08:42.100 --> 00:08:47.289 So that these backgrounds move in the opposite direction of the forward vector 78 00:08:49.500 --> 00:08:50.850 So, let's move this 79 00:08:52.350 --> 00:08:55.100 When you move this 80 00:08:55.120 --> 00:09:00.989 You will see this background scrolling in that blue area 81 00:09:01.989 --> 00:09:06.460 Then, let's say the background above this 82 00:09:06.460 --> 00:09:10.589 Has reached the same level as the first background 83 00:09:12.499 --> 00:09:19.020 So, the background above this will have an x ​​coordinate close to 0 84 00:09:19.020 --> 00:09:25.020 And the background below 85 00:09:25.020 --> 00:09:27.589 Will have an x ​​value close to minus 100 86 00:09:29.180 --> 00:09:36.660 So what to do at this time is 87 00:09:36.660 --> 00:09:46.330 If you think that the x value is smaller than minus 100 88 00:09:47.380 --> 00:09:53.030 You put the background up like this 89 00:09:54.180 --> 00:10:00.850 You have to move it twice as much as this height 90 00:10:00.950 --> 00:10:09.430 Because the background which is up here has a value of 100, and we have to go up on more level, so it has to be 100 91 00:10:09.430 --> 00:10:14.690 So we move it twice as much as this height 92 00:10:15.400 --> 00:10:16.400 When? 93 00:10:17.390 --> 00:10:27.749 When this Actor's x value is smaller than -100, you have to move twice as much as this height 94 00:10:27.790 --> 00:10:36.950 If this continues, we can make them look like they're moving infinitely with these two Actors 95 00:10:36.950 --> 00:10:41.990 We will make in this way 96 00:10:43.389 --> 00:10:47.500 First, we will move this floor 97 00:10:48.650 --> 00:10:51.800 Now, the Blueprint is not applied to this floor 98 00:10:53.389 --> 00:11:01.510 When we put the cube from Place Actor, this Actor can't see the Blueprint file as well 99 00:11:01.510 --> 00:11:11.469 You can make these Actors with Blueprint After selecting the floor, you can see the icon next to the add button in Detail 100 00:11:11.469 --> 00:11:21.090 If you use the icon, it asks if you are going to make a Blueprint based on this status 101 00:11:22.390 --> 00:11:26.589 Write the Blueprint name 102 00:11:27.789 --> 00:11:31.539 I will say BP_flow, then select 103 00:11:32.589 --> 00:11:37.560 This is the same shape as before and made with a Blueprint 104 00:11:39.829 --> 00:11:45.270 You must move it backward when you come to the Event Graph 105 00:11:46.829 --> 00:11:54.149 Press the right key to get Get Actor Location 106 00:11:54.149 --> 00:12:00.229 Then, press the right key and add the Forward Vector 107 00:12:00.229 --> 00:12:01.630 To Get Actor 108 00:12:03.110 --> 00:12:11.470 Next, place the mouse on the Return Value of the Get Actor Forward Vector and drag it 109 00:12:11.509 --> 00:12:16.709 Then use Multiply to add Multiply node 110 00:12:17.149 --> 00:12:23.229 Then right-click and select 111 00:12:23.229 --> 00:12:25.539 Make Literal Float 112 00:12:28.509 --> 00:12:35.910 Please write -1 here and connect 113 00:12:36.149 --> 00:12:40.149 Then press the 'plus' button in Variables 114 00:12:40.149 --> 00:12:44.910 And call it Scroll Speed 115 00:12:45.190 --> 00:12:48.159 Set the data type to Float 116 00:12:51.030 --> 00:12:56.500 After compiling, set the Scroll Speed to 100 117 00:12:56.550 --> 00:12:59.370 If it's a bit slow, I'll change it later 118 00:13:00.300 --> 00:13:05.020 So I will drag this Scroll Speed to Get 119 00:13:05.020 --> 00:13:12.740 Then, multiply these two, so drag and drop from the yellow pin above, then search for Multiply 120 00:13:12.740 --> 00:13:19.949 Add a multiply node, and then connect the Scroll Speed to multiply it 121 00:13:22.019 --> 00:13:30.259 After that, I will multipy it with Delta Time, drag it from the yellow pin adn ad Multiply node 122 00:13:30.259 --> 00:13:36.340 Add Delta Seconds and organize the nodes 123 00:13:37.540 --> 00:13:44.140 Next, I will plus these two by dragging from the yellow pin 124 00:13:44.180 --> 00:13:50.579 Add the Add node and connect Get Actor Location 125 00:13:50.579 --> 00:13:54.980 Just set this final value to the Actor 126 00:13:54.981 --> 00:14:01.403 Press the right key to search for Set Actor Location Node 127 00:14:03.300 --> 00:14:08.700 Connect the final value to the New Location 128 00:14:08.700 --> 00:14:14.340 Next, I will connect the execution pin of the Event Tick to the execution pin of the Set Actor Location 129 00:14:14.340 --> 00:14:19.579 I just made it move backward, and compile 130 00:14:19.579 --> 00:14:27.100 Then run it, and it appears just to move forward even if the player is still 131 00:14:27.100 --> 00:14:32.300 It's slow, so I'll make it a little faster 132 00:14:32.579 --> 00:14:39.060 Select BP Floor and then set this speed value to 500 133 00:14:39.060 --> 00:14:45.060 Compile and then play again 134 00:14:46.060 --> 00:14:51.209 It goes a little bit faster, but there's only one, so if it keep going like this 135 00:14:51.210 --> 00:14:53.230 The background disappears, right? 136 00:14:55.660 --> 00:15:00.179 So, what should I do? Place one more on top 137 00:15:02.300 --> 00:15:12.260 After selecting BP Floor at Outliner, press Alt, left-click and place the red axis like this 138 00:15:14.540 --> 00:15:23.620 When you put this perfectly, its size is 8,000, so select this copied flower 139 00:15:23.620 --> 00:15:30.660 I'll set this red x value of Transform Location to 8,000 140 00:15:30.660 --> 00:15:35.210 Then, you can see that it is attached exactly like this 141 00:15:37.300 --> 00:15:39.100 Let's press Play again 142 00:15:39.889 --> 00:15:43.779 Here, if you press F8 143 00:15:43.779 --> 00:15:49.460 You can freely adjust the camera viewpoint and can see it go like this 144 00:15:49.460 --> 00:15:54.050 You can see these two floors are both moving 145 00:15:55.859 --> 00:15:59.459 Now, I will go to BP Flower and put a condition 146 00:16:00.200 --> 00:16:01.200 What condition? 147 00:16:02.450 --> 00:16:06.290 Among the locations, if x value 148 00:16:06.290 --> 00:16:10.090 Gets smaller than -8,000 149 00:16:10.090 --> 00:16:14.250 Then plus 16,000 and put this up 150 00:16:17.010 --> 00:16:23.610 I will stop this running on Event Tick for a moment, then right-click and put in Sequence 151 00:16:23.610 --> 00:16:27.890 Add the Sequence, and then run 152 00:16:27.890 --> 00:16:33.130 Then, connect the Then 0 execution pin to Set Actor Location 153 00:16:33.130 --> 00:16:36.569 And pull it out this way 154 00:16:36.690 --> 00:16:40.839 Then, put the condition at Then 2 155 00:16:42.970 --> 00:16:50.409 First, right-click and bring the current location of Set Actor Location 156 00:16:50.409 --> 00:16:58.850 Then, I will compare the x values Return value returns the vector which has x, y, z 157 00:16:58.850 --> 00:17:06.460 By right-click and do Split Struct Pin, x, y, and z value can be checked individually 158 00:17:08.329 --> 00:17:18.810 Here, drag the mouse on the pin called Return Value X and search for the inequality sign: Is the left side smaller? 159 00:17:18.810 --> 00:17:20.789 I'll put Less 160 00:17:22.890 --> 00:17:27.239 And then I'll plug in the numbers directly here 161 00:17:28.000 --> 00:17:30.400 Just enter -8,000 162 00:17:31.789 --> 00:17:37.589 This is the current position and is true if the x value is less than -8000 163 00:17:38.289 --> 00:17:40.199 Otherwise, it is false 164 00:17:41.770 --> 00:17:49.650 Press the right key and search for if you need to add a branch node 165 00:17:50.850 --> 00:17:57.329 Then, insert this compared value into the condition like this 166 00:17:59.289 --> 00:18:06.610 Connect the Then 1 execution pin to enable this branch node to be executed 167 00:18:06.610 --> 00:18:10.440 I will also organize the nodes like this 168 00:18:16.089 --> 00:18:21.790 If it becomes true by becoming smaller than -8000 169 00:18:22.840 --> 00:18:25.589 Increase it by 16,000 170 00:18:28.170 --> 00:18:33.050 Right-click to get the Get Actor Location value 171 00:18:34.450 --> 00:18:41.239 Then, drag the mouse on Return Value and add a plus add node 172 00:18:42.289 --> 00:18:51.530 We only need to increase the x value by 16000, so we will write that value here 173 00:18:51.530 --> 00:18:55.599 The remaining y and z are 0, so they will remain the sam 174 00:18:57.170 --> 00:19:00.520 Then, you can set this value again, right? 175 00:19:00.521 --> 00:19:05.196 Right-click, then Set Actor Location 176 00:19:07.369 --> 00:19:11.369 Here, let's connect this added value to the New Location 177 00:19:11.369 --> 00:19:17.829 And connect from the true execution pin to the Set Actor Location execution pin 178 00:19:19.970 --> 00:19:24.959 Compile, go to Actual Level, play 179 00:19:26.009 --> 00:19:32.710 Press F8 to exit, and then watch this first one 180 00:19:36.729 --> 00:19:42.449 The moment the X value reached -8,000, it came back up here, right? 181 00:19:44.569 --> 00:19:48.010 The moment it gets to -8,000 182 00:19:55.770 --> 00:19:57.740 It comes up here like this 183 00:19:57.741 --> 00:20:03.857 It's so slow right now that it's taking a long time, so let's take a quick look at this as we play it 184 00:20:04.050 --> 00:20:11.450 After selecting the BP Floor top component for BP Floor 185 00:20:11.450 --> 00:20:15.500 I will set this speed value to 5,000 186 00:20:16.550 --> 00:20:19.239 Compile, play again 187 00:20:19.240 --> 00:20:20.100 How does it look? 188 00:20:22.170 --> 00:20:26.239 It seems like it keeps moving and scrolling infinitely, right? 189 00:20:28.689 --> 00:20:30.409 This method allows 190 00:20:31.250 --> 00:20:33.000 A scrolling background 191 00:20:33.609 --> 00:20:36.830 To be expressed with only small resources 192 00:20:38.849 --> 00:20:44.169 For these things to be realized, the art profession must make them well 193 00:20:44.169 --> 00:20:49.809 How? The part that continues here contains an if shape 194 00:20:49.809 --> 00:20:55.090 Even if it just meets like this, it has to be made in such a way that it connects as one 195 00:20:55.169 --> 00:21:00.930 So it doesn't feel like it's broken 196 00:21:00.930 --> 00:21:02.910 But feels like it's connected 197 00:21:05.849 --> 00:21:13.289 Let's set this speed value back to 500 on the BP Floor 198 00:21:15.160 --> 00:21:17.910 Forming Widget 199 00:21:19.880 --> 00:21:22.890 This time, we will form the UI 200 00:21:23.540 --> 00:21:30.490 Using a widget and simply visually express 201 00:21:30.490 --> 00:21:37.210 How many AI actors are destroyed when the bullet actor 202 00:21:37.210 --> 00:21:40.099 Collides with the AI ​​actor 203 00:21:41.250 --> 00:21:43.250 After moving to Actual Level 204 00:21:44.249 --> 00:21:49.450 Right-click in the content browser window, and this time 205 00:21:49.450 --> 00:21:54.249 At the User Interface menu 206 00:21:54.249 --> 00:21:57.060 Select Widget Blueprint 207 00:21:59.450 --> 00:22:03.609 Next, I will select User Widget under Common 208 00:22:05.009 --> 00:22:10.389 Let's name it WBP_Main 209 00:22:12.249 --> 00:22:14.600 Double-click to open it 210 00:22:16.490 --> 00:22:21.529 Unlike a regular Blueprint, there is no Viewport 211 00:22:21.529 --> 00:22:23.699 Only a Designer tab 212 00:22:25.150 --> 00:22:28.800 Here, we form the screen for the UI 213 00:22:30.150 --> 00:22:35.799 There is a list on the left of what UI and widget to use 214 00:22:38.609 --> 00:22:44.529 First, let's expand this panel, then drag the canvas panel 215 00:22:44.529 --> 00:22:50.930 And drop it on WBP_Main in the Hierarchy window below 216 00:22:50.930 --> 00:22:53.029 Then it is added like this 217 00:22:55.490 --> 00:22:59.029 After selecting the canvas panel 218 00:22:59.100 --> 00:23:04.550 You will see an arrow like this on the right side of this designer window 219 00:23:04.629 --> 00:23:08.749 You can adjust the size by moving the arrow 220 00:23:10.830 --> 00:23:12.669 Leave it as default for now 221 00:23:14.130 --> 00:23:19.220 Then, form the UI within this screen 222 00:23:20.220 --> 00:23:24.470 Let's put a text in the top left corner 223 00:23:25.350 --> 00:23:31.440 In the Palette, there is Text in the Common menu 224 00:23:32.550 --> 00:23:39.900 If you drag the Text and place it in the designer window, it will become a child of this canvas 225 00:23:41.390 --> 00:23:44.560 You can change the position like this with the mouse 226 00:23:45.300 --> 00:23:51.850 And if you look to the right, you can also edit the values ​​with positions x and y 227 00:23:53.310 --> 00:23:56.570 Let's take a look at some frequently used options 228 00:23:57.150 --> 00:24:00.150 First, we have Anchors 229 00:24:00.900 --> 00:24:06.350 If we expand this, it is currently set to 0 0 0 0 230 00:24:07.470 --> 00:24:10.180 What this means is 231 00:24:10.489 --> 00:24:13.439 I'm currently a Child of a canvas panel 232 00:24:13.800 --> 00:24:19.900 I'm going to calculate the coordinates based on the top left corner of the Parent 233 00:24:21.380 --> 00:24:28.730 If I click on Anchors here and then select the center shape like this 234 00:24:28.730 --> 00:24:33.039 These Anchors will change to 0.5 0.5 0.5 0.5 235 00:24:34.150 --> 00:24:42.200 This means I will calculate the coordinates by centering the canvas panel as the center 236 00:24:42.789 --> 00:24:44.900 So, if you look at the coordinates now 237 00:24:44.901 --> 00:24:50.700 Position x is -920, and position y is -508 238 00:24:50.950 --> 00:24:55.470 If you change this, the positions x and y will change 239 00:24:57.229 --> 00:24:59.940 Let's put it back to the top left 240 00:25:01.140 --> 00:25:07.420 If you look at the Alignment value, it is currently set to 0.0 241 00:25:08.470 --> 00:25:14.709 Meaning if I position it at 100, 100 242 00:25:14.800 --> 00:25:20.600 I will center it at the top left and place it at that position 243 00:25:20.709 --> 00:25:27.840 If you really put 100, 100 so that the top left corner is at 100, 100 244 00:25:28.950 --> 00:25:30.850 It will be arranged like this 245 00:25:32.040 --> 00:25:36.679 If you enter 0, 0, it will be placed exactly in the upper left corner 246 00:25:36.679 --> 00:25:42.660 So, if you put 0, 0, you can see that it is placed exactly in the upper left corner like this 247 00:25:44.950 --> 00:25:54.010 So, you can adjust these Anchors and Alignment to place them appropriately 248 00:25:55.760 --> 00:26:00.739 This contains the basic text called Text Block 249 00:26:00.830 --> 00:26:06.400 You will see ‘There is text in the content on the right,’ the content written goes in there 250 00:26:08.310 --> 00:26:12.740 So, I'll put the content, AIActor 251 00:26:15.030 --> 00:26:16.390 Disappeared 252 00:26:17.950 --> 00:26:19.010 Number 253 00:26:21.350 --> 00:26:26.179 Then, put in colon 254 00:26:29.150 --> 00:26:32.150 The current size of this text is 255 00:26:33.040 --> 00:26:37.150 40 of 151, but it is out of range 256 00:26:37.150 --> 00:26:44.660 So, you can increase this size a little or if you check the size of the contents 257 00:26:44.661 --> 00:26:49.891 The size will automatically change to match the size 258 00:26:49.960 --> 00:26:52.159 Instead, this number does not change 259 00:26:54.150 --> 00:27:01.620 And then I'll put one more text I dragged it and put it into the canvas panel 260 00:27:02.950 --> 00:27:05.850 Let me change this name a little bit 261 00:27:05.950 --> 00:27:14.750 Select the Text Block you added, and then at the top of this Details, Text Block_83 262 00:27:14.750 --> 00:27:17.640 Let's call it Remove Count 263 00:27:21.779 --> 00:27:23.870 So I'll place it here 264 00:27:27.230 --> 00:27:32.620 The default value will be 0, not Text Block 265 00:27:34.790 --> 00:27:39.819 And then, I'm going to click on Size To Content 266 00:27:40.669 --> 00:27:50.360 So what we're doing is we're going to change this value to 1, 2, 3, 4 when the Bullet and the AI ​​actor are out of collision 267 00:27:51.790 --> 00:27:54.690 It may not be visible because it is white 268 00:27:55.160 --> 00:28:02.640 So select the text for the number of missing AI actors, then there is Color and Opacity in Appearance on the right 269 00:28:04.309 --> 00:28:12.669 If you click on this white part, the Color Picker will appear, and then you can change it to the color you want 270 00:28:17.070 --> 00:28:21.369 Select this count as well, and then change the color 271 00:28:24.979 --> 00:28:30.029 Compile and save, then go to the Action Level 272 00:28:30.030 --> 00:28:33.450 And double-click BP Player to open it 273 00:28:35.229 --> 00:28:38.649 So, at Begin Player, we will set the initial input 274 00:28:40.270 --> 00:28:46.109 Run the bullet timer, and then create the main widget 275 00:28:47.659 --> 00:28:53.829 If you press the right key and search for Create Widget 276 00:28:53.830 --> 00:28:57.996 A Create Widget will appear, add that node 277 00:28:58.229 --> 00:29:03.830 And select Select Class from this Class item 278 00:29:04.830 --> 00:29:10.960 Then, if we search for the WBP_Main we created, we will find one 279 00:29:12.110 --> 00:29:15.170 The idea is to create WBP Main 280 00:29:16.252 --> 00:29:20.452 However, once this widget is created, it will not be visible on the screen 281 00:29:21.270 --> 00:29:25.690 After creating it, you need to paste it on this screen 282 00:29:28.550 --> 00:29:36.630 So, I'll right-click the Return Value where this widget was created and briefly put it in Variables 283 00:29:36.630 --> 00:29:45.470 Promote to Variable, a variable is created like this, and the data type is WBP Main 284 00:29:45.470 --> 00:29:47.759 I will change your name 285 00:29:48.990 --> 00:29:51.510 I'll call it Main Widget 286 00:29:54.350 --> 00:29:59.720 Then, with this widget created, drag it from the blue pin 287 00:30:00.400 --> 00:30:03.770 And search for Add to the viewport 288 00:30:03.771 --> 00:30:09.300 Then, select Add to Viewport in the User Interface section below 289 00:30:10.720 --> 00:30:11.780 Select 290 00:30:13.840 --> 00:30:15.649 This means 291 00:30:16.450 --> 00:30:17.750 Widget 292 00:30:19.200 --> 00:30:20.550 Create 293 00:30:24.080 --> 00:30:25.200 Attach 294 00:30:29.309 --> 00:30:30.500 To the screen 295 00:30:33.120 --> 00:30:41.339 Attach the execution pin of Set Timer By Function Name to Create the WBP Main Widget Node 296 00:30:43.359 --> 00:30:44.690 Compile 297 00:30:45.250 --> 00:30:51.150 If you move to Actual Level, and press the Run button 298 00:30:52.480 --> 00:30:55.270 You can see the number of missing actors in the upper left corner like this 299 00:30:57.519 --> 00:31:03.330 It overlaps something else, so I'll slightly move its position 300 00:31:05.600 --> 00:31:07.550 Let's go to WBP Main 301 00:31:08.379 --> 00:31:13.649 Hold down Ctrl, select both with a mouse click 302 00:31:15.239 --> 00:31:17.190 And then scroll down 303 00:31:21.990 --> 00:31:24.979 And I'll increase the font size a little 304 00:31:25.679 --> 00:31:33.700 If you select the Disappeared Number text and open the font under the color you changed, an option will appear 305 00:31:33.700 --> 00:31:38.150 So, you can choose the font shape, make it thicker 306 00:31:38.150 --> 00:31:43.590 And then, if you select the size and select 50, the font will become larger 307 00:31:44.490 --> 00:31:50.790 You can also rearrange this number and change the font size to 50 308 00:31:50.790 --> 00:31:55.359 Reposition it appropriately 309 00:31:56.000 --> 00:32:00.050 Compile and Play again, it looks bigger and more visible 310 00:32:02.159 --> 00:32:05.709 Now, all you have to do is raise those numbers 311 00:32:07.809 --> 00:32:11.279 Let's create a BP Play function 312 00:32:11.279 --> 00:32:17.830 After pressing the Plus button on Function, we will name it AddCount 313 00:32:20.230 --> 00:32:22.580 And I'll also create a variable 314 00:32:22.780 --> 00:32:26.480 Let's press the plus button in Variables 315 00:32:29.250 --> 00:32:31.600 And name it RemoveCount 316 00:32:32.350 --> 00:32:38.750 Next, I'll drop down Boolean and change it to Integer 317 00:32:40.900 --> 00:32:46.750 This Add Count function increases this RemoveCount by one 318 00:32:46.750 --> 00:32:51.950 And expresses the increased value on the main widget 319 00:32:53.500 --> 00:32:58.769 Drag RemoveCount to Get 320 00:33:00.650 --> 00:33:08.170 Then drag the green pin with the mouse, search for plus, and add Add node 321 00:33:08.170 --> 00:33:13.530 Next, it will increase by one, so change the part from 0 to 1 322 00:33:14.730 --> 00:33:16.880 What should we do with the added value again? 323 00:33:16.881 --> 00:33:20.392 Set again to this RemoveCount 324 00:33:22.170 --> 00:33:26.850 Connect the added result to RemoveCount 325 00:33:26.850 --> 00:33:31.209 Next, connect the execution pin so that it can be connected 326 00:33:33.330 --> 00:33:38.009 Then bring the main widget variables on the left 327 00:33:38.750 --> 00:33:40.500 To get 328 00:33:41.609 --> 00:33:47.170 Next, we changed the variable name that the main widget has 329 00:33:47.171 --> 00:33:48.350 To RemoveCount 330 00:33:50.420 --> 00:33:53.030 But we can't search it 331 00:33:54.000 --> 00:33:55.650 It's because 332 00:33:56.480 --> 00:33:59.170 Go to WBP Main 333 00:33:59.170 --> 00:34:04.070 And select this text called RemoveCount 334 00:34:05.370 --> 00:34:12.330 Then, if you look at Details, there is an option called is variable next to the name 335 00:34:12.330 --> 00:34:17.890 You must check the relevant item to use it like a variable in Blueprint 336 00:34:19.090 --> 00:34:25.209 Check, compile, and then move to BP Player 337 00:34:26.609 --> 00:34:31.479 Then, if you drag and drop it again from the main widget 338 00:34:31.800 --> 00:34:32.800 And search for 339 00:34:33.879 --> 00:34:39.020 RemoveCount, Get Remove Count will appear like this 340 00:34:40.410 --> 00:34:41.640 Click 341 00:34:44.130 --> 00:34:50.410 It is saying, "Main Widget, give me the RemoveCount text among the texts you have" 342 00:34:50.410 --> 00:34:55.970 Then, "RemoveCount Text, I will set the value to you" 343 00:34:55.970 --> 00:34:59.020 So, search for 344 00:34:59.889 --> 00:35:01.839 And add another node 345 00:35:02.370 --> 00:35:03.500 Called Set Text 346 00:35:05.250 --> 00:35:06.250 So 347 00:35:06.989 --> 00:35:08.869 To In Text here 348 00:35:12.010 --> 00:35:16.169 Connect the RemoveCount value with 1 added 349 00:35:19.849 --> 00:35:21.720 Let me organize the nodes 350 00:35:26.849 --> 00:35:30.529 Next, let’s connect the execution pin 351 00:35:32.409 --> 00:35:39.890 Compile and executing does not mean that the Add Count function will work 352 00:35:39.890 --> 00:35:46.479 Because someone has to call and use this function, we haven't used it yet, so we just created it 353 00:35:48.000 --> 00:35:50.750 Who should call this Add count? 354 00:35:51.779 --> 00:35:54.250 BP Bullet should 355 00:35:54.250 --> 00:35:58.579 This is because BP Bullet Blueprint has 356 00:35:58.580 --> 00:36:04.200 The role of destroying AI actors when they collide with them 357 00:36:06.100 --> 00:36:10.820 At this point, I'll cut it off briefly before destroying myself 358 00:36:11.520 --> 00:36:16.620 And I'll find the Player Actor 359 00:36:16.620 --> 00:36:23.780 Next, the Add Count function of the Player Actor will be executed 360 00:36:24.980 --> 00:36:32.600 Click right to add Get Actor Of Class Node 361 00:36:34.820 --> 00:36:39.580 Then select Select Class in the Actor Class item 362 00:36:39.581 --> 00:36:42.940 And select BP_Player 363 00:36:47.350 --> 00:36:50.550 Then, Get Actor Of Class 364 00:36:50.689 --> 00:36:55.780 Searches for the Player placed in the Level and throws it as this Return Value 365 00:36:56.500 --> 00:36:59.050 Then, search for 366 00:36:59.050 --> 00:37:07.910 “Player, execute a function called Add Count among the functions you have” and add it 367 00:37:08.910 --> 00:37:10.089 Add 368 00:37:12.740 --> 00:37:17.629 So, destroy the AI ​​Actor 369 00:37:18.700 --> 00:37:20.050 Find the Player 370 00:37:20.779 --> 00:37:23.680 Increase Count 371 00:37:24.650 --> 00:37:27.800 And then connect to destroy myself 372 00:37:30.060 --> 00:37:38.620 Compile, go to Actual Level, and press play then whenever the bullet is hit 373 00:37:38.620 --> 00:37:42.279 You can see that the missing count increases 374 00:37:45.829 --> 00:37:52.729 In this way, you can express data or situations using widgets 375 00:37:57.859 --> 00:38:02.320 Let's come to WBP Main and add a button 376 00:38:02.321 --> 00:38:06.150 There is a button in the Common tab, drag it 377 00:38:06.620 --> 00:38:11.419 And drop it on the canvas panel. 378 00:38:11.419 --> 00:38:21.460 Then, place it below the area where the missing count is output and adjust the size 379 00:38:21.460 --> 00:38:22.800 With the mouse 380 00:38:24.380 --> 00:38:33.219 Next, if you look at Details, there is a Background Color, and you can change the color after selecting the color 381 00:38:36.369 --> 00:38:45.279 I'm going to add a text here, and I'm going to select the text widget and put it under this button 382 00:38:45.979 --> 00:38:47.340 It is added like this 383 00:38:48.900 --> 00:38:55.950 After selecting the text, I will say Stop the text 384 00:38:57.150 --> 00:38:59.420 Under Detail and Content 385 00:39:00.350 --> 00:39:06.300 If we press this button, it will cause what we're playing to stop 386 00:39:08.180 --> 00:39:14.699 Press the Compile button, then select the button 387 00:39:14.699 --> 00:39:19.829 And check Is Variable in the Detail on the right 388 00:39:19.830 --> 00:39:24.003 If you check this, an Event will appear below 389 00:39:24.779 --> 00:39:29.269 Here, an item can receive an event that says it was clicked 390 00:39:30.055 --> 00:39:33.455 When you press the plus button in On Clicked 391 00:39:33.455 --> 00:39:37.380 An event node is automatically added like this 392 00:39:38.000 --> 00:39:41.550 Then, come to this Graph window 393 00:39:43.380 --> 00:39:50.780 WBP Widget Blueprint is divided into the Designer tab and Graph tab 394 00:39:51.580 --> 00:39:58.860 So, when you check the appearance, you can select the Designer tab, and then when you code something 395 00:39:59.160 --> 00:40:02.160 You can select the Graph tab 396 00:40:03.550 --> 00:40:07.690 What should I do now? Press the right key 397 00:40:08.590 --> 00:40:19.600 And search for Quick Game, a node appears, and then connect this execution pin, when you click the button 398 00:40:20.550 --> 00:40:28.950 This On Clicked Event is called, the node called Quick Game is executed, and the process ends 399 00:40:28.950 --> 00:40:37.910 If you press the compile button, go to Actual Level, and then press Play again, you can see a button like this 400 00:40:37.910 --> 00:40:45.509 When you move the mouse over something, the color changes, and when you click 401 00:40:45.509 --> 00:40:49.309 The process ends like this 402 00:40:49.910 --> 00:40:53.669 I will summarize what we learned in this lesson 403 00:40:53.669 --> 00:41:02.790 We learned how to change the appearance of the Static Mesh Component by changing the Static Mesh and Material 404 00:41:02.790 --> 00:41:09.829 You learned how to create a background actor and an infinite scrolling feature 405 00:41:09.829 --> 00:41:17.310 We learned how to express the current user status using a widget 406 00:41:17.311 --> 00:41:20.350 Change appearance by applying model Appearance change 407 00:41:20.411 --> 00:41:23.900 Component - Static Mesh Component - Detail - Static Mesh Drop Down then set 408 00:41:23.900 --> 00:41:26.201 Move the background to scroll from top to bottom Setting 409 00:41:26.201 --> 00:41:28.551 Create a BluePrint node so that the backgrounds move in the opposite direction of the Forward Vector 410 00:41:28.551 --> 00:41:30.950 Flow - Detail - Icon next to the Add button - Create BluePrint 411 00:41:30.951 --> 00:41:32.201 Form Widget Setting 412 00:41:32.201 --> 00:41:33.400 Contents Browser - Mouse right click - User Interface - Widget BluePrint - User Widget 413 00:41:33.401 --> 00:41:34.450 Add Text: Palette - Common - Drag Text 414 00:41:34.451 --> 00:41:35.650 Anchors: Select where to calculate coordinates based on the canvas 415 00:41:35.651 --> 00:41:36.901 Alignmenet Menu: Text placement numerical settings 416 00:41:36.901 --> 00:41:38.231 Content - Text: Content change