﻿1
00:00:04,080 --> 00:00:05,890
‫Hallo en welkom terug.

2
00:00:05,910 --> 00:00:11,990
‫Nu bewegen we onze tank naar voren en naar achteren, maar we hebben geen manier om de tank daadwerkelijk te sturen.

3
00:00:12,000 --> 00:00:18,260
‫Dus in deze video gaan we werken aan het daadwerkelijk draaien van de tank met behulp van iets dat lokale rotatie wordt genoemd.

4
00:00:18,270 --> 00:00:23,040
‫Dit is de roterende analoog om de lokale offset van de actor toe te voegen.

5
00:00:23,070 --> 00:00:29,850
‫Voeg nu actor lokale offset toe had meerdere invoerparameters en we hebben alleen de eerste doorgegeven omdat de

6
00:00:29,850 --> 00:00:31,470
‫andere drie optioneel waren.

7
00:00:31,650 --> 00:00:35,010
‫Maar een van die andere drie had te maken met vegen.

8
00:00:35,010 --> 00:00:41,190
‫En we gaan een beetje praten over vegen voordat we doorgaan met het implementeren van rotatie.

9
00:00:41,190 --> 00:00:45,660
‫Dus ik ben terug in de documentatie voor ADD Actor Local Offset.

10
00:00:45,660 --> 00:00:48,720
‫Laten we dus nog eens naar deze invoerparameters kijken.

11
00:00:48,750 --> 00:00:52,770
‫De tweede heet B Sweep en is een Boolean.

12
00:00:53,160 --> 00:00:59,790
‫Als we nu een beetje meer naar beneden scrollen en de informatie hier lezen voor B-sweep,

13
00:00:59,790 --> 00:01:07,140
‫staat er Of we naar de bestemmingslocatie vegen, overlappingen veroorzakend onderweg en stoppen voor het doel als

14
00:01:07,140 --> 00:01:08,820
‫iets wordt geblokkeerd.

15
00:01:09,180 --> 00:01:14,790
‫Het gaat ook verder met te zeggen dat alleen de rootcomponent wordt geveegd en gecontroleerd op het blokkeren van botsingen.

16
00:01:14,790 --> 00:01:17,430
‫Onderliggende onderdelen bewegen zonder te vegen.

17
00:01:17,700 --> 00:01:20,820
‫Als de botsing is uitgeschakeld, heeft dit geen effect.

18
00:01:21,060 --> 00:01:28,440
‫Dus laten we het hebben over wat dit nu betekent in het programmeren van games, sweeping is een techniek die door de engine

19
00:01:28,440 --> 00:01:30,390
‫wordt gedaan, zolang sweeping is ingeschakeld.

20
00:01:30,570 --> 00:01:38,370
‫Als we een bewegend object hebben, zoals een bol die wordt weergegeven door deze cirkel, en elk frame terwijl

21
00:01:38,370 --> 00:01:42,090
‫deze bol beweegt, voert de motor sweep-controles uit.

22
00:01:42,090 --> 00:01:49,740
‫Dit betekent dat het controleert of die beweging voor dit specifieke frame zou hebben geleid tot een overlap

23
00:01:49,740 --> 00:01:51,420
‫tussen twee objecten.

24
00:01:51,630 --> 00:01:55,560
‫Dus ik heb dit blok hier weergegeven door deze rechthoek.

25
00:01:56,010 --> 00:01:59,580
‫Laten we nu eens bedenken dat dit de enige twee objecten ter wereld zijn.

26
00:01:59,580 --> 00:02:06,600
‫Dus terwijl vegen is ingeschakeld terwijl de bol naar het object toe beweegt, controleert de engine

27
00:02:06,600 --> 00:02:09,330
‫of deze twee objecten elkaar overlappen.

28
00:02:09,570 --> 00:02:16,410
‫Nu, terwijl de bol blijft bewegen, laten we zeggen dat tijdens een van deze frames de bol zo zou

29
00:02:16,410 --> 00:02:19,500
‫zijn bewogen dat hij het andere object overlapt.

30
00:02:19,500 --> 00:02:26,760
‫Wat vegen nu doet, is dat de engine deze overlap detecteert en die bol terugbeweegt voor

31
00:02:26,790 --> 00:02:31,920
‫dat specifieke frame, zodat het nooit echt het object binnendringt.

