WEBVTT 1 00:00:27.179 --> 00:00:29.420 Hello, this is Yeong-hoon Lee 2 00:00:29.975 --> 00:00:35.355 This time, we are going to create collision and dynamic background scroll 3 00:00:35.860 --> 00:00:38.699 First, we're going to learn about collision between actors 4 00:00:38.699 --> 00:00:44.912 And ways to play the explosion VFX audio during collision 5 00:00:45.259 --> 00:00:51.004 Also learn about UV animation to scroll the background 6 00:00:51.257 --> 00:00:54.980 Collision effect 7 00:00:56.172 --> 00:00:59.961 Continuing from last time, we are going to try collision effect 8 00:00:59.961 --> 00:01:02.936 and background scroll effect 9 00:01:03.580 --> 00:01:07.624 What we need to know about collision is that 10 00:01:09.208 --> 00:01:11.468 When we make an actor 11 00:01:13.656 --> 00:01:17.031 There's an event called ActorBeginOverlap 12 00:01:17.497 --> 00:01:21.231 When there's a collision between two actors 13 00:01:21.439 --> 00:01:23.648 This is the event that occurs 14 00:01:24.390 --> 00:01:26.386 We're going to use this to process it 15 00:01:27.386 --> 00:01:29.115 But the problem is 16 00:01:29.620 --> 00:01:32.976 If we process it in the same place, there may be issues 17 00:01:33.382 --> 00:01:38.639 If you look at the structure, the things that appear 18 00:01:39.500 --> 00:01:43.288 There's the enemy and there's the bullet 19 00:01:44.130 --> 00:01:45.601 And there's the player 20 00:01:46.908 --> 00:01:50.644 If we process it all in the same place, it's a little difficult 21 00:01:50.644 --> 00:01:53.233 We can't process it in the player 22 00:01:53.233 --> 00:01:57.957 Because the collision between the Enemy and the Bullet is occurring between these two 23 00:01:58.214 --> 00:01:59.229 Then look 24 00:01:59.606 --> 00:02:03.438 The Bullet and the Enemy collide like this 25 00:02:03.438 --> 00:02:06.789 The Enemy and the Player can collide 26 00:02:06.789 --> 00:02:09.528 So let's form a relationship 27 00:02:09.528 --> 00:02:12.969 So the Player stays still 28 00:02:13.236 --> 00:02:16.361 The Enemy gets processed when it's the Player 29 00:02:16.826 --> 00:02:20.598 And the Bullet gets processed when it's the Enemy 30 00:02:20.598 --> 00:02:25.951 To put it again, when the Enemy and the Player comes across 31 00:02:27.139 --> 00:02:29.393 We're going to make a collision effect 32 00:02:29.661 --> 00:02:33.061 And when the Bullet comes across with the Enemy 33 00:02:33.061 --> 00:02:35.837 We'll make another collision effect 34 00:02:36.787 --> 00:02:38.981 That's how we will format it 35 00:02:40.813 --> 00:02:42.287 Let's try the Enemy first 36 00:02:46.936 --> 00:02:52.147 Then come to BP_Enemy, it's a little messy here 37 00:02:52.494 --> 00:02:53.757 Should we go like this? 38 00:02:56.905 --> 00:02:58.977 It will be better if we format it like this 39 00:03:04.386 --> 00:03:08.315 Then the things we look at for collision is here 40 00:03:13.047 --> 00:03:15.189 Let's make it simple first 41 00:03:15.189 --> 00:03:21.373 Let's process it for the instance when the Enemy and the Player collides 42 00:03:22.046 --> 00:03:24.035 When processing these in Unreal 43 00:03:24.401 --> 00:03:29.114 Collision is ultimately two objects running into each other 44 00:03:29.649 --> 00:03:31.669 Even if multiple things collide at once 45 00:03:31.936 --> 00:03:36.490 The actual things that collide are A and B, or B and C 46 00:03:36.490 --> 00:03:41.561 A and C, so the collision of two things 47 00:03:41.759 --> 00:03:44.291 That's what we're trying to process 48 00:03:45.836 --> 00:03:49.188 So here, this is what we're going to 49 00:03:52.076 --> 00:04:02.569 The Enemy, a.k.a me, I'm the Enemy. I collided with the Player 50 00:04:06.807 --> 00:04:10.679 And we both die 51 00:04:18.858 --> 00:04:21.640 So to collide, we can basically 52 00:04:21.640 --> 00:04:24.155 Process it using ActorBeginOverlap 53 00:04:24.977 --> 00:04:30.900 Look, then it the opponent is the Player, we can process it 54 00:04:30.900 --> 00:04:33.186 Other Actor is the Player 55 00:04:33.542 --> 00:04:36.498 Ways to prove this exist in many ways 56 00:04:36.498 --> 00:04:40.579 Whether the tag is correct, whether the tag is there 57 00:04:40.906 --> 00:04:46.448 Or if the name contains the word "Player" 58 00:04:46.448 --> 00:04:48.895 Or there's the concept of casting 59 00:04:48.895 --> 00:04:51.835 In the language perspective 60 00:04:52.627 --> 00:04:55.959 We have the concept of parent-child class 61 00:04:57.226 --> 00:04:59.518 There's the parent class and the child class 62 00:04:59.785 --> 00:05:04.070 Then when the child class inherits the parent class 63 00:05:04.367 --> 00:05:07.664 We make the object and change it into a parent type 64 00:05:07.991 --> 00:05:11.271 Or change it into another type 65 00:05:12.420 --> 00:05:15.014 This is casting, also known as type conversion 66 00:05:15.559 --> 00:05:18.994 And if the casting succeeds 67 00:05:20.350 --> 00:05:23.296 It becomes their child 68 00:05:23.296 --> 00:05:27.112 So if the Other Actor is BP_Player 69 00:05:27.637 --> 00:05:33.349 For BP_Player, in the upper right hand corner, the parent class is pawn 70 00:05:33.745 --> 00:05:37.182 But pawn eventually inherits the Actor 71 00:05:37.450 --> 00:05:41.112 So here, if we take this Actor 72 00:05:41.745 --> 00:05:46.447 And succeed in casting into a Player, it becomes the Player 73 00:05:47.417 --> 00:05:49.180 And we can bring it like this 74 00:05:49.645 --> 00:05:52.033 Let's try casting, type cast 75 00:05:53.667 --> 00:05:58.389 Cast BP_Player and try type conversion 76 00:05:59.201 --> 00:06:01.361 It may or may not succeed 77 00:06:01.361 --> 00:06:03.162 If it fails, it's not the Player 78 00:06:03.875 --> 00:06:06.436 If succeeded, or if failed 79 00:06:06.733 --> 00:06:11.022 If succeeded, the casted or type-converted object 80 00:06:11.339 --> 00:06:14.115 Pops out this way 81 00:06:14.630 --> 00:06:16.653 Other Actor transforms into this 82 00:06:18.375 --> 00:06:21.061 Then if it succeeds, what happens? 83 00:06:21.061 --> 00:06:23.275 You die, and I also die 84 00:06:25.444 --> 00:06:29.573 So we'rer going to destroy the opponent first, then destroy myself 85 00:06:29.573 --> 00:06:33.134 Then the Other Actor may destroy with this 86 00:06:33.837 --> 00:06:37.296 Or destroy the guy casted with BP_Player 87 00:06:37.692 --> 00:06:40.205 Ways to destroy is simple. Just pull it over like this 88 00:06:40.640 --> 00:06:43.497 And type Destroy Actor 89 00:06:45.576 --> 00:06:51.146 This way, the target is the opponent, or the Player 90 00:06:51.146 --> 00:06:54.471 It's the Player, so it means destroy the Player 91 00:06:54.917 --> 00:06:58.562 And to destroy myself as well 92 00:06:58.889 --> 00:07:01.115 Select Destroy Actor for me as well 93 00:07:03.697 --> 00:07:06.311 Now the target here is "self" 94 00:07:06.311 --> 00:07:09.906 This means destroying myself, when this is called out 95 00:07:12.104 --> 00:07:16.821 If you look here, there's EndPlay, just like BeginPlay 96 00:07:16.821 --> 00:07:19.336 That node gets called out 97 00:07:19.336 --> 00:07:21.910 If we need to add more things afterward, that's where we'll work 98 00:07:22.574 --> 00:07:24.326 Let's keep this flow 99 00:07:29.036 --> 00:07:30.986 Should we see if it works? 100 00:07:31.184 --> 00:07:32.929 Let's compile and play 101 00:07:32.929 --> 00:07:38.106 Place this in the middle, and let's try colliding 102 00:07:41.212 --> 00:07:42.394 It doesn't collide 103 00:07:43.285 --> 00:07:47.150 There are a couple of possible reasons, let's take a look 104 00:07:48.466 --> 00:07:51.442 If you look at the Enemy, in order for collision to occur 105 00:07:52.076 --> 00:07:57.602 In order for this Overlap event to occur, we need to set certain things 106 00:07:57.721 --> 00:08:00.111 What it is, is there's a cube here 107 00:08:00.379 --> 00:08:04.433 If you look at the cube, it says Static Mesh Components 108 00:08:04.810 --> 00:08:07.004 Static Mesh Component means 109 00:08:07.964 --> 00:08:12.771 When an objects is drawn out 3D, Mesh is needed 110 00:08:13.108 --> 00:08:17.455 The Mesh is used for drawing 111 00:08:17.762 --> 00:08:21.708 On the details of the right side, it says Static Mesh and there's a cube 112 00:08:22.836 --> 00:08:28.866 There's an outer appearance like this and the material 113 00:08:28.866 --> 00:08:31.799 This material gets colored into the Mesh 114 00:08:32.927 --> 00:08:34.491 That's why it looks white 115 00:08:35.501 --> 00:08:38.701 Then when you look under the Static Mesh 116 00:08:38.701 --> 00:08:40.431 there's also something called Collision 117 00:08:40.431 --> 00:08:45.793 This talks about how it's going to collide 118 00:08:46.328 --> 00:08:48.619 If you look at Collision Presets 119 00:08:48.619 --> 00:08:50.622 It says BlockAllDynamic here 120 00:08:50.622 --> 00:08:53.139 This means that only Block is possible 121 00:08:53.139 --> 00:08:55.693 See here? Block 122 00:08:56.070 --> 00:08:58.237 But what's our event here? 123 00:08:59.059 --> 00:09:02.009 BeginOverlap, it needs to Overlap 124 00:09:02.247 --> 00:09:03.980 But now it's only in Block 125 00:09:05.633 --> 00:09:09.088 So we need to process it as Overlap 126 00:09:10.870 --> 00:09:15.460 And now, for this BP_Enemy 127 00:09:15.460 --> 00:09:18.518 The Object Type is in WorldDynamic 128 00:09:18.716 --> 00:09:22.263 In WorldDynamic, it's only processed as a Block 129 00:09:22.263 --> 00:09:25.982 Here, there's Ignore, Overlap, and Block 130 00:09:26.863 --> 00:09:30.142 Ignore literally means ignoring, so no collision 131 00:09:30.350 --> 00:09:33.801 Overlap is the concept of overlapping 132 00:09:33.801 --> 00:09:37.045 Block is colliding and pushing it away 133 00:09:37.808 --> 00:09:40.871 So this is actually colliding 134 00:09:40.871 --> 00:09:43.797 Overlap is recognizing it 135 00:09:44.688 --> 00:09:48.024 But here, only the collision is checked off 136 00:09:49.341 --> 00:09:53.756 That's why Overlap isn't working, so let's change it 137 00:09:55.072 --> 00:09:58.210 Right now, we have the Enemy and the Player. Should we look at the Player too? 138 00:09:58.210 --> 00:10:02.374 If you look at the cube of the Player, the settings are like this 139 00:10:02.988 --> 00:10:05.825 This also only allows Block 140 00:10:06.904 --> 00:10:11.405 So we can do this right away, but to make it more accurate 141 00:10:11.979 --> 00:10:15.454 We're not using the collider within the object 142 00:10:16.306 --> 00:10:19.731 It's better to set a separate collider 143 00:10:19.989 --> 00:10:22.277 Let's do that 144 00:10:23.168 --> 00:10:25.144 Should we do it for the Enemy first? 145 00:10:25.144 --> 00:10:28.714 In the Components part of the Enemy, press the Add button 146 00:10:30.150 --> 00:10:31.914 Scroll down 147 00:10:31.914 --> 00:10:34.590 Then there's the menu called Collision 148 00:10:35.382 --> 00:10:38.152 There's box, capsule, sphere 149 00:10:38.469 --> 00:10:40.598 We're in the box form right now 150 00:10:40.598 --> 00:10:43.796 So click the BoxCollision and create it here 151 00:10:44.737 --> 00:10:48.518 Take this, and see where it says DefaultSceneRoot? 152 00:10:48.805 --> 00:10:50.991 We're going to put it in here, it won't go in at once 153 00:10:50.991 --> 00:10:53.874 So do this, Attach, then do it again 154 00:10:54.121 --> 00:10:58.118 Put it like this, and the DefaultSceneRoot becomes a box 155 00:10:59.830 --> 00:11:04.334 Like this, set it so that the collider becomes the Root 156 00:11:04.701 --> 00:11:08.447 The Components structure of Unreal generally works like this 157 00:11:11.117 --> 00:11:12.078 If there's the Actor 158 00:11:14.149 --> 00:11:16.705 The Root composes the Actor 159 00:11:17.408 --> 00:11:19.156 There are Root Components 160 00:11:19.463 --> 00:11:22.133 Under that, there are other Components 161 00:11:22.569 --> 00:11:25.620 There may be even more Components under this one 162 00:11:25.620 --> 00:11:29.013 Or it may be under here, that's the general structure 163 00:11:29.013 --> 00:11:31.702 The very top is the Root Component 164 00:11:31.702 --> 00:11:36.798 So normally, the collider is set as the Root Component 165 00:11:36.798 --> 00:11:40.966 That way, there's income 166 00:11:40.966 --> 00:11:43.409 Those will work normally 167 00:11:43.409 --> 00:11:45.837 That's why it should be set like this 168 00:11:47.204 --> 00:11:49.153 We'll talk about that later again 169 00:11:49.598 --> 00:11:54.405 For now, we'll set it simply like this 170 00:11:55.158 --> 00:11:57.813 Then if you look at the Viewport, it looks like this 171 00:11:58.694 --> 00:12:02.975 For the box, if you look at the upper right detail 172 00:12:04.192 --> 00:12:06.490 There's something called Box Extent 173 00:12:06.490 --> 00:12:09.509 This is half the size of the box 174 00:12:09.895 --> 00:12:13.324 It says 32, so it will be 64 cm 175 00:12:13.670 --> 00:12:16.370 But the outer look we're using right now 176 00:12:16.370 --> 00:12:19.640 This cube is 1 m big 177 00:12:19.640 --> 00:12:23.599 So let's increase the size of the box to 50 178 00:12:23.599 --> 00:12:27.947 50, 50, 50, and when you look at the edge 179 00:12:29.174 --> 00:12:31.830 You can see the brown line here 180 00:12:31.830 --> 00:12:34.091 If we increase it to 52 181 00:12:34.091 --> 00:12:38.064 you can see that the collider is this big 182 00:12:38.717 --> 00:12:42.860 To fix it to the same size, set it to 50, 50, 50 183 00:12:43.414 --> 00:12:47.975 Then the horizontal, vertical, and the length becomes 100, 100, 100 184 00:12:49.678 --> 00:12:52.421 Let's do this job for all 3 areas 185 00:12:52.837 --> 00:12:54.067 For the Player as well 186 00:12:56.260 --> 00:12:58.779 Add BoxCollision 187 00:12:59.116 --> 00:13:04.199 Insert the Collision into DefaultSceneRoot 188 00:13:05.358 --> 00:13:13.337 And set the Box Extent to 50, 50, 50 189 00:13:22.557 --> 00:13:24.039 Same thing for the Bullet 190 00:13:24.464 --> 00:13:26.115 Let's do the same job 191 00:13:26.115 --> 00:13:30.058 It will be better to click here 192 00:13:34.008 --> 00:13:36.381 Then BoxCollision, then it will add onto here 193 00:13:36.678 --> 00:13:38.152 Then insert it 194 00:13:39.657 --> 00:13:40.849 The size for this is a little different, right? 195 00:13:41.047 --> 00:13:43.895 So we're going to do it a little differently 196 00:13:45.856 --> 00:13:48.419 The cube is shifted a little to the side 197 00:13:48.419 --> 00:13:49.638 Let's set this to 0 198 00:13:52.440 --> 00:13:55.142 That's why it drifted towards the right earlier 199 00:13:55.597 --> 00:13:58.863 Do this, and see how it looks like this right now? 200 00:13:59.685 --> 00:14:03.012 We'll control this a little 201 00:14:03.259 --> 00:14:05.328 Do 50, 50, 50 for now 202 00:14:09.406 --> 00:14:13.289 If you look here, the x for the cube is 0.75 203 00:14:14.724 --> 00:14:18.025 You just need to multiply that here, multiply 0.75 204 00:14:19.827 --> 00:14:22.617 Multiply it, and the size fits automatically 205 00:14:23.380 --> 00:14:27.222 Was it 0.25 earlier? Yeah 0.25 206 00:14:27.668 --> 00:14:33.104 Multiply 0.25 to the y value of 50 and it fits perfectly 207 00:14:34.470 --> 00:14:39.669 The size is adjusted, and now compile 208 00:14:41.442 --> 00:14:44.235 Now we added all 3 colliders 209 00:14:44.898 --> 00:14:47.174 Now we need to process it 210 00:14:47.580 --> 00:14:51.358 After this, we need to set the collision 211 00:14:51.358 --> 00:14:54.609 Also, the existing cube has a collider 212 00:14:54.609 --> 00:14:58.157 So we need to set it so that it doesn't get used as the collider 213 00:14:58.800 --> 00:15:01.407 Select the cube, let's start from the Enemy 214 00:15:01.407 --> 00:15:08.134 Select the cube of the Enemy, scroll down to the Collision part 215 00:15:09.559 --> 00:15:11.626 We're not going to use this as the collider 216 00:15:12.270 --> 00:15:14.613 So select NoCollision 217 00:15:15.089 --> 00:15:17.886 Let's do the same job for Bullet and Player 218 00:15:17.886 --> 00:15:24.980 In the Collision part of the cube, select NoCollision 219 00:15:27.297 --> 00:15:28.564 Same thing for the Player 220 00:15:28.940 --> 00:15:29.517 Like this 221 00:15:32.353 --> 00:15:34.577 Cube, NoCollision 222 00:15:37.686 --> 00:15:39.460 That's how we'll process it 223 00:15:39.955 --> 00:15:44.707 Then, we're going to make the box collide 224 00:15:44.934 --> 00:15:47.900 After making the box, it says Overlap 225 00:15:47.900 --> 00:15:50.255 OverlapAllDynamic, right? 226 00:15:50.483 --> 00:15:52.431 You can keep this as is 227 00:15:54.105 --> 00:15:57.090 It's all set as Overlap 228 00:15:57.793 --> 00:16:01.733 Later, we are going to create the Object Type 229 00:16:01.911 --> 00:16:07.828 And set the collision relationship between the Object Types 230 00:16:08.095 --> 00:16:09.774 We won't do that now 231 00:16:10.081 --> 00:16:14.063 We'll try it when producing with C 232 00:16:14.063 --> 00:16:18.375 For now, let's set the simple collision setting 233 00:16:19.118 --> 00:16:23.639 After this, compile, and play it again 234 00:16:23.639 --> 00:16:27.914 Now you can see it actually colliding 235 00:16:29.251 --> 00:16:34.974 Come to Enemy, and you can see the ActorBeginOverlap is working properly 236 00:16:36.647 --> 00:16:39.575 Then now that we've collided here 237 00:16:41.526 --> 00:16:42.697 We just need to process it, right? 238 00:16:42.885 --> 00:16:44.446 Should we do it here too? 239 00:16:44.446 --> 00:16:47.368 As we've planned before 240 00:16:48.139 --> 00:16:50.329 We said collision between Enemy and Player 241 00:16:50.329 --> 00:16:54.391 And we also said Bullet and Enemy 242 00:16:54.768 --> 00:16:57.202 So we'll do this too 243 00:16:57.202 --> 00:17:01.267 Go to Bullet, go to the Event Graph of the Bullet 244 00:17:01.267 --> 00:17:04.113 There's ActorBeginOverlap here too 245 00:17:04.638 --> 00:17:06.957 We'll do the same job here 246 00:17:07.709 --> 00:17:13.196 Here, if the collided Other, or the opponent is 247 00:17:15.146 --> 00:17:16.914 Enemy 248 00:17:18.835 --> 00:17:24.098 Then you die, and I die 249 00:17:30.718 --> 00:17:33.342 So we're going to Cast here as well 250 00:17:33.342 --> 00:17:40.377 Cast to BP_Enemy, the Bullet and the Enemy 251 00:17:40.832 --> 00:17:43.375 So the opponent tried casting 252 00:17:43.474 --> 00:17:46.023 They casted Enemy, and it was correct 253 00:17:46.449 --> 00:17:48.226 Then you die, I die 254 00:17:49.157 --> 00:17:56.619 Then Destroy Actor here 255 00:17:57.054 --> 00:18:01.800 Duplicate this and connect it all the way 256 00:18:03.166 --> 00:18:05.788 Then they both get destroyed 257 00:18:07.877 --> 00:18:09.740 Let's see the results 258 00:18:10.810 --> 00:18:11.965 Yes it works 259 00:18:13.678 --> 00:18:16.017 Then colliding with the Player works 260 00:18:16.017 --> 00:18:19.645 And colliding with the Bullet also works 261 00:18:20.467 --> 00:18:23.483 And it's too boring when we just collide 262 00:18:23.483 --> 00:18:27.139 So we'll make the explosion effect 263 00:18:27.139 --> 00:18:30.926 And also play some sounds 264 00:18:31.966 --> 00:18:36.359 Should we start with the Enemy first? 265 00:18:37.518 --> 00:18:40.637 Collide with the Player, you die and I die, then after that 266 00:18:41.439 --> 00:18:46.324 We're going to express the explosion effect here 267 00:18:46.759 --> 00:18:49.041 For the explosion effect 268 00:18:50.576 --> 00:18:55.926 If you look at the StarterContent, there's something called Particles 269 00:18:55.926 --> 00:18:59.728 There's P_Explosion here, and this is what we'll use 270 00:18:59.728 --> 00:19:01.553 This is the effect that explodes 271 00:19:02.316 --> 00:19:05.889 We'll process it so that it appears here 272 00:19:08.428 --> 00:19:13.653 When we were making the bullet 273 00:19:13.653 --> 00:19:18.337 When you look at the Player making the Bullet 274 00:19:20.149 --> 00:19:21.068 Where is it? 275 00:19:22.811 --> 00:19:26.103 We used the SpawnActor node 276 00:19:26.103 --> 00:19:27.413 It uses the name Spawn 277 00:19:27.760 --> 00:19:30.142 That effect also uses the name Spawn 278 00:19:30.469 --> 00:19:33.659 So we're going to use that 279 00:19:33.659 --> 00:19:38.939 Unreal basically has the new effect system called Niagara 280 00:19:38.939 --> 00:19:40.348 Also called the Particle System 281 00:19:40.546 --> 00:19:43.799 And there's the existing legacy method's Particle System 282 00:19:43.799 --> 00:19:45.124 It called Cascade 283 00:19:45.797 --> 00:19:48.471 What we're going to use right now is 284 00:19:48.471 --> 00:19:52.426 Here, it says Cascade Particle, right? 285 00:19:52.911 --> 00:19:58.170 So we're going to load the VFX made by Cascade 286 00:19:58.506 --> 00:20:00.714 And draw it out here 287 00:20:01.417 --> 00:20:02.308 Let's try 288 00:20:04.618 --> 00:20:06.724 We want to do you die, I die 289 00:20:07.754 --> 00:20:11.644 We'll express the explosion effect in my (Enemy's) location 290 00:20:12.407 --> 00:20:16.889 Right-click here, put Spawn 291 00:20:17.176 --> 00:20:19.698 It's at the very top, it says Effects 292 00:20:19.698 --> 00:20:22.769 There's Spawn Emitter at Location 293 00:20:23.086 --> 00:20:25.746 We can also Attach, it's literally attaching 294 00:20:26.835 --> 00:20:30.009 But we just need to use its location like this 295 00:20:31.009 --> 00:20:33.129 So connect it like this 296 00:20:34.060 --> 00:20:37.220 Then when you open up the template 297 00:20:37.220 --> 00:20:44.024 There's P_Explosion here. We're going to click this and Spawn it 298 00:20:44.439 --> 00:20:48.352 Then in the location part, we're going to decide 299 00:20:48.352 --> 00:20:50.086 Where we're going to make it 300 00:20:50.927 --> 00:20:53.522 It says 0, 0, 0 but it's not 0, 0, 0 301 00:20:54.195 --> 00:20:57.049 We're going to express it in my current location 302 00:20:57.049 --> 00:21:02.677 So put Get Actor Location 303 00:21:04.658 --> 00:21:05.683 And connect it like this 304 00:21:07.257 --> 00:21:10.369 Compile, play, and let's try colliding 305 00:21:10.527 --> 00:21:13.858 What happens? You can see the exploding effect 306 00:21:16.394 --> 00:21:19.573 Very simple, right? That's how we process it 307 00:21:20.544 --> 00:21:24.680 We can leave it like this, but I think adding sound will be better 308 00:21:24.680 --> 00:21:29.012 So we'll express some sound 309 00:21:29.220 --> 00:21:30.678 Then we need something 310 00:21:30.678 --> 00:21:35.145 Later, I'm going to provide it to you guys 311 00:21:36.135 --> 00:21:40.933 For now, I'm going to use the sound file I have, it's an audio WAV file 312 00:21:41.933 --> 00:21:44.952 In Unreal, sounds are produced through WAV files 313 00:21:45.260 --> 00:21:47.513 So I've prepared two WAV files 314 00:21:48.306 --> 00:21:52.093 This is the explosion sound, and this is the bullet firing sound 315 00:21:52.479 --> 00:21:55.085 While we're on it, we'll also try the bullet firing sound 316 00:21:56.015 --> 00:21:58.495 So when it explodes, which is about here 317 00:21:58.495 --> 00:22:01.732 We'll play the sound here 318 00:22:03.088 --> 00:22:06.307 Then we need to add the resource to our project first 319 00:22:06.307 --> 00:22:11.410 Here, we'll make a folder here 320 00:22:11.410 --> 00:22:14.388 New Folder, Sounds 321 00:22:16.798 --> 00:22:17.427 Like this 322 00:22:19.298 --> 00:22:21.657 And here, we're going to add the sound file 323 00:22:21.657 --> 00:22:24.245 After this, drag it right away 324 00:22:25.780 --> 00:22:29.880 Then the sound gets inserted 325 00:22:30.157 --> 00:22:33.454 But this doesn't mean it becomes a file right away 326 00:22:34.097 --> 00:22:38.606 If you look here in the folder, there's nothing 327 00:22:39.339 --> 00:22:42.263 Right now, it only exists in the memory 328 00:22:42.610 --> 00:22:46.112 So we need to save it through Save All 329 00:22:46.567 --> 00:22:49.763 Then we finally get the file 330 00:22:49.970 --> 00:22:53.453 In Unreal, for any type of file, the asset 331 00:22:53.453 --> 00:22:57.612 For all assets, when we actually use it 332 00:22:57.612 --> 00:23:00.413 Even if it's a WAV file 333 00:23:00.581 --> 00:23:03.153 It goes in with the name uasset 334 00:23:03.500 --> 00:23:09.064 So this becomes the form that contains the meta information 335 00:23:09.906 --> 00:23:11.497 That's what we'll use 336 00:23:11.497 --> 00:23:13.943 To listen to the sound, we can play it here 337 00:23:15.151 --> 00:23:16.229 Hear it? 338 00:23:16.863 --> 00:23:19.695 Those are the two sounds 339 00:23:19.695 --> 00:23:22.107 So we're going to output the sound here 340 00:23:23.117 --> 00:23:32.035 Then here, type Play Sound, and this pops up 341 00:23:32.609 --> 00:23:34.932 There's 2D and there's at Location 342 00:23:34.932 --> 00:23:37.196 This is the spacial sound 343 00:23:37.780 --> 00:23:43.712 If you look at VR or games like Battleground 344 00:23:43.712 --> 00:23:47.019 You can hear the footsteps in surrounding mode, like 3D 345 00:23:47.979 --> 00:23:50.910 Is it 3D? They say 7.1 dimension 346 00:23:51.059 --> 00:23:53.821 So for spacial sounds like that 347 00:23:53.821 --> 00:23:55.654 Use at Location 348 00:23:56.060 --> 00:24:00.735 But for 2D, like phone games 349 00:24:01.309 --> 00:24:03.884 We can just use Play Sound 2D 350 00:24:04.577 --> 00:24:06.081 We'll use this here 351 00:24:07.329 --> 00:24:10.114 It's very simple, connect the play button here 352 00:24:10.500 --> 00:24:15.955 Then here, we need to insert the audio resource we want to play 353 00:24:15.955 --> 00:24:17.787 Here, it says Sound Bass, right? 354 00:24:18.450 --> 00:24:24.487 Here, type Explosion, there's a couple of others 355 00:24:24.705 --> 00:24:26.394 But let's add the one that we made 356 00:24:29.611 --> 00:24:30.338 Was it this? 357 00:24:33.282 --> 00:24:34.934 The name was Explosion, right? 358 00:24:35.132 --> 00:24:37.309 We'll use this as is 359 00:24:38.171 --> 00:24:43.721 Compile, play, and now you can hear the explosion sound 360 00:24:45.820 --> 00:24:49.184 Do the same job for the Bullet as well 361 00:24:49.699 --> 00:24:55.522 We can copy and paste the work here as well 362 00:24:55.522 --> 00:24:59.149 Copy it, go to Bullet 363 00:25:00.020 --> 00:25:05.662 Use Ctrl V to Paste, then connect it right away 364 00:25:07.676 --> 00:25:08.658 Compile it 365 00:25:12.553 --> 00:25:13.426 It works the same way 366 00:25:17.218 --> 00:25:20.109 But for the Bullet, rather than exploding it at the location of the Bullet 367 00:25:20.109 --> 00:25:22.832 I think it's better to make the Enemy get destroyed 368 00:25:23.089 --> 00:25:29.874 So right now it's like this, but connect this to the opponent 369 00:25:30.547 --> 00:25:37.057 For the Bullet, put it at the opponent's location 370 00:25:38.394 --> 00:25:43.105 Let's change it to locate the VFX like this 371 00:25:43.887 --> 00:25:45.014 Then play it 372 00:25:46.044 --> 00:25:48.608 I think this looks more natural 373 00:25:48.974 --> 00:25:51.128 But there can be errors 374 00:25:52.128 --> 00:25:52.727 This is 375 00:25:56.166 --> 00:25:57.806 The error happened here 376 00:25:58.004 --> 00:26:00.546 This is because the destroyed thing 377 00:26:00.813 --> 00:26:03.173 Location was used to draw it here 378 00:26:03.500 --> 00:26:08.149 So it will be better to change the location 379 00:26:08.149 --> 00:26:11.667 Cut this off, and go like this 380 00:26:14.219 --> 00:26:15.869 At the very last, Destroy Actor 381 00:26:18.260 --> 00:26:19.605 The first one is this 382 00:26:19.911 --> 00:26:21.921 Drag it all the way here 383 00:26:22.783 --> 00:26:24.187 Let's change it like this 384 00:26:30.900 --> 00:26:35.447 The existing one here, let's move it to the back 385 00:26:40.076 --> 00:26:41.029 Now there's no error, right? 386 00:26:41.633 --> 00:26:44.865 Let's make the sound for bullet firing as well 387 00:26:44.865 --> 00:26:48.985 Then when BP_Player does Fire 388 00:26:49.995 --> 00:26:52.485 Spawn it, then play the audio here 389 00:26:52.485 --> 00:26:56.305 Here, Play Sound 2D 390 00:26:56.859 --> 00:27:04.163 After this, was it star-wars? star-wars-blast 391 00:27:04.559 --> 00:27:07.149 Let's play it like this 392 00:27:11.020 --> 00:27:13.313 But if you think the volume is too high 393 00:27:14.303 --> 00:27:17.744 You can adjust the sound, if you look here 394 00:27:18.219 --> 00:27:20.625 Hover the mouse on the center, this appears 395 00:27:20.873 --> 00:27:23.973 Put it to the side, and a palm appears. Double-click there 396 00:27:24.339 --> 00:27:25.780 Then this menu appears 397 00:27:26.156 --> 00:27:28.141 There's volume here 398 00:27:28.141 --> 00:27:31.300 It says 1 here, so change it to 0.1 399 00:27:31.300 --> 00:27:33.934 We can reduce it by 1/10 400 00:27:35.765 --> 00:27:37.498 We'll reduce the sound here 401 00:27:43.300 --> 00:27:45.419 Then the sound becomes very quiet 402 00:27:49.172 --> 00:27:52.866 That was about the collision process 403 00:27:53.118 --> 00:27:57.068 Processing the Background Scroll 404 00:27:57.068 --> 00:28:00.663 Then we'll try processing the background scroll 405 00:28:01.416 --> 00:28:03.435 Then we need an image 406 00:28:04.099 --> 00:28:08.200 I found this image on Google 407 00:28:09.616 --> 00:28:11.688 We'll try using it, if you look here 408 00:28:15.610 --> 00:28:18.814 It's just a picture of outer space 409 00:28:19.527 --> 00:28:21.198 We're going to scroll this 410 00:28:21.198 --> 00:28:26.880 In a way, we're putting the image on a roller and spinning it 411 00:28:26.880 --> 00:28:30.706 Then a certain part will look like it keeps spinning 412 00:28:31.003 --> 00:28:32.838 When we continue to scroll the image 413 00:28:33.987 --> 00:28:35.537 That's how we'll process it 414 00:28:36.378 --> 00:28:40.614 This process is called UV coordinate animation 415 00:28:41.060 --> 00:28:44.354 For short, we just say UV animation 416 00:28:44.691 --> 00:28:49.975 UV is, since long ago, the horizontal is U 417 00:28:50.500 --> 00:28:53.167 And the vertical is V, right? 418 00:28:55.807 --> 00:29:00.319 So if you look, what we call texture 419 00:29:00.319 --> 00:29:01.515 There's an image here 420 00:29:03.060 --> 00:29:07.445 In 2D, image is, as the name says, is called an image 421 00:29:09.039 --> 00:29:12.877 Or Sprite 422 00:29:14.243 --> 00:29:17.746 But in 3D, it's not called this way 423 00:29:18.380 --> 00:29:23.838 This is called Map, or Texture 424 00:29:27.521 --> 00:29:29.416 These are the terms 425 00:29:30.406 --> 00:29:34.733 So usually for 3D, later you will 426 00:29:34.733 --> 00:29:38.203 Learn it when you learn about graphics 427 00:29:38.510 --> 00:29:39.892 But to explain it in simple terms 428 00:29:40.179 --> 00:29:44.937 When we draw on a 3D space, there's a shape like this 429 00:29:46.244 --> 00:29:50.084 What this shape is based off of, is a point 430 00:29:50.084 --> 00:29:53.271 A point is something like this 431 00:29:53.380 --> 00:29:58.340 Points in the 3D space is called vertex 432 00:30:00.420 --> 00:30:01.898 In English, it's Vertex 433 00:30:04.447 --> 00:30:08.048 Connect the two points, and we can make a line 434 00:30:08.345 --> 00:30:11.494 In 2D, line is just a line 435 00:30:11.979 --> 00:30:15.622 But in 3D, or the reality 436 00:30:15.622 --> 00:30:19.780 If you look at an object in reality, such as milk box 437 00:30:19.780 --> 00:30:25.788 If this is the milk box, this is the line, right? 438 00:30:25.788 --> 00:30:28.727 But this ultimately is the edge, right? 439 00:30:28.727 --> 00:30:31.476 So the line in the 3D space 440 00:30:33.160 --> 00:30:35.457 is called Edge 441 00:30:37.926 --> 00:30:42.698 And if there's another point, we can make a face 442 00:30:44.819 --> 00:30:46.524 We can make a face 443 00:30:46.771 --> 00:30:49.883 The face has multiple names 444 00:30:49.883 --> 00:30:51.626 We can call it a Triangle 445 00:30:53.270 --> 00:30:57.371 Or literally a Face 446 00:30:58.149 --> 00:31:03.757 Or Surface or a Polygon 447 00:31:06.459 --> 00:31:08.378 Polygon means a shape with multiple sides 448 00:31:08.813 --> 00:31:13.970 The polygon that uses the least amount of points is a triangle 449 00:31:13.970 --> 00:31:15.547 So we call it a polygon 450 00:31:15.547 --> 00:31:19.847 Usually when we talk about Polygon, we're talking about a Triangle 451 00:31:20.728 --> 00:31:23.903 So these Triangles are connected like this 452 00:31:23.903 --> 00:31:25.987 If you see here, this is also a triangle 453 00:31:26.561 --> 00:31:28.923 These are all triangles 454 00:31:30.260 --> 00:31:33.316 This thing formed with triangles 455 00:31:33.891 --> 00:31:35.719 is called the Mesh 456 00:31:37.839 --> 00:31:39.396 It's called a Mesh 457 00:31:39.831 --> 00:31:41.457 Then what Texture is 458 00:31:41.794 --> 00:31:46.032 The image that covers the Mesh 459 00:31:46.210 --> 00:31:50.517 Since Texture is actually a 2D image, it will look like this 460 00:31:50.844 --> 00:31:54.693 Then on this Mesh, the Texture is 461 00:31:54.693 --> 00:31:56.260 In a way, getting applied 462 00:31:56.260 --> 00:31:58.691 You apply it and show it here 463 00:31:58.988 --> 00:32:01.533 Usually when we apply it, the whole surface 464 00:32:01.999 --> 00:32:03.757 Let's say there's image X 465 00:32:03.757 --> 00:32:07.902 Then it gets applied like x, x, x 466 00:32:08.803 --> 00:32:14.058 But if we express this as 0 and 1 here 467 00:32:14.543 --> 00:32:18.300 Horizontally, then this is called U 468 00:32:18.300 --> 00:32:22.014 And from here to here is called V 469 00:32:22.014 --> 00:32:24.183 That's why it's called UV animation 470 00:32:24.768 --> 00:32:29.826 Then here, it's 0 and 1 Then what's here? It would be 0.5 471 00:32:29.826 --> 00:32:32.372 Here, it will be 0.1 472 00:32:32.699 --> 00:32:37.144 The location here has its own information 473 00:32:37.450 --> 00:32:42.132 And let's say we want to draw this part on this surface 474 00:32:42.409 --> 00:32:45.733 And from here to here, we'll draw it here 475 00:32:45.733 --> 00:32:46.971 We can also do that 476 00:32:46.971 --> 00:32:50.067 This is called UV Map 477 00:32:53.591 --> 00:32:56.009 So these are the things of UV 478 00:32:56.098 --> 00:33:01.126 Ultimately, the way of processing this UV 479 00:33:01.126 --> 00:33:03.513 Determines the various jobs we can perform 480 00:33:04.167 --> 00:33:09.229 Especially, what we're trying to do right now is UV animation 481 00:33:12.368 --> 00:33:14.501 The concept is very simple 482 00:33:14.798 --> 00:33:17.477 For example, if we say that this is 0, 0 483 00:33:19.100 --> 00:33:23.022 I can't remember exactly, if it's 0, 0 here 484 00:33:23.022 --> 00:33:24.853 I think this was 0, 0 485 00:33:25.516 --> 00:33:29.893 In 2D, the top left hand corner is 0, 0 486 00:33:29.893 --> 00:33:33.104 But usually in 3D, the bottom left hand corner is 0, 0 487 00:33:33.847 --> 00:33:38.448 So when we process it here, there's something called Offset 488 00:33:40.619 --> 00:33:44.452 It's the concept of how far you're off from the center 489 00:33:44.779 --> 00:33:48.445 If you continue to increase or decrease this offset value 490 00:33:48.900 --> 00:33:51.577 It will roll, that's the concept 491 00:33:52.220 --> 00:33:56.851 So by continuing to change this UV coordinate 492 00:33:57.108 --> 00:33:59.579 The rolling can be processed 493 00:33:59.579 --> 00:34:00.897 So that's what we'll do 494 00:34:01.283 --> 00:34:02.979 When we process these, of course 495 00:34:03.217 --> 00:34:07.602 The top edge and the bottom edge has to touch naturally 496 00:34:07.859 --> 00:34:11.174 Because rolling means that this and this will touch 497 00:34:11.174 --> 00:34:13.383 If we roll sideways 498 00:34:13.383 --> 00:34:16.657 The left and right side will touch and spin 499 00:34:17.944 --> 00:34:22.621 So I'm using this space background because it's easier 500 00:34:22.621 --> 00:34:26.285 It's dark, so it won't look unnatural 501 00:34:26.780 --> 00:34:28.866 So I've prepared this image 502 00:34:30.559 --> 00:34:33.387 Then let's put this image here and process it 503 00:34:34.436 --> 00:34:35.905 Let's make a folder 504 00:34:37.780 --> 00:34:39.136 Call it Background 505 00:34:48.508 --> 00:34:52.181 Here, we'll add the image 506 00:34:53.597 --> 00:34:55.429 Same thing for this, we need to save it 507 00:34:58.967 --> 00:35:03.445 Then if you look here, the shape 508 00:35:03.445 --> 00:35:05.392 On the very bottom, there's the Plane 509 00:35:05.619 --> 00:35:07.236 We'll bring this here 510 00:35:07.929 --> 00:35:10.417 Plane, as the name says, it's a flat surface 511 00:35:12.367 --> 00:35:15.530 Rotate it 90 degrees 512 00:35:16.748 --> 00:35:20.195 We're going to use this as the background, and first put the location at 0, 0, 0 513 00:35:20.195 --> 00:35:22.406 Then we'll move it back a little 514 00:35:23.139 --> 00:35:24.873 Push it back a little 515 00:35:25.298 --> 00:35:27.825 We'll increase the scale 516 00:35:29.617 --> 00:35:34.428 Then when we click the camera, it looks white 517 00:35:35.260 --> 00:35:37.517 Make it a good size 518 00:35:39.459 --> 00:35:42.817 It just needs to fill up the camera, here there's some space 519 00:35:43.777 --> 00:35:45.105 We'll have to increase it more 520 00:35:48.979 --> 00:35:50.538 Fill it up all the way 521 00:35:53.956 --> 00:35:58.166 Then here, we're going to insert the image 522 00:35:58.166 --> 00:35:59.834 To make it accurate 523 00:36:00.260 --> 00:36:04.843 If you look at the Plane, there's also Static Mesh here 524 00:36:05.060 --> 00:36:06.473 And there's Material 525 00:36:06.473 --> 00:36:09.285 We're putting the image into the Material part 526 00:36:09.502 --> 00:36:12.419 Material is literally, the material, right? 527 00:36:12.419 --> 00:36:16.742 We can add color to the material 528 00:36:16.742 --> 00:36:19.481 Or insert an image on the material 529 00:36:19.877 --> 00:36:24.275 These are the basic Materials they provide 530 00:36:24.275 --> 00:36:25.593 Should we produce our own? 531 00:36:25.791 --> 00:36:28.081 Usually, you can just drag and drop 532 00:36:28.081 --> 00:36:30.431 Then it automatically makes one 533 00:36:30.500 --> 00:36:32.164 But we'll make it ourselves 534 00:36:32.471 --> 00:36:36.182 Right-click here, and there's Material 535 00:36:36.439 --> 00:36:44.941 Make one like this, and name it M_Background 536 00:36:45.229 --> 00:36:50.377 Usually, Material is shortened as MAT or M 537 00:36:52.308 --> 00:36:54.449 Double-click to open 538 00:36:54.449 --> 00:36:56.424 This is called the Material editor 539 00:36:56.948 --> 00:36:59.440 Let's insert the image here 540 00:37:00.203 --> 00:37:02.597 We add the image that we just brought in 541 00:37:05.037 --> 00:37:09.964 There's Material here, but we can look into the details later on 542 00:37:09.964 --> 00:37:12.159 We'll make it simple today 543 00:37:12.159 --> 00:37:16.388 After this, connect the RGB part to Base Color 544 00:37:17.012 --> 00:37:20.202 But when you do this, there's light here 545 00:37:20.429 --> 00:37:23.217 Because the Material we're using right now is 546 00:37:23.435 --> 00:37:27.009 Basically the physically-based shader 547 00:37:27.168 --> 00:37:30.659 So they called it the Physically Based Shader 548 00:37:32.114 --> 00:37:38.117 So we're going to, the sunlight here 549 00:37:38.374 --> 00:37:40.459 Ignore the light of DirectionalLight 550 00:37:40.766 --> 00:37:43.496 And express its own image color 551 00:37:43.912 --> 00:37:45.094 So to do that 552 00:37:46.173 --> 00:37:47.939 Click the floor here 553 00:37:47.939 --> 00:37:50.773 Look at the details on the left side, and there's Domain 554 00:37:51.169 --> 00:37:54.914 The Material Domain is in Surface, this is the flat face 555 00:37:55.646 --> 00:38:00.660 This is the surface, but we'll change it into UI 556 00:38:04.176 --> 00:38:09.446 User Interface, UI, usually 557 00:38:10.485 --> 00:38:12.540 Doesn't receive lights like that 558 00:38:12.728 --> 00:38:15.246 So change it into image that doesn't receive light 559 00:38:15.246 --> 00:38:17.964 Connect this to Final Color, and you'll get this 560 00:38:19.459 --> 00:38:23.760 Then we need to do the UV job 561 00:38:24.176 --> 00:38:28.622 We're going to move the UV, and to process this, it's very complicated 562 00:38:28.622 --> 00:38:32.666 So we're going to use Nodes, to be simple 563 00:38:33.042 --> 00:38:34.963 There's a node called Panner 564 00:38:35.934 --> 00:38:39.238 There's Panner here, and we'll connect the Panner like this 565 00:38:44.028 --> 00:38:49.031 After that, let's enter a value of 1 into the speed value 566 00:38:49.031 --> 00:38:50.159 Then it moves like this 567 00:38:50.406 --> 00:38:52.323 I can see that it's moving sideways 568 00:38:52.878 --> 00:38:57.311 After saving it, go to the game map 569 00:38:57.439 --> 00:39:01.795 We'll insert the Material that we just made, into here 570 00:39:02.617 --> 00:39:04.121 Like this, insert it here 571 00:39:04.963 --> 00:39:07.330 Then you can see it move 572 00:39:08.459 --> 00:39:11.239 Of course, it's moving sideways 573 00:39:11.655 --> 00:39:15.337 But it looks like this because it's rotated 574 00:39:16.288 --> 00:39:18.105 And the color smears a lot, right? 575 00:39:18.105 --> 00:39:24.121 We need to process this, and this is called eye adaptation 576 00:39:24.121 --> 00:39:29.271 What it is, is like when you suddenly go to a bright place and you can't see well 577 00:39:29.271 --> 00:39:32.550 It starts off very bright, then your eyes adapt after time passes 578 00:39:33.115 --> 00:39:35.179 This is the basic setting 579 00:39:35.179 --> 00:39:37.482 That's why it's like this 580 00:39:38.006 --> 00:39:41.847 So here, go to Project Settings 581 00:39:43.580 --> 00:39:49.268 Search for Auto Exposure, and there's this 582 00:39:49.268 --> 00:39:51.155 Uncheck this 583 00:39:52.967 --> 00:39:56.044 Auto Exposure is automatic eye adaptation 584 00:39:56.133 --> 00:39:58.828 So uncheck this 585 00:39:59.254 --> 00:40:02.609 Go back, and there's less of that 586 00:40:05.516 --> 00:40:08.222 And play it, and it's like this 587 00:40:09.638 --> 00:40:12.839 But it's too fast Let's change the speed 588 00:40:12.839 --> 00:40:16.793 Let's change this to 0.1 like this 589 00:40:17.526 --> 00:40:21.545 Save and play, and it's much slower 590 00:40:22.248 --> 00:40:23.107 Like this 591 00:40:29.958 --> 00:40:31.041 That's how we can do it 592 00:40:31.685 --> 00:40:35.135 Right now, it's a little messy here 593 00:40:39.468 --> 00:40:42.419 The color too, I don't like it 594 00:40:42.716 --> 00:40:47.205 We'll adjust the brightness a little 595 00:40:47.205 --> 00:40:48.419 It's a little too bright 596 00:40:50.854 --> 00:40:55.465 We'll Multiply the RGB part 597 00:40:56.851 --> 00:40:59.337 Multiply is literally multiplying 598 00:41:00.387 --> 00:41:02.568 Like this, connect it like this 599 00:41:04.370 --> 00:41:06.475 Next, we need to multiply some value here 600 00:41:07.258 --> 00:41:09.792 If you look here, we're going to make Emissive Power 601 00:41:11.594 --> 00:41:16.339 Search for Scalar 602 00:41:16.339 --> 00:41:19.364 There's something called Scalar Parameter 603 00:41:19.364 --> 00:41:22.868 Click this and make one 604 00:41:23.522 --> 00:41:29.298 Then, the value here is in Default Value, but make it into 0.2 605 00:41:31.585 --> 00:41:33.067 Then we'll connect it like this 606 00:41:33.820 --> 00:41:35.089 Then it becomes darker 607 00:41:38.025 --> 00:41:47.016 We'll name it Emissive Power 608 00:41:49.976 --> 00:41:53.877 Save it, play it, and it looks like this 609 00:41:57.966 --> 00:41:59.568 I think I zoomed in too much 610 00:42:04.188 --> 00:42:05.972 This is too big 611 00:42:05.972 --> 00:42:06.738 So it's too 612 00:42:12.300 --> 00:42:13.509 Let's shrink it a little 613 00:42:15.578 --> 00:42:18.441 Like this, we can scroll the background 614 00:42:18.441 --> 00:42:23.379 Processing it like this is called UV coordinate animation 615 00:42:25.340 --> 00:42:30.976 So today, we've tried producing a shooting game that utilizes blueprints 616 00:42:32.481 --> 00:42:36.353 We'll summarize the content learned today 617 00:42:36.731 --> 00:42:38.013 Processing collision Processing collision between Actors Process the collision using the Event ActorBeginOverlap node Try casting using the Cast To BP_Player node 618 00:42:38.013 --> 00:42:39.188 After creating the collider for the collision process, set the collider to the Root Component Set the Collision Presets setting of each Actor's Cube detail to NoCollision 619 00:42:39.188 --> 00:42:40.483 Producing Explosion Effect during Collision Produce an explosion effect using the P_Explosion of Content StarterContent Particles 620 00:42:40.483 --> 00:42:41.565 Create Spawn Emitter at Location node and Get Actor Location node and connect them to express particle effect at the wanted location 621 00:42:41.565 --> 00:42:42.522 Producing the explosion effect audio Create a new Sounds folder in the Content folder and, move the WAV file, then save it as an asset 622 00:42:42.522 --> 00:42:43.573 Create the Play Sound 2D node and add the Explosion file into the Sound category 623 00:42:43.573 --> 00:42:45.741 Processing the Background Scroll Processing the background scroll Express the animation of continuous movement through UV coordinate animation Select Material in the Content Background folder 624 00:42:45.741 --> 00:42:47.691 Create a new Material file, M_Background Connect the RGB output pin of Texture Sample node to the Final Color input pin of M_Background node 625 00:42:47.691 --> 00:42:49.671 Create a Panner node and connect it to the UVs input pin of Texture Sample node Drag and drop M_Background into the Material category of the detail window 626 00:42:49.671 --> 00:42:51.464 Disable the Auto Exposure by unchecking the box in the Project Settings window