﻿1
00:00:04,460 --> 00:00:05,150
‫Hallo en welkom.

2
00:00:05,150 --> 00:00:11,510
‫In deze lezing gaan we die bugs oplossen met Raytracing, zodat we het personage kunnen doden.

3
00:00:11,510 --> 00:00:18,260
‫Ze doden zichzelf niet en we kunnen over de plek rennen waar ze zijn geweest door hun capsule uit te schakelen.

4
00:00:18,260 --> 00:00:20,780
‫Collider Laten we eens kijken hoe we dit kunnen bereiken.

5
00:00:21,860 --> 00:00:24,440
‫Dus we hebben momenteel een aantal rare bugs.

6
00:00:24,440 --> 00:00:31,400
‫Dus we hebben er een waar de vijand A. L. lijkt zichzelf in wezen in het gezicht te schieten,

7
00:00:31,400 --> 00:00:35,660
‫zoals je kunt zien aan het feit dat het binnenkort zo dood op de vloer zal liggen.

8
00:00:36,050 --> 00:00:40,220
‫Maar niet alleen dat, het blijft schieten terwijl het dood is.

9
00:00:40,520 --> 00:00:43,250
‫Dus we gaan een aantal van die problemen geleidelijk oplossen.

10
00:00:43,490 --> 00:00:45,260
‫Laten we eens kijken wat er aan de hand is.

11
00:00:45,260 --> 00:00:50,840
‫Dus ten eerste, het schieten zelf in het gezicht, dat zou vrij gemakkelijk kunnen zijn om te zien wat er aan de hand is.

12
00:00:50,840 --> 00:00:57,830
‫Dus als we in ons geweer gaan, C. P. , en kijk eens hoe dit werkt,

13
00:00:57,830 --> 00:01:04,280
‫we doen momenteel deze regel. Traceer afzonderlijk per kanaal om het hitresultaat te vinden, en we doen het vanaf de

14
00:01:04,280 --> 00:01:07,760
‫locatie die de viewport van de speler is, het V-gezichtspunt, sorry.

15
00:01:08,210 --> 00:01:13,340
‫En met de AI die we al hebben besproken, zal het ergens op ooghoogte zijn.

16
00:01:13,340 --> 00:01:14,870
‫Dat is waar het vandaan wordt getraceerd.

17
00:01:15,230 --> 00:01:17,600
‫En je kunt zien dat er hier misschien een klein probleem is.

18
00:01:17,600 --> 00:01:21,770
‫Als je vanuit zijn ogen begint te traceren, zul je deze capsule raken.

19
00:01:22,010 --> 00:01:24,410
‫Sterker nog, wij hebben het probleem zelf ook.

20
00:01:24,410 --> 00:01:29,780
‫Het enige verschil is dat, omdat we dit via de camera bekijken, over de

21
00:01:30,110 --> 00:01:37,370
‫schouder bekijken, we in wezen het probleem niet begrijpen omdat we die capsule omzeilen en er niet op slaan.

22
00:01:37,640 --> 00:01:42,290
‫Maar we zouden net zo gemakkelijk onze eigen capsule kunnen raken als onze camera zich op een andere locatie zou bevinden.

23
00:01:42,950 --> 00:01:44,090
‫Dus hoe stoppen we dat?

24
00:01:44,090 --> 00:01:50,840
‫Dus als we teruggaan en dit definiëren, zal dit een struct creëren, de botsingsparameters die ik params ga noemen

25
00:01:51,380 --> 00:01:57,080
‫en dan kunnen we enkele actoren toevoegen die genegeerd moeten worden als onderdeel van onze regel.

26
00:01:57,080 --> 00:02:04,040
‫Traceren We doen dit door params te doen dot add negeer genegeerde acteur en wat zijn dan de acteurs die we moeten

27
00:02:04,040 --> 00:02:04,550
‫negeren?

28
00:02:04,550 --> 00:02:06,560
‫Nou, de eerste is gewoon het pistool.

29
00:02:06,560 --> 00:02:10,460
‫Dus deze en de tweede is de eigenaar --.

30
00:02:10,460 --> 00:02:14,570
‫Dus params voegen geen genegeerde acteur toe om eigenaar te worden.