32
00:02:31,950 --> 00:02:35,460
‫Nu zien we de bol nooit echt het object binnendringen.

33
00:02:35,490 --> 00:02:40,530
‫De motor vangt die overlap op voordat de beweging daadwerkelijk wordt uitgevoerd.

34
00:02:40,530 --> 00:02:46,020
‫Dus het resultaat is dat we zien dat de bol net stopt met overlappen.

35
00:02:46,020 --> 00:02:52,710
‫Dus als deze rechthoek bijvoorbeeld een muur zou zijn, zou de bol stoppen aan het oppervlak van de muur.

36
00:02:52,710 --> 00:02:55,170
‫Dat is wat vegen voor ons bereikt.

37
00:02:55,170 --> 00:03:00,030
‫Nu zegt de documentatie dat als de botsing is uitgeschakeld, dit geen effect heeft.

38
00:03:00,030 --> 00:03:04,590
‫Dus moet de botsing zijn ingeschakeld om het vegen te laten werken.

39
00:03:04,740 --> 00:03:12,090
‫Dus hier in tanks CP in de verplaatsingsfunctie, hier is onze oproep om de lokale offset van de actor toe te

40
00:03:12,120 --> 00:03:19,110
‫voegen en als we willen, kunnen we hier een andere invoerparameter doorgeven, de tweede is de sweep-boolean, zodat we hier

41
00:03:19,110 --> 00:03:20,310
‫waar kunnen doorgeven.

42
00:03:20,310 --> 00:03:24,540
‫Dus laten we dit compileren en het effect zien van het inschakelen van sweeping.

43
00:03:24,540 --> 00:03:30,720
‫Als we nu op play drukken en we proberen bijvoorbeeld door een muur te gaan, zullen we zien dat we dwars door de

44
00:03:30,720 --> 00:03:31,560
‫muur gaan.

45
00:03:31,560 --> 00:03:34,020
‫Er gaat hier dus iets niet helemaal goed.

46
00:03:34,020 --> 00:03:38,280
‫Laten we nu eens kijken naar wat die routecomponent voor de BP-vijvertank is.

47
00:03:38,280 --> 00:03:41,730
‫Bedenk dat we de capsulecomponent voor de route hebben gebruikt.

48
00:03:41,730 --> 00:03:45,570
‫Dus met capsulecomponenten geselecteerd in BP vijvertank.

49
00:03:45,570 --> 00:03:51,690
‫Laten we naar het detailpaneel gaan en naar beneden scrollen en we zullen hier een sectie zien met de naam Botsing.

50
00:03:51,690 --> 00:03:55,860
‫En hier zien we Collision Presets en het heeft een vervolgkeuzelijst.

51
00:03:55,860 --> 00:03:57,420
‫Laten we dat dus uitbreiden.

52
00:03:57,420 --> 00:04:05,010
‫Nu kunnen Botsingsvoorinstellingen worden ingesteld op een willekeurig aantal opties en standaard zien we overlap allemaal dynamisch.

53
00:04:05,010 --> 00:04:08,280
‫Nu, afhankelijk van de versie van Unreal Engine die u gebruikt.

54
00:04:08,280 --> 00:04:11,580
‫Mogelijk ziet u hier iets anders, maar we kunnen dit veranderen.

55
00:04:11,580 --> 00:04:18,750
‫Als we de vervolgkeuzelijst selecteren en alle dynamische blokkeren kiezen, veranderen de onderstaande grijze opties.

56
00:04:18,750 --> 00:04:25,470
‫Onthoud dat we allemaal dynamisch overlappen en hier zien we drie kolommen met selectievakjes.

57
00:04:25,590 --> 00:04:33,240
‫Dit zijn botsingsreacties en de kolom aan de linkerkant toont een lijst met botsingsobjecttypen.

58
00:04:33,240 --> 00:04:37,860
‫Dus elk gegeven onderdeel heeft zijn eigen type botsingsobject.

59
00:04:37,860 --> 00:04:42,840
‫Merk op dat we het objecttype voor de capsule kunnen zien die is ingesteld op werelddynamiek.

60
00:04:42,840 --> 00:04:48,600
‫En wanneer we de voorinstellingen voor botsingen wijzigen om alle dynamische te blokkeren, ziet u

