﻿1
00:00:04,130 --> 00:00:10,460
‫Het doel van deze video is dus om projectielen te hebben die daadwerkelijk door de lucht worden gelanceerd en zich gedragen zoals

2
00:00:10,460 --> 00:00:11,930
‫projectielen zouden moeten doen.

3
00:00:12,020 --> 00:00:13,520
‫Hé, welkom terug.

4
00:00:13,550 --> 00:00:19,430
‫In deze video willen we ons projectiel zich als een projectiel gedragen en bewegen.

5
00:00:19,610 --> 00:00:22,040
‫Nu zijn er verschillende manieren om hiermee om te gaan.

6
00:00:22,070 --> 00:00:28,220
‫Een manier is om de locatie en rotatie van het projectiel zelf handmatig in te stellen.

7
00:00:28,250 --> 00:00:33,680
‫Dit zou ons over het algemeen vereisen om de update elk frame uit te voeren, dus we zouden dit waarschijnlijk

8
00:00:33,680 --> 00:00:34,940
‫in de tick-functie plaatsen.

9
00:00:35,210 --> 00:00:41,810
‫Een andere manier is om eenvoudig een impuls aan het projectiel toe te voegen en de physics-engine het over te laten nemen.

10
00:00:41,900 --> 00:00:48,440
‫In wezen oefenen we een kracht uit en lanceren we dat projectiel en laten we de zwaartekracht zijn werk doen,

11
00:00:48,440 --> 00:00:51,380
‫en het projectiel vliegt gewoon de lucht in.

12
00:00:51,410 --> 00:00:55,310
‫Een andere manier zou zijn om een bewegingscomponent te gebruiken.

13
00:00:55,340 --> 00:01:00,560
‫Dit is een speciaal type component dat we aan onze projectielklasse zouden toevoegen.

14
00:01:00,560 --> 00:01:06,230
‫En na het instellen van enkele parameters op de bewegingscomponent, zal de bewegingscomponent de beweging

15
00:01:06,230 --> 00:01:08,060
‫voor de acteur afhandelen.

16
00:01:08,090 --> 00:01:15,860
‫Nu is het zo dat Unreal Engine een ingebouwd type component heeft dat speciaal is gemaakt voor projectielen.

17
00:01:15,860 --> 00:01:20,210
‫Dit maakt dus gebruik van enkele van de ingebouwde functies van Unreal Engine.

18
00:01:20,210 --> 00:01:26,120
‫En door dit te doen, laten we de bewegingscomponent de beweging voor ons afhandelen op basis van de instellingen die

19
00:01:26,120 --> 00:01:27,020
‫we bieden.

20
00:01:27,020 --> 00:01:29,360
‫Dit is dus de methode die we gaan gebruiken.

21
00:01:29,360 --> 00:01:35,750
‫Dus we willen een projectielbewegingscomponent toevoegen aan onze projectielklasse, en dit is wat de

22
00:01:35,750 --> 00:01:38,690
‫beweging voor het projectielobject zal afhandelen.

23
00:01:38,690 --> 00:01:45,440
‫Dus als we een projectiel in de wereld spawnen, kan de projectielbewegingscomponent die tot de projectielklasse behoort,

24
00:01:45,440 --> 00:01:51,620
‫worden ingesteld en aangepast op basis van de variabelen van de projectielbewegingsklasse die we

25
00:01:51,650 --> 00:01:52,190
‫instellen.

26
00:01:52,220 --> 00:01:58,340
‫Nu gaan we er een paar instellen, zoals de beginsnelheid en de maximale snelheid en de

27
00:01:58,340 --> 00:02:02,750
‫projectielbewegingscomponent zal het projectiel in de wereld voor ons verplaatsen.

28
00:02:02,780 --> 00:02:06,290
‫Nu, hier is de Unreal Engine Documentation-pagina voor jou.

29
00:02:06,290 --> 00:02:07,940
‫Projectiel bewegingscomponent.

30
00:02:07,940 --> 00:02:13,130
‫Dit is het onderdeel waar we ons mee bezig houden en je zult zien dat er staat dat