31
00:02:14,960 --> 00:02:19,400
‫Dus in principe mag de eigenaar van het wapen niet door zijn eigen wapen worden geraakt.

32
00:02:19,400 --> 00:02:26,210
‫Ik bedoel, natuurlijk wil je misschien je eigen pionnen kunnen raken met het geweer, maar nee, in dit geval

33
00:02:26,210 --> 00:02:26,690
‫niet.

34
00:02:26,990 --> 00:02:35,180
‫Dus de parameters die we gaan doorgeven als het laatste argument voor onze regel traceren per kanaal en dan gaan we opslaan

35
00:02:35,180 --> 00:02:38,120
‫en bouwen en kijken of dit werkt.

36
00:02:38,240 --> 00:02:44,450
‫Dus als we nu idealiter op play gaan, zouden we het ja moeten zien, we krijgen het deeltjeseffect op

37
00:02:44,450 --> 00:02:50,540
‫onze capsule, op onze speler, en uiteindelijk zou onze gezondheid naar nul moeten dalen en zouden we languit op

38
00:02:50,540 --> 00:02:54,820
‫de grond moeten eindigen ga nu ergens languit op de grond liggen.

39
00:02:54,820 --> 00:02:56,390
‫We lijken er doorheen te zijn gezakt.

40
00:02:56,390 --> 00:03:01,430
‫Ik weet niet waar onze echte speler is gebleven, maar we zijn nog steeds op de vloer spawned.

41
00:03:01,670 --> 00:03:03,080
‫Maar hier is nog een bug.

42
00:03:03,110 --> 00:03:08,600
‫Je kunt zien dat hij nog steeds op ons schiet en hij schiet en raakt nog steeds een capsule.

43
00:03:09,110 --> 00:03:10,940
‫En eigenlijk gebeurt hetzelfde.

44
00:03:10,940 --> 00:03:15,140
‫Als ik deze man zou vermoorden, laten we hem dan vermoorden.

45
00:03:15,140 --> 00:03:20,420
‫Ze gaan het krijgen van het is veel moeilijker zonder iets om naar te wijzen op het scherm.

46
00:03:20,420 --> 00:03:21,980
‫Maar je kunt hem krijgen.

47
00:03:22,730 --> 00:03:24,770
‫Maar hij schiet nog steeds en schiet nog steeds op mij.

48
00:03:25,250 --> 00:03:29,390
‫En wat we ook zouden hebben gezien, is dat zijn capsule nog steeds actief is.

49
00:03:29,390 --> 00:03:35,600
‫Er zijn dus een paar dingen die we willen doen als onze personages worden vermoord, zowel de man als de speler.

50
00:03:35,990 --> 00:03:42,440
‫Dus laten we naar het schietpersonage CP gaan en onze functie voor schade nemen.

51
00:03:43,130 --> 00:03:44,840
‫En we willen hier eigenlijk een F-statement toevoegen.

52
00:03:44,840 --> 00:03:46,820
‫We willen zeggen of hij dood is.

53
00:03:47,360 --> 00:03:49,340
‫Dus eigenlijk hebben we voor de laatste keer schade opgelopen.

54
00:03:49,340 --> 00:03:50,030
‫We zijn nu dood.

55
00:03:50,510 --> 00:03:53,060
‫We moeten wat dingen doen, wat opruimen.

56
00:03:53,720 --> 00:03:56,720
‫Het eerste dat we moeten doen, is de controller loskoppelen van dit personage.

57
00:03:56,720 --> 00:03:58,850
‫De controller heeft niet langer de leiding over dit personage.

58
00:03:58,850 --> 00:03:59,660
‫Het personage is dood.

59
00:03:59,870 --> 00:04:03,980
‫Je kunt niets doen dat ons ervan weerhoudt om te schieten.

60
00:04:04,070 --> 00:04:06,770
‫Dus de AI zal niet langer schieten als hij dood is.

61
00:04:06,800 --> 00:04:07,850
‫Dat is logisch.

62
00:04:08,180 --> 00:04:12,710
‫En bovendien zullen we niet langer in staat zijn om te proberen ons te verplaatsen in de wereld.

63
00:04:12,980 --> 00:04:18,890
‫Dat alles wordt uitgeschakeld door een loskoppeling van de controller uit te voeren in afwachting van vernietiging.