61
00:04:48,600 --> 00:04:54,450
‫dat de botsingsreacties allemaal zijn aangevinkt om te blokkeren in reactie op alle andere typen botsingsobjecten.

62
00:04:54,450 --> 00:04:59,160
‫Dus laten we op play drukken en kijken wat er gebeurt als we dingen proberen te passeren.

63
00:04:59,160 --> 00:05:03,630
‫Je zult zien dat we net stoppen met overlappen met.

64
00:05:03,710 --> 00:05:04,860
‫De andere vijvers.

65
00:05:04,880 --> 00:05:13,520
‫Nu, als ik de tank verplaats zodat we kunnen proberen de muur te overlappen en rond de andere vijvers te

66
00:05:13,520 --> 00:05:14,340
‫gaan.

67
00:05:14,360 --> 00:05:17,900
‫Als ik nu op play druk, blokkeer ik ook de muur.

68
00:05:17,900 --> 00:05:26,330
‫Dus dit voorinstellingsblok voor botsingen, alle dynamisch stelt de botsingsreactie in om alle andere objecttypen te blokkeren.

69
00:05:26,330 --> 00:05:32,900
‫En u kunt altijd het type botsingsobject van een bepaald onderdeel zien door het te selecteren in

70
00:05:32,900 --> 00:05:39,590
‫het onderdelenpaneel en omlaag te scrollen naar het botsingsgedeelte in het detailvenster en de vervolgkeuzelijst voor Botsingsvoorinstellingen

71
00:05:39,590 --> 00:05:40,790
‫te openen.

72
00:05:40,790 --> 00:05:47,540
‫Ik heb het basisnet geselecteerd en het objecttype is werelddynamisch en het is ingesteld om alles te blokkeren.

73
00:05:47,540 --> 00:05:54,350
‫Dus nu zien we dat vegen werkt, omdat we onze voorinstellingen voor botsingen hebben ingesteld voor de capsule-comp om alle

74
00:05:54,350 --> 00:05:55,490
‫dynamiek te blokkeren.

75
00:05:55,490 --> 00:06:02,720
‫En we zagen in de documentatie dat alleen de rootcomponent wordt geveegd en gecontroleerd op blokkerende botsingen.

76
00:06:02,720 --> 00:06:06,140
‫Het maakt dus niet echt uit waar de andere componenten op zijn ingesteld.

77
00:06:06,170 --> 00:06:10,790
‫We controleren alleen of de rootcomponent iets blokkeert.

78
00:06:10,790 --> 00:06:15,800
‫Een probleem dat sommige studenten heeft doen struikelen, is dat ze niet kunnen bewegen zodra ze de capsule hebben

79
00:06:15,800 --> 00:06:17,510
‫ingesteld om alle dynamiek te blokkeren.

80
00:06:17,810 --> 00:06:23,750
‫Een reden hiervoor kan zijn dat uw capsule de vloer overlapt.

81
00:06:23,780 --> 00:06:28,820
‫Als de capsule de vloer overlapt, kun je niet bewegen omdat de

82
00:06:28,820 --> 00:06:35,390
‫motor je tank niet laat bewegen als het capsuleonderdeel overlapt met iets dat het moet blokkeren.

83
00:06:35,390 --> 00:06:41,240
‫Dus een gemakkelijke oplossing hiervoor zou zijn om ervoor te zorgen dat uw capsule niet overlapt met de vloer.

84
00:06:41,720 --> 00:06:49,370
‫Nu kun je in je BP-tank gaan en ervoor zorgen dat je capsule hier net boven de wielen is.

85
00:06:49,370 --> 00:06:52,640
‫Ik ga naar de orthografische weergave.

86
00:06:53,720 --> 00:06:56,840
‫En selecteer mijn basisgaas en breng het gewoon naar beneden.

87
00:06:56,840 --> 00:07:00,980
‫De wielen zitten dus net onder het capsuleonderdeel.

88
00:07:01,190 --> 00:07:06,470
‫Dus als je mesh nu net op de grond ligt en de capsule net boven de mesh.

89
00:07:06,680 --> 00:07:09,010
‫Je moet je kunnen verplaatsen.

90
00:07:09,020 --> 00:07:12,110
‫Dus ik ga op play drukken en daar gaan we.