31
00:02:13,130 --> 00:02:16,700
‫Projectielbewegingsonderdeel de positie van een ander onderdeel bijwerkt tijdens het tikken.

32
00:02:16,700 --> 00:02:19,340
‫Standaard wordt de routecomponent verplaatst.

33
00:02:19,370 --> 00:02:20,900
‫Nu is hier de inclusie.

34
00:02:20,900 --> 00:02:26,060
‫En als u verder naar beneden scrolt, ziet u enkele van de variabelen die kunnen worden ingesteld op

35
00:02:26,060 --> 00:02:26,810
‫de bewegingscomponent.

36
00:02:26,810 --> 00:02:30,740
‫Dus scroll hier eens doorheen en kijk wat de mogelijkheden zijn.

37
00:02:30,770 --> 00:02:36,770
‫Nu voegen we een projectielbewegingscomponent toe aan onze klas op dezelfde manier als we andere componenten zouden toevoegen, wat betekent dat

38
00:02:36,770 --> 00:02:39,350
‫u al weet hoe u dit moet doen.

39
00:02:39,350 --> 00:02:45,980
‫Dus jouw uitdaging is om naar de projectielklasse te gaan en een aanwijzervariabele voor je projectielbewegingscomponent toe te voegen en

40
00:02:45,980 --> 00:02:49,310
‫deze bloot te leggen door deze overal zichtbaar te maken.

41
00:02:49,310 --> 00:02:54,140
‫En op die manier kunnen we de projectielbewegingscomponent gemakkelijk vanuit blauwdrukken bewerken.

42
00:02:54,150 --> 00:02:59,560
‫Nu ga je het construeren in de projectielconstructor met behulp van create default sub-object.

43
00:02:59,570 --> 00:03:05,900
‫Vergeet niet om de juiste koptekst op te nemen en de beginsnelheid en maximale snelheidsvariabelen van de projectielbewegingscomponent in

44
00:03:05,900 --> 00:03:06,920
‫te stellen.

45
00:03:06,920 --> 00:03:12,650
‫Kies nu je eigen waarden hiervoor en stel deze in in de constructor en speel vervolgens de game.

46
00:03:12,650 --> 00:03:18,530
‫Je gaat de beginsnelheid en maximale snelheid aanpassen in het detailvenster door het onderdeel in de

47
00:03:18,530 --> 00:03:19,790
‫projectielblauwdruk te selecteren.

48
00:03:19,790 --> 00:03:25,910
‫En dit geeft je een beetje ervaring met het aanpassen van parameters en experimenteren als ontwikkelaar.

49
00:03:25,910 --> 00:03:30,080
‫Dus pauzeer de video en maak nu de projectielbewegingscomponent.

50
00:03:32,900 --> 00:03:33,180
‫Oké.

51
00:03:33,230 --> 00:03:39,380
‫Dus ik ben hier in projectiel H en je hebt waarschijnlijk je component in het privégedeelte toegevoegd.

52
00:03:39,380 --> 00:03:41,780
‫Dus als je dat deed, heb je de juiste instincten.

53
00:03:41,780 --> 00:03:43,730
‫We gaan hier een privévariabele van maken.

54
00:03:43,730 --> 00:03:44,180
‫Dat is goed.

55
00:03:44,180 --> 00:03:48,040
‫Als je dat niet hebt gedaan, kun je het desgewenst eenvoudig naar het privégedeelte verplaatsen.

56
00:03:48,050 --> 00:03:54,560
‫Dit zal een U-projectielbewegingscomponent zijn, en dat is een wijzer.

57
00:03:54,560 --> 00:03:58,610
‫En we kunnen dit eenvoudig een projectielbewegingscomponent noemen.

58
00:03:58,760 --> 00:04:05,300
‫Nu ga ik dit een U-eigenschap geven en dit eenvoudig overal zichtbaar maken.

59
00:04:06,020 --> 00:04:08,210
‫Nu heb je het waarschijnlijk een categorie gegeven.

60
00:04:08,210 --> 00:04:13,130
‫Zo niet, dan is dat prima, maar ik ga het een categorie geven en het beweging noemen.