64
00:04:19,310 --> 00:04:20,090
‫Dat is wat we gaan doen.

65
00:04:20,870 --> 00:04:28,040
‫Het volgende is dat we die capsule-botsing willen uitschakelen, zodat we de componenten van de get-capsule kunnen doen

66
00:04:28,130 --> 00:04:31,850
‫en dan moeten we bovenaan een hash-opname doen.

67
00:04:32,710 --> 00:04:37,480
‫Voor de capsulecomponenten die componenten bevatten en de capsulecomponent daar.

68
00:04:38,710 --> 00:04:40,690
‫Dan terug naar beneden scrollen om schade op te lopen.

69
00:04:41,210 --> 00:04:46,010
‫Ik ga een pijl-operator doen en we gaan een set collision ingeschakeld doen.

70
00:04:46,610 --> 00:04:48,860
‫Dus we willen het eigenlijk niet inschakelen.

71
00:04:48,860 --> 00:04:49,370
‫Dat is wat we doen.

72
00:04:49,370 --> 00:04:55,040
‫Is die botsing goed genoeg ingeschakeld, zodat de botsing mogelijk is, dubbele punt, dubbele punt, geen botsing.

73
00:04:55,580 --> 00:05:00,230
‫Dus we stellen onze capsule-botser in op geen botsing, wat ons meteen zou moeten helpen.

74
00:05:00,860 --> 00:05:01,250
‫Oké.

75
00:05:01,250 --> 00:05:04,220
‫Dus we gaan door en bouwen en kijken of dat heeft geholpen.

76
00:05:04,490 --> 00:05:06,430
‫Nou, de compiler was in ieder geval succesvol.

77
00:05:06,430 --> 00:05:07,400
‫Laten we gaan en op play drukken.

78
00:05:07,400 --> 00:05:09,110
‫En dus schiet hij op mij.

79
00:05:09,110 --> 00:05:10,580
‫Ik kan hem neerschieten tot hij dood is.

80
00:05:11,300 --> 00:05:11,700
‫Daar gaan we.

81
00:05:11,780 --> 00:05:12,270
‫Hij is dood.

82
00:05:12,830 --> 00:05:17,000
‫Ik kan over zijn capsule gaan en ik bots er niet meer op.

83
00:05:17,330 --> 00:05:21,560
‫Je kunt ook zien dat hij niet langer met zijn pistool schiet, wat fantastisch is.

84
00:05:21,980 --> 00:05:24,020
‫En laten we ook kijken of hij ons gaat vermoorden.

85
00:05:24,020 --> 00:05:24,800
‫Wat is het gedrag?

86
00:05:24,920 --> 00:05:27,020
‫Dus we moeten gewoon wachten op de tien schoten.

87
00:05:27,140 --> 00:05:32,410
‫En je kunt zien dat ik net zo lang dood als hij deed en hij blijft op me schieten.

88
00:05:32,420 --> 00:05:32,900
‫Dat is goed.

89
00:05:32,960 --> 00:05:39,110
‫Hij raakt niet langer een lege botser en ik kan mijn camera niet meer bedienen omdat ik dood ben.

90
00:05:39,140 --> 00:05:39,500
‫Geweldig.

91
00:05:39,500 --> 00:05:41,750
‫Dus we hebben hier de basis van een first person shooter.

92
00:05:41,750 --> 00:05:45,580
‫We hebben een vijand die ons volgt, op ons schiet, we kunnen erop schieten.

93
00:05:45,590 --> 00:05:46,760
‫We hebben allebei gezondheid.

94
00:05:46,760 --> 00:05:48,560
‫We kunnen allebei dood.

95
00:05:49,010 --> 00:05:55,460
‫Het volgende is dus om een aantal voorwaarden voor het einde van het spel in te stellen, zodat we een leuk bericht aan onze speler kunnen

96
00:05:55,460 --> 00:06:00,620
‫laten zien dat je hebt verloren of dat je hebt gewonnen als je alle spelers in het level hebt gedood.

97
00:06:00,650 --> 00:06:02,240
‫En dat zal het onderwerp zijn van de volgende lezing.

98
00:06:02,270 --> 00:06:02,750
‫Dus jij dat.