91
00:07:12,740 --> 00:07:17,620
‫Dus nu we uit de weg zijn geruimd, is het tijd om rotatie te implementeren.

92
00:07:17,630 --> 00:07:19,520
‫Laten we teruggaan naar onze projectinstellingen.

93
00:07:19,520 --> 00:07:29,060
‫Dus we gaan de projectinstellingen bewerken, scrollen naar beneden naar invoer en in het invoergedeelte hebben we onze astoewijzingen.

94
00:07:29,060 --> 00:07:30,710
‫Nu hebben we al gezorgd.

95
00:07:30,710 --> 00:07:31,790
‫Ga vooruit.

96
00:07:31,790 --> 00:07:40,220
‫Het is tijd om te zorgen voor de volgende genaamd Turn en Turn heeft D en A toegewezen, waarbij D een schaal van

97
00:07:40,220 --> 00:07:44,060
‫één heeft en A een schaal van min één heeft.

98
00:07:44,060 --> 00:07:48,080
‫We willen de D en AX gebruiken om de tank te draaien.

99
00:07:48,170 --> 00:07:54,470
‫Dus om een functie te binden aan de toewijzing van de draaias, hebben we een functie nodig om te binden.

100
00:07:54,470 --> 00:08:02,330
‫Dus we zijn terug in de code van V en ik ga naar het tankbestand zodat we een functie kunnen maken om te

101
00:08:02,330 --> 00:08:04,100
‫binden aan die draaiastoewijzing.

102
00:08:04,100 --> 00:08:08,630
‫Nu ga ik deze leegte-functie gewoon turn noemen en net als verplaatsen.

103
00:08:08,660 --> 00:08:12,560
‫Het heeft een float-invoerparameter nodig en we noemen deze waarde.

104
00:08:12,560 --> 00:08:18,530
‫Dus we hebben deze functie gedeclareerd, laten we het definiëren en CP tanken en ik ga het net onder

105
00:08:18,530 --> 00:08:19,790
‫de verplaatsingsfunctie plaatsen.

106
00:08:19,790 --> 00:08:26,600
‫Dus ik heb het een functielichaam gegeven en ik heb de klassenaam nodig samen met de dubbele dubbele punten net voor

107
00:08:26,600 --> 00:08:27,590
‫de functienaam.

108
00:08:27,590 --> 00:08:29,270
‫Nu hebben we een goede functie.

109
00:08:29,270 --> 00:08:31,400
‫Dit is niet het enige wat we moeten doen.

110
00:08:31,430 --> 00:08:36,590
‫We moeten ervoor zorgen dat deze functie is gebonden aan de astoewijzing die draai wordt genoemd.

111
00:08:36,590 --> 00:08:44,000
‫We doen dat in de spelerinvoercomponent en we doen het net zoals we deden bij het in kaart brengen van de voorwaartse as.

112
00:08:44,000 --> 00:08:51,290
‫Dus we gaan zeggen spelerinvoercomponent, we gaan de pijloperator gebruiken en de as binden.

113
00:08:52,100 --> 00:08:58,250
‫Nu wordt de eerste parameter de naam van de astoewijzing, verpakt in een tekstmacro.

114
00:08:58,340 --> 00:09:02,420
‫Dus we gaan omdraaien zeggen, want dat was de naam van de astoewijzing.

115
00:09:02,420 --> 00:09:05,180
‫Het volgende is het object waarvoor we de functie binden.

116
00:09:05,180 --> 00:09:10,100
‫We kunnen dit doorgeven en uiteindelijk geven we de functie door die we opnieuw willen binden.

117
00:09:10,100 --> 00:09:14,600
‫We hebben het adres van de machinist nodig en het wordt een tankbeurt.

118
00:09:14,600 --> 00:09:16,550
‫Zo makkelijk is het dus.

119
00:09:16,580 --> 00:09:21,200
‫We hebben de draaifunctie gebonden aan de draaiastoewijzing.

120
00:09:21,500 --> 00:09:26,330
‫Het enige dat overblijft is om daadwerkelijk iets te doen in de turn-functie.

121
00:09:26,330 --> 00:09:32,390
‫Nu hebben we gezien dat we lokale ADD actor-offset hebben, maar er is een rotatie-analoog aan deze functie

