All language subtitles for 006 Wall Slide Animation and Wall Jump[UdemyIran.Com]

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,230 --> 00:00:04,730 The wall slide is technically working now from a gameplay perspective, but it still doesn't look like 2 00:00:04,730 --> 00:00:08,060 we're sliding down the wall because we have to play the animation. 3 00:00:08,060 --> 00:00:12,470 And that's what we're going to do in this video, and also implement the actual wall jumping so we can 4 00:00:12,470 --> 00:00:14,240 jump from one wall to the other. 5 00:00:14,240 --> 00:00:20,360 Adding the animation is actually very easy, since in our logic for the wall sliding we already have. 6 00:00:20,360 --> 00:00:25,820 This is wall sliding boolean, so we just have to use this in the animation blueprint. 7 00:00:26,610 --> 00:00:32,189 In the content drawer, we go to Content Blueprints, Character player and ABP player. 8 00:00:32,670 --> 00:00:37,740 And in here we already know we can only go into the wall slide while we are falling. 9 00:00:37,740 --> 00:00:41,790 So the only place where we need to add transition is from falling, right? 10 00:00:41,790 --> 00:00:46,500 So from fall we have another animation state and this is wall slide. 11 00:00:47,970 --> 00:00:50,160 And we just double click to open it up. 12 00:00:50,160 --> 00:00:51,660 And here we just play. 13 00:00:52,250 --> 00:00:53,990 Wall slide. 14 00:00:53,990 --> 00:00:59,540 But actually we also need to have the wall slide shooting because we can also shoot while we are sliding 15 00:00:59,780 --> 00:01:00,770 down the wall. 16 00:01:00,770 --> 00:01:06,470 So like for the other places like the fall for example, we also have the select animation by bool. 17 00:01:06,470 --> 00:01:10,340 So we can just copy this, control C and go to the wall slide. 18 00:01:10,340 --> 00:01:14,240 And instead of just connecting this here just the control V to paste this in here. 19 00:01:14,240 --> 00:01:19,640 And yes, so if we are shooting we want to play the wall slide with the shooting. 20 00:01:19,640 --> 00:01:22,280 But if we are not shooting we just want to play the wall slide. 21 00:01:22,280 --> 00:01:22,460 Right. 22 00:01:22,460 --> 00:01:26,630 So false is the wall slide and true is the wall slide shoot. 23 00:01:26,630 --> 00:01:28,190 And again these are animations. 24 00:01:28,190 --> 00:01:31,100 We registered on the animation source before. 25 00:01:31,430 --> 00:01:33,320 And now back in the locomotion. 26 00:01:33,320 --> 00:01:34,340 This is working. 27 00:01:34,340 --> 00:01:37,160 We just need to set up the condition now. 28 00:01:37,160 --> 00:01:42,320 So from the owning player we can just get this wall sliding. 29 00:01:43,160 --> 00:01:44,510 And this is the condition. 30 00:01:44,510 --> 00:01:49,100 If we are all sliding while we're falling, we can transition to this animation and we can just copy 31 00:01:49,100 --> 00:01:53,600 this and put in a condition for going back to falling as well. 32 00:01:53,600 --> 00:01:58,040 So here we just put in the opposite is not boolean. 33 00:01:58,550 --> 00:02:00,950 Just put in the opposite and connect this here. 34 00:02:00,950 --> 00:02:03,110 So if we can wall slide from falling we go in here. 35 00:02:03,110 --> 00:02:06,410 And if the wall slide is going back we just go back to falling. 36 00:02:06,410 --> 00:02:09,440 And from falling we can go back to idle to run to everything else. 37 00:02:10,520 --> 00:02:11,630 Let's just try this out. 38 00:02:11,630 --> 00:02:13,340 Compile and save and go here. 39 00:02:13,340 --> 00:02:14,870 And I'm holding towards the wall. 40 00:02:14,870 --> 00:02:17,960 I'm jumping and you can see where I'm playing the animation. 41 00:02:17,960 --> 00:02:21,980 The position is not correct yet, but the animation is playing. 42 00:02:22,370 --> 00:02:27,440 There is one more problem though is that the animation doesn't reset under certain circumstances. 43 00:02:28,420 --> 00:02:32,020 And this is because in the logic, I have to add one more thing. 44 00:02:32,020 --> 00:02:33,160 Sorry about that. 45 00:02:33,160 --> 00:02:36,640 In the BP player here we set the is.all sliding to false. 46 00:02:36,640 --> 00:02:40,750 This is correct, but we also in the drywall slide function. 47 00:02:41,050 --> 00:02:46,240 And also here if the is descending or the is holding towards the wall is not true. 48 00:02:46,270 --> 00:02:47,860 We also have to do this here. 49 00:02:47,860 --> 00:02:52,360 So the if this is false we also set the is wall sliding back to false. 50 00:02:52,360 --> 00:02:55,390 And this should fix the animation issue which we just had. 51 00:02:55,390 --> 00:02:55,630 Right. 52 00:02:55,630 --> 00:02:57,610 Let me try again I go in here. 53 00:02:57,700 --> 00:02:59,020 Yeah I let go. 54 00:02:59,290 --> 00:03:04,600 And now we can switch between the wall slide animation and not having the wall slide animation. 55 00:03:05,050 --> 00:03:08,860 And the next thing we want to do is to just move the animation a little bit over to the side. 56 00:03:08,860 --> 00:03:10,390 So we are right at the wall. 57 00:03:10,390 --> 00:03:15,490 And this is actually something a little bit tricky for wall slide animations, because the person that 58 00:03:15,490 --> 00:03:22,390 drew the animations doesn't know how thick your collision is, so they cannot actually center this for 59 00:03:22,390 --> 00:03:27,400 you because it is dependent on the thickness of your collision capsule. 60 00:03:27,400 --> 00:03:30,340 So we can actually adjust this in the engine. 61 00:03:30,520 --> 00:03:39,220 To do this we go to our content draw to content paper assets, the characters player, and we need to 62 00:03:39,220 --> 00:03:40,750 look at our frames. 63 00:03:41,410 --> 00:03:43,540 And we can just look for a slide here. 64 00:03:44,210 --> 00:03:46,490 And we have the wall slide. 65 00:03:46,490 --> 00:03:48,320 This one right wall slide zero. 66 00:03:48,350 --> 00:03:49,730 Just double click to open it up. 67 00:03:49,730 --> 00:03:52,640 And we can set the pivot position here. 68 00:03:52,640 --> 00:03:55,880 I think we talked about this before and how this can be useful. 69 00:03:55,880 --> 00:03:58,220 Well now is the time where it comes in handy. 70 00:03:58,220 --> 00:04:03,050 So instead of having center center which is this position, we actually want to move it over. 71 00:04:03,050 --> 00:04:05,600 And none of these presets work for us. 72 00:04:05,600 --> 00:04:07,400 So we actually want to go for custom. 73 00:04:07,970 --> 00:04:09,650 And here on the X we want to change it. 74 00:04:09,650 --> 00:04:11,330 But this one actually doesn't really update. 75 00:04:11,330 --> 00:04:12,230 If we just do like this. 76 00:04:12,230 --> 00:04:14,870 We actually have to let go of the button. 77 00:04:14,870 --> 00:04:17,720 And I think we want to go closer to the wall. 78 00:04:17,720 --> 00:04:17,870 Right. 79 00:04:17,870 --> 00:04:19,339 So we want to go to the left here. 80 00:04:19,519 --> 00:04:23,600 And I think during testing I found that 17 is the right value. 81 00:04:23,600 --> 00:04:26,180 So this puts us closer to the wall. 82 00:04:26,180 --> 00:04:28,070 And let's just try this out. 83 00:04:28,070 --> 00:04:29,480 And this is all we have to do here. 84 00:04:29,480 --> 00:04:32,420 This already applies to the flipbook to our animation graph. 85 00:04:32,420 --> 00:04:35,120 Everything just changing this on the sprite. 86 00:04:35,120 --> 00:04:36,050 And let's try this out. 87 00:04:36,050 --> 00:04:39,740 And yes so now this aligns perfectly with the wall. 88 00:04:39,890 --> 00:04:41,390 So how did I find this value. 89 00:04:41,390 --> 00:04:43,970 Well I just saw that we are too far away from the wall. 90 00:04:43,970 --> 00:04:49,940 I just made the pivot go over to the side and then I just tried until I found a value that makes sense. 91 00:04:49,940 --> 00:04:53,840 And now we have to do the same for the shooting animation while sliding, right? 92 00:04:53,840 --> 00:05:00,290 So if I go here and I shoot while sliding, we kind of pop off of the wall because we need to also adjust 93 00:05:00,290 --> 00:05:01,070 this here. 94 00:05:02,120 --> 00:05:06,200 So back here for the, uh, wall slide shoot. 95 00:05:06,230 --> 00:05:13,940 We also need to go to custom, and I think here as well, we just try 17 of the same value works. 96 00:05:13,940 --> 00:05:17,750 It should probably work and go in here and I shoot and. 97 00:05:17,750 --> 00:05:18,230 Yes. 98 00:05:18,230 --> 00:05:19,970 So you see the bullet is hitting the wall. 99 00:05:19,970 --> 00:05:21,560 This is still a problem we have to take care of. 100 00:05:21,560 --> 00:05:23,480 But the animation doesn't pop. 101 00:05:23,480 --> 00:05:25,100 We are sliding down the wall. 102 00:05:25,100 --> 00:05:26,600 It is in the correct position. 103 00:05:27,020 --> 00:05:29,810 And now we can just save all. 104 00:05:29,810 --> 00:05:30,500 Just save all. 105 00:05:30,500 --> 00:05:32,810 We can close down these sprites and. 106 00:05:32,810 --> 00:05:33,050 Yeah. 107 00:05:33,050 --> 00:05:37,130 So the pivot mode can be very useful for things like this. 108 00:05:37,640 --> 00:05:40,190 Let's quickly take care of the issue with the shooting. 109 00:05:40,190 --> 00:05:44,600 So we are shooting to the left side now even though the gun is on the right side. 110 00:05:44,600 --> 00:05:49,400 And we can just go to the player and we already have the shoot position here, right? 111 00:05:49,400 --> 00:05:53,090 So we want to create a second shoot position that we can use. 112 00:05:53,090 --> 00:05:53,480 First. 113 00:05:53,480 --> 00:05:56,600 We just want to copy paste this so we can just right click and duplicate. 114 00:05:56,600 --> 00:06:01,190 And I'm going to call this shoot POS wall slide like this. 115 00:06:01,190 --> 00:06:07,760 And we now need to look at the wall slide animation so we can again use our trick from before. 116 00:06:07,790 --> 00:06:08,810 Go to sprite. 117 00:06:08,810 --> 00:06:13,730 And instead of the idle we just look for wall slide and actually wall slide shoot. 118 00:06:13,730 --> 00:06:15,860 And we can see that it's looking towards the left. 119 00:06:15,860 --> 00:06:21,110 And this is actually a trick I used because if you have the wall slide, look towards the right. 120 00:06:21,110 --> 00:06:25,610 You actually have to flip the entire character when you wall slide, which again can cause issues with 121 00:06:25,610 --> 00:06:27,050 physics and all those kind of things. 122 00:06:27,050 --> 00:06:31,970 So I actually had the wall slide animation look towards the left in the sprite sheet because this makes 123 00:06:31,970 --> 00:06:33,080 it a lot easier. 124 00:06:33,080 --> 00:06:36,620 Now we just want to adjust this shoot pos wall slide. 125 00:06:36,620 --> 00:06:41,270 Just drag it over here it is the same height, but we also need to change the rotation. 126 00:06:41,270 --> 00:06:44,360 So here on the Z we can rotate like this right. 127 00:06:44,360 --> 00:06:47,270 And I know the exact opposite is 180. 128 00:06:47,270 --> 00:06:49,400 So we can just type in 180 here. 129 00:06:49,400 --> 00:06:53,330 And you see the shooting should then follow this red arrow. 130 00:06:53,360 --> 00:06:54,830 Yeah we are in the good position. 131 00:06:54,830 --> 00:06:55,580 This is fine. 132 00:06:55,580 --> 00:06:55,790 Right. 133 00:06:55,790 --> 00:06:57,860 So these are in opposite directions now. 134 00:06:57,860 --> 00:06:59,270 And this is working fine. 135 00:06:59,270 --> 00:07:03,800 Now we just want to set the sprite back to idle player. 136 00:07:03,980 --> 00:07:04,910 Player idle. 137 00:07:04,910 --> 00:07:05,960 So this is working. 138 00:07:05,960 --> 00:07:07,190 We have our two positions. 139 00:07:07,190 --> 00:07:12,830 And now we simply need to pick between these two positions depending on if we're wall sliding or not. 140 00:07:12,830 --> 00:07:16,130 And where do we pick this uh, when we are shooting. 141 00:07:16,130 --> 00:07:20,180 So in the functions shooting we have the spawn projectile. 142 00:07:20,180 --> 00:07:20,960 Right. 143 00:07:20,960 --> 00:07:24,140 And here for the. 144 00:07:24,140 --> 00:07:26,990 Yeah, the world location and rotation. 145 00:07:27,570 --> 00:07:33,060 We get this from the shoot position and we can actually simplify this a little bit. 146 00:07:34,010 --> 00:07:41,420 So instead of using world location and rotation, we can just drag off here and get World Transform 147 00:07:41,420 --> 00:07:42,380 like this. 148 00:07:42,890 --> 00:07:45,140 And here we can use a select. 149 00:07:45,140 --> 00:07:46,370 So here select. 150 00:07:46,940 --> 00:07:51,350 Utilities select and the condition is is wall sliding. 151 00:07:51,350 --> 00:07:53,300 So get is wall sliding. 152 00:07:53,300 --> 00:07:57,860 Or we can also grab it here from our variables and put this in as the condition. 153 00:07:57,860 --> 00:08:02,960 So if we are not wall sliding false we want the position from the shoot position. 154 00:08:02,960 --> 00:08:07,400 And if we are wall sliding we want it from the shoot position wall slide right. 155 00:08:07,400 --> 00:08:12,200 And then from the transform we only want to use the location and rotation. 156 00:08:12,200 --> 00:08:17,360 So here we can just split the struct pin and just put in the location the rotation. 157 00:08:17,360 --> 00:08:21,890 And we don't want to use the scale like we talked about before multiple times. 158 00:08:21,890 --> 00:08:25,550 And this is just a simple select with branching logic. 159 00:08:25,550 --> 00:08:27,860 So we can flip between these two positions. 160 00:08:27,860 --> 00:08:28,850 And let's check this out. 161 00:08:28,850 --> 00:08:31,910 Compile and save I shoot it still works. 162 00:08:31,910 --> 00:08:34,429 I shoot while wall sliding and it shoots to the other side. 163 00:08:34,429 --> 00:08:36,559 And this is how we fix this problem. 164 00:08:36,559 --> 00:08:40,340 Now that the animations are working, let's work on the jump itself. 165 00:08:41,400 --> 00:08:46,260 If we go to the beep player and we have our IA jump, well, we can just look for it here. 166 00:08:46,290 --> 00:08:48,300 IA jump to find it quicker. 167 00:08:49,050 --> 00:08:50,640 And here we have the IA jump. 168 00:08:50,640 --> 00:08:54,150 So what happens here is if we press the button we jump. 169 00:08:54,150 --> 00:09:00,360 But one thing that is very important, if I press jump again while in the air, we cannot jump again. 170 00:09:00,840 --> 00:09:06,090 One thing about this jump note is that it actually behind the scenes checks for can jump, which is 171 00:09:06,090 --> 00:09:07,800 another function in the character. 172 00:09:07,800 --> 00:09:11,730 And this is false if we try to jump again while being airborne. 173 00:09:11,730 --> 00:09:15,180 And the thing is that with our sliding we count as airborne. 174 00:09:15,180 --> 00:09:18,450 So even if we want to jump here again, we cannot jump. 175 00:09:18,450 --> 00:09:24,060 So what we need to do here is instead of jumping, use the launch character like we did for the knockback 176 00:09:24,060 --> 00:09:26,820 because this one also works while we are airborne. 177 00:09:26,820 --> 00:09:30,570 Now there are a couple of tricks to implement double jumps and those kind of things, but I think in 178 00:09:30,570 --> 00:09:33,660 this case the launch character is a cleaner and better solution. 179 00:09:33,840 --> 00:09:37,230 So now we want to implement some branching logic here. 180 00:09:37,710 --> 00:09:41,670 So here from start it very important make a branch like this. 181 00:09:42,570 --> 00:09:46,440 And we can simply check for is wall jumping. 182 00:09:46,530 --> 00:09:47,640 Is wall sliding? 183 00:09:47,940 --> 00:09:49,770 Is wall sliding right. 184 00:09:49,770 --> 00:09:53,220 And if this is true then we actually want to do this the opposite way. 185 00:09:53,220 --> 00:09:55,200 So just hold Ctrl and pull this here. 186 00:09:55,200 --> 00:09:59,940 So if we are not wall sliding we just want to jump normally this is fine. 187 00:09:59,940 --> 00:10:05,190 And if we are wall sliding then we want to use our launch character node instead. 188 00:10:05,190 --> 00:10:06,960 So here just launch character. 189 00:10:08,000 --> 00:10:10,550 Like this and just drag it over. 190 00:10:11,200 --> 00:10:16,990 And for now, just, uh, split this up, split this drug bin, and at first, just put in the upward, 191 00:10:17,170 --> 00:10:17,950 uh, velocity. 192 00:10:17,950 --> 00:10:20,470 So this 1500, maybe upward. 193 00:10:20,470 --> 00:10:23,020 And let's just try how this works. 194 00:10:23,140 --> 00:10:24,160 Go here. 195 00:10:24,160 --> 00:10:24,580 Right. 196 00:10:24,580 --> 00:10:25,120 So I can jump. 197 00:10:25,120 --> 00:10:29,800 Normally I cannot jump in the air, but if I'm wall sliding I can jump again. 198 00:10:30,480 --> 00:10:34,050 And in some games this is all the wall jumping does, right? 199 00:10:34,050 --> 00:10:35,250 You can just jump straight. 200 00:10:35,250 --> 00:10:39,870 But I think in our game and in a lot of games, you actually want to jump away from the wall. 201 00:10:39,870 --> 00:10:43,710 So up and away, because otherwise a wall jumping is just a bit trivial. 202 00:10:43,710 --> 00:10:43,920 Right. 203 00:10:43,920 --> 00:10:45,330 So everybody can do this. 204 00:10:45,330 --> 00:10:46,680 There's not much skill involved. 205 00:10:46,680 --> 00:10:48,210 It is a lot of fun still. 206 00:10:48,210 --> 00:10:50,430 And if you want to make your game that way, that is fine. 207 00:10:50,430 --> 00:10:54,240 But I actually want to implement a jumping up and away from the wall. 208 00:10:54,240 --> 00:10:56,880 So back in the BP player this is fine. 209 00:10:56,880 --> 00:11:02,010 The launch velocity upward is fine, but we also want to have a launch velocity on x in the opposite 210 00:11:02,010 --> 00:11:03,840 direction of where we are looking, right. 211 00:11:03,840 --> 00:11:06,270 So we can get actor forward vector. 212 00:11:06,270 --> 00:11:06,930 Again. 213 00:11:06,930 --> 00:11:08,640 This gives us the forward direction. 214 00:11:08,640 --> 00:11:10,320 And again we only care about the x. 215 00:11:10,320 --> 00:11:11,940 So we can split the struct pin. 216 00:11:11,940 --> 00:11:16,020 And the x is going to give us minus one for left and one for right. 217 00:11:16,590 --> 00:11:20,970 But since we want to go in the opposite direction, we want to multiply this. 218 00:11:20,970 --> 00:11:24,360 So multiply by minus one. 219 00:11:24,360 --> 00:11:26,850 So this is always going to flip it around. 220 00:11:27,120 --> 00:11:29,460 But this will only give us the direction. 221 00:11:29,460 --> 00:11:33,900 So we actually want to multiply again by the power of the jump. 222 00:11:33,900 --> 00:11:39,720 So let's just say 5000 something crazy just to try it out and put this in for the X. 223 00:11:39,720 --> 00:11:40,020 Right. 224 00:11:40,020 --> 00:11:43,590 So this gives us the direction it's going to flip the direction around. 225 00:11:43,590 --> 00:11:48,840 And this just adds the power of the jump in the x direction. 226 00:11:49,020 --> 00:11:50,640 So it is compiled safe. 227 00:11:50,640 --> 00:11:51,990 Check this out. 228 00:11:52,290 --> 00:11:55,170 And yes so we jump to the other side. 229 00:11:55,170 --> 00:11:58,620 But actually it is not as strong as you would think. 230 00:11:58,620 --> 00:12:04,080 And the problem with this is again we have the lateral falling friction. 231 00:12:04,080 --> 00:12:09,600 So on the character movement component the lateral the falling lateral friction again is kind of causing 232 00:12:09,600 --> 00:12:10,560 issues with this. 233 00:12:10,560 --> 00:12:14,040 So again we have to put in a little bit of a workaround here. 234 00:12:15,010 --> 00:12:21,190 So here, before the launch character again, we just set our lateral falling friction on the character 235 00:12:21,190 --> 00:12:22,150 movement component. 236 00:12:22,150 --> 00:12:25,600 Set lateral falling friction to zero. 237 00:12:25,870 --> 00:12:28,570 Open up some space here like this. 238 00:12:30,400 --> 00:12:32,110 And connect this here. 239 00:12:32,830 --> 00:12:33,400 Right? 240 00:12:33,400 --> 00:12:36,610 So this is gonna solve our problem on first glance, right? 241 00:12:36,610 --> 00:12:38,680 So we properly jump to the other side. 242 00:12:38,680 --> 00:12:43,120 And 5000 is actually a little bit of a crazy value, as you can see, because we get bounced around. 243 00:12:43,120 --> 00:12:46,570 But this solved the problem with the falling ladder friction. 244 00:12:46,570 --> 00:12:51,610 We of course also have to set it back to the original value again after a set amount of time, but this 245 00:12:51,610 --> 00:12:53,440 is one step in the right direction. 246 00:12:54,310 --> 00:12:56,650 So first we want to implement the delay. 247 00:12:56,650 --> 00:12:59,620 So here we put in a retrigger delay again. 248 00:13:00,230 --> 00:13:00,830 Like this. 249 00:13:00,830 --> 00:13:08,660 And first just yeah, leave it at 0.2 and we set the lateral falling friction back to our base value. 250 00:13:08,660 --> 00:13:10,760 And we saved this before and begin play. 251 00:13:10,790 --> 00:13:13,220 We have the base lateral friction value. 252 00:13:13,220 --> 00:13:15,530 And we can just drag this in here right. 253 00:13:15,530 --> 00:13:16,730 So I go like this. 254 00:13:16,730 --> 00:13:20,630 Now I do the wall jump once and we get flung away. 255 00:13:20,630 --> 00:13:23,030 But now I'm back to my regular value. 256 00:13:23,030 --> 00:13:25,880 And I have the air control that we set up right in the beginning. 257 00:13:25,880 --> 00:13:28,820 But the value for the wall jump is way too high, right? 258 00:13:28,820 --> 00:13:30,350 So 5000 is crazy. 259 00:13:30,350 --> 00:13:31,940 So just put it at 1000. 260 00:13:32,460 --> 00:13:35,130 For now, put it at 1000 and see how this feels. 261 00:13:35,840 --> 00:13:36,170 And. 262 00:13:36,170 --> 00:13:38,660 Yeah, this is really nice, right? 263 00:13:38,660 --> 00:13:41,030 These are the kind of wall jumps you see in these games. 264 00:13:42,520 --> 00:13:43,000 Right. 265 00:13:43,000 --> 00:13:48,670 And it makes sure that if we set the lateral friction, it also lets us fly long in the direction we 266 00:13:48,670 --> 00:13:50,020 cannot steer against it so hard. 267 00:13:50,020 --> 00:13:53,260 And it has kind of a fixed direction, which is really nice. 268 00:13:53,260 --> 00:13:56,170 But we also want to make sure it's always the same. 269 00:13:56,170 --> 00:13:57,940 So x, y, z override. 270 00:13:58,240 --> 00:14:00,790 Uh, turn this on just to make sure it's more consistent. 271 00:14:00,790 --> 00:14:04,660 It's not affected by the momentum we already have. 272 00:14:04,660 --> 00:14:07,090 And this just makes it a little bit more consistent. 273 00:14:07,090 --> 00:14:08,710 And now all of this is working. 274 00:14:08,710 --> 00:14:10,810 We just want to clean it up a little bit. 275 00:14:10,810 --> 00:14:15,070 So stop the gameplay and a couple of these variables. 276 00:14:15,070 --> 00:14:15,520 Right. 277 00:14:15,520 --> 00:14:19,000 So this is the horizontal jump power for wall jumping right. 278 00:14:19,000 --> 00:14:24,850 So we can promote the variable and just call it wall jump power. 279 00:14:25,750 --> 00:14:26,260 Port. 280 00:14:27,460 --> 00:14:28,330 For voice and power. 281 00:14:28,330 --> 00:14:30,190 Horizontal compound safe. 282 00:14:30,280 --> 00:14:34,240 And the default value is 1000. 283 00:14:34,240 --> 00:14:34,450 Right? 284 00:14:34,450 --> 00:14:35,320 This is correct. 285 00:14:35,320 --> 00:14:36,610 This is minus one. 286 00:14:36,610 --> 00:14:37,930 This doesn't need to be a variable. 287 00:14:37,930 --> 00:14:40,270 This is kind of obvious what is happening here. 288 00:14:40,270 --> 00:14:41,740 We just flip this around. 289 00:14:42,400 --> 00:14:45,100 And here the 1500, the upward velocity. 290 00:14:45,130 --> 00:14:50,800 We can also do this and promote the variable and call the wall jump power vert. 291 00:14:52,010 --> 00:14:54,200 And put this here compile and save. 292 00:14:54,200 --> 00:14:55,820 And this is just best practice. 293 00:14:55,820 --> 00:14:57,380 So you can just easily update this. 294 00:14:57,380 --> 00:15:00,020 You don't have to just like look through your code every time. 295 00:15:00,020 --> 00:15:04,460 And the last thing I want to put into a variable is the retrigger delay. 296 00:15:04,460 --> 00:15:05,360 So here. 297 00:15:07,570 --> 00:15:11,590 Promote the variable and just call this wall jump. 298 00:15:13,350 --> 00:15:14,190 Lock. 299 00:15:16,390 --> 00:15:17,170 Like this. 300 00:15:19,920 --> 00:15:22,830 And this is all it takes to make the wall jump work. 301 00:15:22,830 --> 00:15:25,080 But let's just collapse these nodes now, right? 302 00:15:25,080 --> 00:15:28,140 We cannot collapse this to a function because we have a delay in here. 303 00:15:28,140 --> 00:15:29,940 So we can just select these. 304 00:15:30,720 --> 00:15:32,610 And just collapse the nodes. 305 00:15:32,760 --> 00:15:35,610 Collapse nodes and just called wall jump. 306 00:15:36,370 --> 00:15:38,440 And now this is again very easy to understand. 307 00:15:38,440 --> 00:15:40,180 We just check for is wall jumping. 308 00:15:40,300 --> 00:15:41,230 Is wall sliding? 309 00:15:41,230 --> 00:15:42,640 If yes, then we can wall jump. 310 00:15:42,640 --> 00:15:45,100 If not, just try to jump regularly. 311 00:15:45,100 --> 00:15:49,000 And then in here we have all of our logic encapsulated. 312 00:15:49,570 --> 00:15:50,410 So congrats! 313 00:15:50,410 --> 00:15:56,920 You just created a wall slide and a wall jump, which is a somewhat advanced, uh, gameplay ability. 314 00:15:56,920 --> 00:16:01,300 And I hope the problem solving skills, the blueprint skills that you learned here, you will be able 315 00:16:01,300 --> 00:16:03,400 to apply them to other things as well. 316 00:16:03,700 --> 00:16:06,010 Next up is the ground slide. 27778

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.