61
00:04:13,130 --> 00:04:15,650
‫We hebben dus de component projectielbeweging.

62
00:04:15,650 --> 00:04:20,660
‫Ik ga de voorwaartse declaratie achterwege laten en kijken of ik weg kan komen met het

63
00:04:20,660 --> 00:04:24,290
‫compileren hier in projectiel CP, ik ga het header-bestand opnemen.

64
00:04:24,290 --> 00:04:31,340
‫Dus terug naar de documentatiepagina, ik ga deze include kopiëren en gewoon hier in projectiel plakken.

65
00:04:31,340 --> 00:04:34,250
‫En nu ben ik klaar om mijn component te bouwen.

66
00:04:34,250 --> 00:04:42,440
‫Dus ik ga zeggen projectielbewegingscomponent en ik ga gebruik maken van een standaard

67
00:04:42,440 --> 00:04:48,140
‫subobject maken en het type zal je projectielbewegingscomponent zijn.

68
00:04:48,470 --> 00:04:55,760
‫En voor de tekst noem ik dit onderdeel van de projectielbeweging gewoon zo.

69
00:04:55,760 --> 00:04:59,300
‫Daar is mijn puntkomma en daar hebben we het.

70
00:04:59,330 --> 00:05:07,850
‫Nu gaan we volgens de instructies de projectielbeweging instellen, de maximale snelheid van de component, en ik ga dit een beginsnelheid geven van,

71
00:05:07,850 --> 00:05:14,810
‫laten we zeggen, 1300 F. Dit is iets waar we mee zullen experimenteren en door middel van speltesten

72
00:05:14,810 --> 00:05:17,600
‫zal dit aanpassen aan de juiste waarde.

73
00:05:17,600 --> 00:05:25,490
‫Nu ga ik de beginsnelheid van de projectielbewegingscomponent instellen, en ik zal het op dezelfde waarde instellen.

74
00:05:25,910 --> 00:05:31,190
‫Dus de beginsnelheid zal zijn hoe snel het projectielcomponent is wanneer het begint.

75
00:05:31,190 --> 00:05:33,710
‫En natuurlijk zal het nooit over de maximale snelheid gaan.

76
00:05:33,860 --> 00:05:35,750
‫Laten we doorgaan en dit compileren.

77
00:05:36,050 --> 00:05:42,200
‫Oké, dus ik krijg een compilatiefout en als ik naar boven ga, zie ik dat het verwijst naar projectiel h.

78
00:05:42,350 --> 00:05:47,240
‫Dus laten we teruggaan naar projectiel H en er staat Projectiel H 27.

79
00:05:47,240 --> 00:05:51,020
‫Het verwijst naar regel 27 en dat is deze regel hier.

80
00:05:51,140 --> 00:05:56,090
‫En we begrijpen dat dit onderdeel van de projectielbeweging geen lid is van een projectiel.

81
00:05:56,120 --> 00:05:59,990
‫Onthoud dat dit het type fout was dat we zagen toen we declaratie niet doorstuurden.

82
00:05:59,990 --> 00:06:06,590
‫Dus we kunnen dit eenvoudig doorsturen met het class-sleutelwoord en opnieuw compileren en we krijgen een succesvolle

83
00:06:06,590 --> 00:06:07,400
‫compilatie.

84
00:06:07,400 --> 00:06:12,830
‫Dus nogmaals, dit is hoe we kunnen leren of een bepaald onderdeel standaard is inbegrepen.

85
00:06:12,830 --> 00:06:17,270
‫En we zagen dat dit bij een geslaagde compilatie niet het geval is.

86
00:06:17,270 --> 00:06:18,890
‫Laten we teruggaan naar de editor.

87
00:06:19,280 --> 00:06:26,030
‫Oké, dus ik ben terug in de editor en ik ga in op blauwdrukken en acteurs en hier is het BFP-projectiel.

88
00:06:26,300 --> 00:06:28,190
‫Dus hier NP-projectiel.

89
00:06:28,190 --> 00:06:32,090
‫Nu zie ik dat de projectielbewegingscomponent hier is.