122
00:09:32,390 --> 00:09:35,240
‫en het heet ADD Actor lokale rotatie.

123
00:09:35,240 --> 00:09:41,600
‫Wat dit doet, is een lokale rotatie aan de actor toevoegen, zoals de naam al doet vermoeden, en je zult zien dat er

124
00:09:41,600 --> 00:09:47,330
‫twee verschillende versies van de functie zijn, een die een F-rotator nodig heeft en een die iets dat een F-quad

125
00:09:47,330 --> 00:09:48,530
‫wordt genoemd, neemt.

126
00:09:48,530 --> 00:09:51,140
‫We gaan de versie gebruiken die een F-rotator nodig heeft.

127
00:09:51,140 --> 00:09:53,480
‫Het heet Delta-rotatie.

128
00:09:53,480 --> 00:10:00,800
‫En net als ADD Actor Local Offset, kan het ook een sweep-parameter en dezelfde andere twee invoerparameters

129
00:10:00,800 --> 00:10:03,170
‫gebruiken als lokale actor-offset toevoegen.

130
00:10:03,170 --> 00:10:08,720
‫En deze laatste drie invoerparameters zijn optioneel, net als lokale offset van actoren toevoegen.

131
00:10:08,720 --> 00:10:13,060
‫Dus in plaats van een F-vector, gaan we een F-rotator passeren.

132
00:10:13,070 --> 00:10:20,210
‫Nu terug hier in de draaifunctie, als we een F-rotator maken en we noemen dit Delta-rotatie, we zullen zien dat als

133
00:10:20,210 --> 00:10:26,960
‫we met de rechtermuisknop op F rotator klikken en naar definitie gaan, we naar de rotator gaan en we zullen

134
00:10:26,960 --> 00:10:30,410
‫drie zien openbare lidvariabelen hier van het type float.

135
00:10:30,410 --> 00:10:37,250
‫Net zoals de F-vector F-rotator deze drie componenten alleen heeft in plaats van X, Y en Z, hebben we

136
00:10:37,250 --> 00:10:39,140
‫pitch yaw en roll.

137
00:10:39,140 --> 00:10:42,050
‫Gieren is het onderdeel waarin we geïnteresseerd zijn.

138
00:10:42,050 --> 00:10:46,940
‫Er staat rotatie rond de opwaartse as tussen haakjes rond de Z-as.

139
00:10:46,940 --> 00:10:52,370
‫En dat is het enige type rotatie dat we belangrijk vinden om rond de Z-as te roteren.

140
00:10:52,370 --> 00:10:54,500
‫Zo kunnen we onze tank sturen.

141
00:10:54,500 --> 00:11:00,860
‫Nu ga ik je erop wijzen dat er ook meerdere constructors zijn voor de F-rotator, en dat

142
00:11:00,860 --> 00:11:06,110
‫de standaard opnieuw zegt dat er geen initialisatie is, net als bij de F-vector.

143
00:11:06,110 --> 00:11:12,410
‫Dus we kunnen degene gebruiken die een enkele float nodig heeft en alle componenten zullen worden geïnitialiseerd naar

144
00:11:12,410 --> 00:11:13,190
‫die float-waarde.

145
00:11:13,220 --> 00:11:18,560
‫Er is er een met drie float-waarden en je kunt een kijkje nemen en enkele van de anderen zien.

146
00:11:18,560 --> 00:11:25,820
‫Nu wil ik er ook op wijzen dat er een nulrotator is en trouwens, dit is een statische nulrotator.

147
00:11:25,820 --> 00:11:34,880
‫Daarom kunnen we teruggaan naar tank CP en iets zeggen als is gelijk aan F rotator nul rotator nul rotator is een statische

148
00:11:34,880 --> 00:11:42,170
‫lidvariabele en u kunt toegang krijgen tot statische lidfuncties en variabelen zoals deze door de klassenaam op te

149
00:11:42,170 --> 00:11:47,960
‫geven met de scope-resolutie-operator en te verwijzen naar die statische variabele of functie op

150
00:11:47,960 --> 00:11:48,440
‫naam.

151
00:11:48,440 --> 00:11:50,180
‫Dat is wat we hier met jou doen.

152
00:11:50,180 --> 00:11:53,060
‫Gameplay-statistieken krijgen werelddelta-seconden is een statische.

153
00:11:53,310 --> 00:11:59,670
‫Function, wat betekent dat we geen echte instantie van de game-gameplay-statica-klasse nodig hebben om toegang

154
00:11:59,670 --> 00:12:02,230
‫te krijgen tot die statische functie.

155
00:12:02,250 --> 00:12:04,160
‫Het bestaat gewoon al.

156
00:12:04,170 --> 00:12:06,930
‫Hetzelfde met nulrotator en nulvector.

157
00:12:07,080 --> 00:12:14,010
‫Dus ik ga rotator h afsluiten en we hebben deze delta-rotatie en het is geïnitialiseerd op een

158
00:12:14,010 --> 00:12:14,700
‫nul-rotator.

159
00:12:14,730 --> 00:12:20,280
‫Nu worden je toonhoogte en rol op nul gezet, net zoals X, Y en Z op nul worden gezet voor de F-vector.

160
00:12:20,280 --> 00:12:22,920
‫Dus we zullen je component moeten veranderen.

161
00:12:22,920 --> 00:12:29,460
‫Dus net zoals ik deed met onze delta-locatie in de MOV-functie, laten we wat pseudocode maken voor

162
00:12:29,460 --> 00:12:30,120
‫delta-rotaties.

163
00:12:30,120 --> 00:12:36,690
‫Ja, we willen natuurlijk dat jullie allemaal worden ingesteld op waarde geschaald door Delta-tijd, omdat we willen dat deze draaiing

164
00:12:36,690 --> 00:12:42,570
‫onafhankelijk is van de framesnelheid, maar we hebben ook een soort draaisnelheid nodig die we deze draaisnelheid

165
00:12:42,570 --> 00:12:43,560
‫kunnen noemen.

166
00:12:43,560 --> 00:12:49,890
‫Dus als we dat eenmaal hebben ingesteld, ja, dan kunnen we die lokale rotatie toevoegen die de acteur volgens

167
00:12:49,890 --> 00:12:54,630
‫de F-rotator elk frame gaat roteren en dat je op waarde wordt geschaald.

168
00:12:54,630 --> 00:12:59,640
‫Dus het is nul als we geen toetsen indrukken en het heeft een waarde als we op de DX en de

169
00:12:59,640 --> 00:13:00,320
‫bijl drukken.

170
00:13:00,330 --> 00:13:02,190
‫Dus nu heb je een uitdaging.

171
00:13:02,190 --> 00:13:06,090
‫Dit gaat net zo werken als het toevoegen van de lokale actor-offset.

172
00:13:06,120 --> 00:13:09,000
‫Het enige verschil is dat we de acteur nu rouleren.

173
00:13:09,000 --> 00:13:14,820
‫Dus omdat we een soort draaisnelheid nodig hebben om de acteur te roteren, ga je een draaisnelheidsvariabele

174
00:13:14,820 --> 00:13:20,550
‫maken, dit een float maken en deze in het privégedeelte direct naast de snelheidsvariabele plaatsen.

175
00:13:20,550 --> 00:13:25,560
‫Geef deze variabele weer met uw eigenschap en kies de juiste nieuwe eigenschapspecificaties.

176
00:13:25,560 --> 00:13:32,490
‫Nu ga je in de draaifunctie in het bijzonder Delta-rotatie instellen, we geven om je component,

177
00:13:32,490 --> 00:13:41,280
‫stel de waarde in op waarde maal onze draaisnelheidsvariabele en vermenigvuldig ook met delta-tijd en dan ben je klaar om lokale

178
00:13:41,280 --> 00:13:48,780
‫actor toe te voegen rotatie die nu in deze f rotator passeert voor de tweede parameter, ga je

179
00:13:48,780 --> 00:13:56,880
‫gang en passeer waar voor de B-sweep-invoer, omdat we wel willen vegen tijdens het roteren, de video pauzeren en nu

180
00:13:56,880 --> 00:13:59,190
‫rotatie voor de tank implementeren.

181
00:14:02,110 --> 00:14:02,500
‫Oké.

182
00:14:02,500 --> 00:14:04,630
‫Dit wordt dus vrij eenvoudig.