90
00:06:32,390 --> 00:06:38,870
‫En in het detailpaneel kun je onder projectiel zien dat we initiële snelheid en maximale snelheid hebben en je kunt er

91
00:06:38,870 --> 00:06:43,280
‫doorheen scrollen en een heleboel andere parameters zien die we ook kunnen instellen.

92
00:06:43,400 --> 00:06:44,840
‫Dus laten we dit testen.

93
00:06:44,840 --> 00:06:49,190
‫Ik ga op play drukken en met de linkermuisknop klikken en het bekijken.

94
00:06:49,190 --> 00:06:51,200
‫Onze projectielen bewegen.

95
00:06:51,200 --> 00:06:55,550
‫Ze vliegen door de lucht en stoppen zodra ze daadwerkelijk iets raken.

96
00:06:55,550 --> 00:07:00,260
‫Nu willen we ze uiteindelijk laten opblazen en schade aanrichten.

97
00:07:00,260 --> 00:07:02,780
‫Maar dit is een prima startpunt.

98
00:07:02,780 --> 00:07:08,420
‫Laten we nu binnen vuurbereik gaan en kijken of de torentjes een projectiel zullen voortbrengen.

99
00:07:08,420 --> 00:07:09,740
‫En dat doen ze natuurlijk niet.

100
00:07:09,740 --> 00:07:13,640
‫En de reden is omdat we die TW-subklasse van variabele hebben.

101
00:07:13,640 --> 00:07:19,310
‫Dus als je je afvraagt waarom de torentjes eigenlijk geen projectielen voortbrachten, dan heb je dat misschien niet

102
00:07:19,310 --> 00:07:19,730
‫ingesteld.

103
00:07:19,730 --> 00:07:25,370
‫Dus laten we doorgaan en naar vijvers gaan en piepvijver, torentje en open volledige blauwdruk.

104
00:07:25,370 --> 00:07:29,960
‫Editor En we hebben de projectielklasse in de gevechtssectie geplaatst.

105
00:07:29,960 --> 00:07:37,790
‫Dit is onze subklasse van, dus als we dit instellen op BP-projectiel, zou onze toren nu ook projectielen moeten

106
00:07:37,790 --> 00:07:38,780
‫gaan spawnen.

107
00:07:38,780 --> 00:07:41,960
‫Dus laten we binnen vuurbereik komen en daar hebben we het.

108
00:07:41,960 --> 00:07:43,910
‫Het schiet projectielen op ons af.

109
00:07:43,910 --> 00:07:46,550
‫Dit ziet er dus geweldig uit.

110
00:07:47,030 --> 00:07:48,950
‫Dus we hebben nu projectielen.

111
00:07:48,950 --> 00:07:51,230
‫Laten we dus eens kijken naar ons sectieplan.

112
00:07:51,230 --> 00:07:56,900
‫We hebben al een tank gemaakt die over de hele wereld kan bewegen en we verwerken nu

113
00:07:56,900 --> 00:07:59,150
‫invoer met de WASD-toetsen en muisklikken.

114
00:07:59,150 --> 00:08:05,510
‫We hebben een vijandelijke turret-klasse gemaakt, we noemden het toren in C++ en we hebben vuurfunctionaliteit met

115
00:08:05,510 --> 00:08:06,590
‫projectielen toegevoegd.

116
00:08:06,590 --> 00:08:11,240
‫Nu moeten we in dit spel gezondheidsschade en vernietiging aanpakken.

117
00:08:11,240 --> 00:08:15,770
‫Dus dat zijn onze volgende stappen en die komen naar voren in de video's die nog komen.

118
00:08:15,770 --> 00:08:21,890
‫Dus nu we een projectielbewegingscomponent hebben toegevoegd, hebben we nu echte projectielen.

119
00:08:21,890 --> 00:08:26,990
‫Ik zie je in de volgende video wanneer we beginnen te praten over hoe we deze projectielen daadwerkelijk

120
00:08:26,990 --> 00:08:29,270
‫kunnen laten ontploffen en schade kunnen aanrichten.

121
00:08:29,690 --> 00:08:30,650
‫Ik zie je snel.