183
00:14:04,630 --> 00:14:07,360
‫We hebben alleen een draaisnelheidsvariabele nodig.

184
00:14:07,390 --> 00:14:14,440
‫Nu ga ik net onder de snelheid in de tank gaan en een vlotterdraaisnelheid creëren.

185
00:14:14,590 --> 00:14:18,640
‫Nu initialiseer je dit waarschijnlijk naar een bepaalde waarde en dat is oké.

186
00:14:18,640 --> 00:14:24,040
‫Als het anders is dan wat ik kies, ga ik voor 45 F en kijk hoe dat werkt.

187
00:14:24,040 --> 00:14:29,150
‫Maar we gaan dit blootstellen aan blauwdrukken, zodat we het kunnen veranderen terwijl we aan het ontwikkelen zijn.

188
00:14:29,170 --> 00:14:35,620
‫Nu wil ik dat het overal kan worden bewerkt en ik ga het in dezelfde categorie beweging plaatsen als snelheid.

189
00:14:35,620 --> 00:14:41,320
‫Dus ik ga je gang en stel dit je eigendom en plak het hier hierboven, sla rechtsaf, zodat het ergens

190
00:14:41,320 --> 00:14:42,180
‫kan worden geplaatst.

191
00:14:42,190 --> 00:14:45,280
‫Categorie beweging nu en tank CP.

192
00:14:45,310 --> 00:14:48,190
‫Ik ben klaar om het ja voor Delta-rotatie in te stellen.

193
00:14:48,190 --> 00:14:50,320
‫Dus we gaan Delta-rotatie zeggen.

194
00:14:50,650 --> 00:14:51,400
‫Ja.

195
00:14:51,790 --> 00:14:57,060
‫En we gaan het gelijk stellen aan waardetijden, draaisnelheidstijden, deltatijd.

196
00:14:57,070 --> 00:15:04,120
‫En natuurlijk kunnen we Delta-tijd krijgen met U-gameplay-statistieken, wereld-delta-seconden hierin laten passeren

197
00:15:04,120 --> 00:15:06,340
‫als het wereldcontext-object.

198
00:15:06,460 --> 00:15:08,350
‫Dus die ga ik daar plakken.

199
00:15:08,470 --> 00:15:12,220
‫Nu weet ik dat mijn pseudocode niet precies overeenkomt.

200
00:15:12,220 --> 00:15:13,270
‫Het staat in de verkeerde volgorde.

201
00:15:13,270 --> 00:15:14,830
‫Delta-tijd is hier in het midden.

202
00:15:14,830 --> 00:15:20,440
‫Het maakt niet uit, want als je drie waarden met elkaar vermenigvuldigt, kun je ze in willekeurige volgorde vermenigvuldigen

203
00:15:20,440 --> 00:15:21,940
‫en toch hetzelfde resultaat krijgen.

204
00:15:21,940 --> 00:15:27,460
‫Dus voor het geval je je dat afvroeg, de wiskunde zal nog steeds hetzelfde zijn als je deze drie

205
00:15:27,460 --> 00:15:29,350
‫waarden in een andere volgorde vermenigvuldigt.

206
00:15:29,350 --> 00:15:30,910
‫Maak je daar dus niet al te veel zorgen over.

207
00:15:30,910 --> 00:15:32,830
‫Nu hebben we deltarotatie.

208
00:15:32,830 --> 00:15:41,860
‫Het enige wat je nog hoeft te doen is om lokale rotatie toe te voegen, en we passeren in Delta-rotatie en voor de tweede

209
00:15:41,950 --> 00:15:47,290
‫invoer gaan we waar doorgeven om vegen mogelijk te maken tijdens het roteren.

210
00:15:47,290 --> 00:15:48,670
‫Dus laten we dit compileren.

211
00:15:48,820 --> 00:15:50,740
‫Oké, we zijn nu samengesteld.

212
00:15:50,740 --> 00:15:57,190
‫In een aantal van de volgende video's zult u misschien opmerken dat de nulvector en de nulrotator in deze lijnen

213
00:15:57,190 --> 00:15:57,700
‫ontbreken.

214
00:15:57,700 --> 00:16:03,010
‫Dat komt omdat ik begon met deze geïnitialiseerd en later besefte dat deze waarschijnlijk op

215
00:16:03,010 --> 00:16:05,890
‫zijn minst met nulwaarden moeten worden geïnitialiseerd.

216
00:16:05,890 --> 00:16:12,070
‫Dus maak je geen zorgen als je deze lijnen er later zo uitziet als ze zijn geïnitialiseerd, bewaar je nulvector en je

217
00:16:12,070 --> 00:16:16,690
‫nulrotator en je zult zien dat ik dit in een nabije toekomstige video kan zien.

218
00:16:16,690 --> 00:16:17,770
‫Dus maak je geen zorgen.

219
00:16:17,770 --> 00:16:21,430
‫Als u deze initialisatie-items niet ziet, zouden ze daar moeten zijn.

220
00:16:21,430 --> 00:16:23,050
‫En we zijn weer terug in de editor.

221
00:16:23,050 --> 00:16:30,970
‫Laten we op play drukken en ik ga de D-toets gebruiken en we draaien en de A-toets draait me de andere kant op

222
00:16:30,970 --> 00:16:33,790
‫en we kunnen ook vooruit en achteruit gaan.

223
00:16:33,790 --> 00:16:39,570
‫Dus nu we kunnen roteren en vooruit kunnen gaan, hebben we de mogelijkheid om over de hele wereld te bewegen.

224
00:16:39,580 --> 00:16:41,890
‫Dit is een geweldige mijlpaal.

225
00:16:41,890 --> 00:16:47,620
‫Nu beweeg ik vrij langzaam, maar dat is oké, want ik kan mijn tank selecteren en

226
00:16:47,620 --> 00:16:53,230
‫ik kan zoeken naar de bewegingscategorie en de draaisnelheid wijzigen in iets hogers, zoals 90.

227
00:16:53,230 --> 00:16:54,760
‫Dus laten we doorgaan en op play drukken.

228
00:16:55,460 --> 00:16:57,630
‫En dat is een stuk sneller.

229
00:16:57,650 --> 00:17:00,110
‫Als je denkt dat dit nog steeds een beetje traag is.

230
00:17:00,140 --> 00:17:02,330
‫Deze kun je natuurlijk aanpassen.

231
00:17:02,330 --> 00:17:05,570
‫Dus ik ga de -- tank opnieuw selecteren.

232
00:17:05,570 --> 00:17:08,090
‫En in plaats van 400, laten we er 800 van maken.

233
00:17:08,090 --> 00:17:08,720
‫Waarom niet?

234
00:17:08,750 --> 00:17:11,840
‫Laten we in plaats van 90 zeggen 120.

235
00:17:12,260 --> 00:17:16,160
‫Als ik nu op play druk, ben ik een stuk sneller.

236
00:17:16,160 --> 00:17:18,800
‫Dus dit ziet er echt heel goed uit.

237
00:17:18,800 --> 00:17:23,390
‫Dus terugkijkend op het sectieplan, hebben we nu een tank die over de hele wereld kan bewegen.

238
00:17:23,390 --> 00:17:29,300
‫Dat eerste opsommingsteken is zeker afgevinkt en we behandelen WASD-beweging.

239
00:17:29,300 --> 00:17:32,510
‫We zijn nog niet bezig met muisinvoer, maar daar komen we op terug.

240
00:17:32,510 --> 00:17:35,870
‫Maar we zijn een stap dichter bij het voltooien van dit spel.

241
00:17:35,870 --> 00:17:42,170
‫Samenvattend hebben we dus geleerd wat vegen is en hoe we dat kunnen inschakelen zodat onze objecten elkaar

242
00:17:42,170 --> 00:17:43,130
‫niet passeren.

243
00:17:43,130 --> 00:17:49,760
‫We hebben een actor lokale rotatie toegevoegd en we hebben dit gedaan door een draaisnelheid te implementeren die we in de details konden

244
00:17:49,760 --> 00:17:50,210
‫aanpassen.

245
00:17:50,210 --> 00:17:53,750
‫Paneel in de editor om de ontwikkeling een beetje gemakkelijker te maken.

246
00:17:53,750 --> 00:17:54,500
‫Goed werk.

247
00:17:54,500 --> 00:17:56,480
‫We verplaatsen de tank nu over de hele wereld.

248
00:17:56,480 --> 00:17:57,770
‫Ik zie je in de volgende video.

