﻿1
00:00:04,370 --> 00:00:05,300
‫Hallo en welkom.

2
00:00:05,300 --> 00:00:10,190
‫In deze lezing gaan we aan de slag, wat verplaatsen door een selectievakje aan te vinken.

3
00:00:10,190 --> 00:00:14,570
‫We zullen het in staat stellen te bewegen en te bewegen met een constante snelheid.

4
00:00:14,810 --> 00:00:19,370
‫En we gaan dit deze keer doen met behulp van enkele bibliotheekfuncties van binnenuit.

5
00:00:19,370 --> 00:00:19,970
‫Onwerkelijk.

6
00:00:20,210 --> 00:00:24,860
‫Dus we zullen al onze kennis van het hoofd van bestanden en omvat op de proef stellen.

7
00:00:24,860 --> 00:00:26,510
‫Laten we erin duiken en kijken hoe het werkt.

8
00:00:27,470 --> 00:00:34,610
‫Dus de manier waarop ik wil dat deze beweging werkt, is dat ik wil dat deze soepel beweegt van waar het begon

9
00:00:34,610 --> 00:00:38,510
‫naar een doeloffset over een periode van een bepaald aantal seconden.

10
00:00:38,510 --> 00:00:43,610
‫Dus de manier waarop we dit moeten configureren, is door enkele nieuwe eigenschappen toe te voegen aan het headerbestand.

11
00:00:43,610 --> 00:00:48,950
‫Dus laten we beginnen met het toevoegen van een privé-sectie aan de

12
00:00:48,950 --> 00:00:58,850
‫kop van het bestand en dan gaan we een nieuwe eigenschap toevoegen die overal zal worden toegevoegd, die de offset, de verplaatsingsoffset, gaat definiëren.

13
00:00:59,090 --> 00:01:03,410
‫Dus hoe ver deze verhuizer moet bewegen als hij wordt geactiveerd.

14
00:01:03,890 --> 00:01:08,570
‫Dus de manier waarop we dat gaan doen, het gaat een F-vector gebruiken en ik ga het

15
00:01:08,600 --> 00:01:11,780
‫de verplaatsingsoffset noemen, dus ik zal het geen standaardwaarde geven.

16
00:01:12,020 --> 00:01:13,400
‫Dat doen we in de editor.

17
00:01:13,940 --> 00:01:19,310
‫Dan ga ik nog een U-eigenschap maken die opnieuw overal zal worden toegevoegd, wat de hoeveelheid

18
00:01:19,310 --> 00:01:23,780
‫tijd zal zijn die nodig is om naar het doel te gaan.

19
00:01:24,140 --> 00:01:29,030
‫Dus we zullen dat een vlotter laten zijn, wat bewegingstijd is.

20
00:01:29,830 --> 00:01:33,140
‫Ik ga dat instellen op een standaardwaarde van, laten we zeggen, 4 seconden.

21
00:01:33,440 --> 00:01:39,680
‫Nu, er is nog iets dat ik hier wil plaatsen, dat is een Boolean voor nu,

22
00:01:39,680 --> 00:01:47,000
‫die ons in staat zal stellen de beweging te activeren, zodat deze naar beneden gaat wanneer we deze Boolean activeren.

23
00:01:47,000 --> 00:01:52,700
‫Dus laten we weer een nieuwe eigenschap maken, waar dan ook bewerken, zodat we deze kunnen toevoegen, zelfs terwijl we aan het

24
00:01:52,700 --> 00:01:53,360
‫spelen zijn.

25
00:01:53,780 --> 00:02:00,860
‫Dit wordt een boolean die zegt dat het moet bewegen en standaard wordt het ingesteld op false.

26
00:02:01,220 --> 00:02:07,640
‫Dus als we dit in de editor afvinken, als we spelen, gaat het naar

27
00:02:07,640 --> 00:02:08,600
‫zijn doelverplaatsingsoffset.

28
00:02:08,780 --> 00:02:13,310
‫Vroeger, toen we een bewegend onderdeel hadden, deden we alle stappen handmatig.

29
00:02:13,310 --> 00:02:16,460
‫Maar ik wil je laten zien dat er eigenlijk wat functionaliteit is ingebouwd om te doen.

30
00:02:16,460 --> 00:02:23,330
‫Veel van de berekeningen die we nodig hebben, zijn ingebouwd in Unreal en er is ook een functie genaamd

31
00:02:23,330 --> 00:02:24,620
‫V interpret constant.

32
00:02:24,830 --> 00:02:28,460
‫En wat er interessant aan is, laten we eens kijken naar de opmerkingen.

33
00:02:28,460 --> 00:02:36,500
‫Dus interpoleer een vector van een huidige vector naar een doelvector met behulp van een constante stap.

34
00:02:36,890 --> 00:02:43,880
‫Dat betekent dat we na verloop van tijd met een bepaalde snelheid van stroom naar doel gaan, en dat zal hij

35
00:02:43,880 --> 00:02:47,300
‫constant doen, wat precies klinkt als wat we willen.

36
00:02:47,300 --> 00:02:52,160
‫We willen met een constante snelheid van onze huidige locatie naar een doeloffsetlocatie gaan.

37
00:02:52,760 --> 00:02:57,140
‫Nu kun je zien dat je de syntaxis voor deze functie hebt bekeken.

38
00:02:57,140 --> 00:02:59,990
‫Je kunt zien dat het een retourtype vector heeft.

39
00:02:59,990 --> 00:03:03,380
‫Dus dat is de nieuwe locatie die het interpoleert.

40
00:03:03,860 --> 00:03:06,590
‫Dan heeft hij twee ingangen.

41
00:03:06,590 --> 00:03:14,540
‫We hebben een huidige F-vector en maken ons voorlopig geen zorgen over de andere symbolen rond dit effect, het belangrijkste

42
00:03:14,810 --> 00:03:21,650
‫is dat het een huidige factor is en dan het doel dat we willen dat het

43
00:03:22,250 --> 00:03:31,460
‫uiteindelijk bereikt, dan heeft het de Delta tijd, dus het gebruikt dit om de framesnelheid van de beweging en de interpolatiesnelheid onafhankelijk te

44
00:03:31,460 --> 00:03:32,120
‫maken.

45
00:03:32,120 --> 00:03:37,040
‫Dus hoe snel moeten we van onze huidige locatie naar het doel gaan?

46
00:03:37,220 --> 00:03:45,500
‫Nu zul je merken dat het hier in de documentatie eigenlijk een sectie heeft met de tekst include en dit vertelt

47
00:03:45,500 --> 00:03:51,740
‫je de include-regel die je nodig hebt in je C++-bestand om deze functie te kunnen

48
00:03:51,740 --> 00:03:52,220
‫gebruiken.

49
00:03:52,220 --> 00:04:00,770
‫En zoals we in de vorige video hebben gezien, stelt de include-regel ons in staat om de definities uit dit specifieke

50
00:04:00,770 --> 00:04:02,240
‫bestand te kopiëren.

51
00:04:02,450 --> 00:04:05,930
‫En een van de definities is de definitie voor deze functie.

52
00:04:05,930 --> 00:04:13,220
‫Dus stelt ons in staat om deze V-onderscheppingsconstante te gebruiken om nu de V voor deze functie in feite betekent dat

53
00:04:13,220 --> 00:04:15,110
‫het interpolatie op vectoren uitvoert.

54
00:04:15,110 --> 00:04:20,660
‫Daarom wordt het v interpret genoemd, in tegenstelling tot andere interpolatiefuncties die ook beschikbaar zijn

55
00:04:20,930 --> 00:04:22,220
‫in dit bibliotheekbestand.

56
00:04:22,490 --> 00:04:24,080
‫Dus laten we eens kijken hoe we het zouden gebruiken.

57
00:04:24,080 --> 00:04:29,810
‫Allereerst gaan we de include-regel uit de documentatie kopiëren en gaan we naar onze move ACP

58
00:04:29,810 --> 00:04:34,280
‫waar we dit in de body van de tick-component willen implementeren.

59
00:04:34,700 --> 00:04:38,600
‫Maar ze omvatten die we niet opnemen in het lichaam van de teekcomponent.

60
00:04:38,600 --> 00:04:41,630
‫We moeten de include all bovenaan het bestand doen.

61
00:04:42,170 --> 00:04:44,180
‫Dus daar ga ik de mijne neerzetten.

62
00:04:44,190 --> 00:04:47,620
‫Ik ga de mijne na het opnemen van zet een punt h plaatsen.

63
00:04:47,630 --> 00:04:54,050
‫Dus we gaan een voorwaartse schuine streep voor wiskunde invoeren en opnemen, onwerkelijk wiskundehulpprogramma punt h.

64
00:04:54,830 --> 00:04:59,870
‫Wat we nu kunnen doen, is dat we de functie daadwerkelijk kunnen gebruiken in onze tick-component.

65
00:04:59,870 --> 00:05:03,780
‫Laten we gewoon de code die we al hebben verwijderen en compileren aanvinken.

66
00:05:04,020 --> 00:05:09,030
‫Omdat we dat gebruikten om te begrijpen hoe we functies op andere actoren moesten aanroepen.

67
00:05:10,230 --> 00:05:17,130
‫En wat we moeten doen is als je naar boven scrolt, je kunt zien dat de manier om dit te noemen is f math colon colon

68
00:05:17,130 --> 00:05:18,700
‫V in tap constant to.

69
00:05:18,750 --> 00:05:27,180
‫Dus we doen een soort dubbele punt-operator die in de F-wiskundeklasse kijkt, die

70
00:05:27,180 --> 00:05:29,880
‫al deze wiskundehulpprogramma's samenbrengt.

71
00:05:30,360 --> 00:05:33,110
‫Dus we gaan F wiskunde doen.

72
00:05:33,330 --> 00:05:34,220
‫Dikke darm.

73
00:05:35,430 --> 00:05:41,370
‫En hier kun je een heleboel automatisch aanvullen zien verschijnen voor verschillende wiskundige functies die zijn opgenomen in dat

74
00:05:41,370 --> 00:05:44,580
‫headerbestand dat we zojuist in dit bestand hebben opgenomen.

75
00:05:44,790 --> 00:05:47,960
‫Dus je kunt er doorheen kijken, zien of er interessante dingen in staan.

76
00:05:47,960 --> 00:05:55,580
‫Ik zie een heleboel interpolatie en circulaire interpolaties enz. maar we wilden de v-constante interpreteren.

77
00:05:55,990 --> 00:06:03,390
‫We kunnen op tab drukken om dat te voltooien en dan enkele haakjes openen en we kunnen de argumenten

78
00:06:03,390 --> 00:06:08,910
‫zien die we moeten doorgeven in de stroom, de doel-deltatijd en de onderscheppingssnelheid.

79
00:06:09,330 --> 00:06:13,620
‫Dus laten we beginnen met het maken van enkele variabelen om enkele van deze vast te houden.

80
00:06:14,310 --> 00:06:21,960
‫Dus allereerst hebben we een F-vector nodig, die onze huidige locatie wordt, en we gaan dat nog

81
00:06:21,960 --> 00:06:23,350
‫niet vastleggen.

82
00:06:23,370 --> 00:06:31,200
‫Dan hebben we een F-vector voor de doellocatie, en dan krijgen we een float voor de

83
00:06:31,200 --> 00:06:32,040
‫snelheid.

84
00:06:33,150 --> 00:06:38,070
‫En we zullen elk van deze afzonderlijk moeten berekenen om erachter te komen hoe we deze beweging kunnen laten

85
00:06:38,070 --> 00:06:38,460
‫plaatsvinden.

86
00:06:38,640 --> 00:06:42,390
‫Dus de huidige locatie zal relatief eenvoudig zijn.

87
00:06:42,420 --> 00:06:46,410
‫We hebben de huidige locatie van de eigenaar van de acteur nodig.

88
00:06:46,440 --> 00:06:47,130
‫Dus hoe doen we dat?

89
00:06:47,130 --> 00:06:50,070
‫Laten we deze puntkomma vervangen door een gelijkteken.

90
00:06:50,460 --> 00:06:56,230
‫Dan gaan we een paar haakjes halen die we gaan doen Arrow.

91
00:06:56,370 --> 00:07:05,280
‫Dus we gaan een functie aanroepen voor de eigenaar van de acteur, en we krijgen de locatie van de acteur en dan een paar haakjes

92
00:07:05,760 --> 00:07:08,310
‫en een puntkomma om het te beëindigen.

93
00:07:08,640 --> 00:07:12,330
‫Dus dat geeft ons de huidige locatie van de eigenaar van de acteur.

94
00:07:12,870 --> 00:07:14,790
‫Hoe zit het nu met onze doellocatie?

95
00:07:15,030 --> 00:07:18,390
‫We weten dat we een eigenschap hebben die de Move Offset heet.

96
00:07:18,780 --> 00:07:20,760
‫Dus dat zal hier aan de orde zijn.

97
00:07:21,120 --> 00:07:26,400
‫Maar we moeten wel de oorspronkelijke locatie toevoegen aan deze verplaatsingsoffset.

98
00:07:26,910 --> 00:07:32,580
‫Dus daarvoor moeten we de originele locatie vastleggen in het begin van het spel.

99
00:07:32,940 --> 00:07:34,830
‫We hebben dus een variabele winkel nodig in.

100
00:07:34,830 --> 00:07:35,940
‫Dus laten we naar ons leger gaan.

101
00:07:35,970 --> 00:07:38,970
‫H En het wordt nergens een bewerking.

102
00:07:38,970 --> 00:07:46,320
‫Dus ik ga het onder waarde-eigenschappen plaatsen, het wordt een F-vector genaamd originele locatie.

103
00:07:47,280 --> 00:07:50,360
‫We gaan het hier niet instellen op iets dat we in onze films gaan opnemen.

104
00:07:50,360 --> 00:07:57,630
‫CP Into Begin Play, verwijder deze commentaarregel en plaats onze eigen code, die zal zijn dat

105
00:07:58,290 --> 00:08:08,610
‫de originele locatie gelijk is om de haakjes van de eigenaar te krijgen pijl om de locatie van de acteur zo te krijgen.

106
00:08:08,850 --> 00:08:13,050
‫Dus nu we onze oorspronkelijke locatie hebben vastgelegd en beginnen met spelen, kunnen we deze in de techniek gebruiken.

107
00:08:13,380 --> 00:08:21,840
‫Dus ga naar het vinkje en we stellen onze doellocatie gelijk aan de oorspronkelijke locatie plus de verplaatsingsoffset.

108
00:08:21,840 --> 00:08:23,340
‫Dus dat is onze doellocatie.

109
00:08:23,880 --> 00:08:29,550
‫En ten slotte, met snelheid, nou, dit is in wezen de afstand die we moeten afleggen gedeeld door

110
00:08:29,550 --> 00:08:32,550
‫de tijd die we nodig hebben om te bewegen.

111
00:08:32,580 --> 00:08:38,760
‫Dus als we een doellocatie hebben en we hebben een originele locatie, moeten we

112
00:08:38,760 --> 00:08:44,970
‫de afstand tussen deze twee vinden, wat we kunnen doen met een f vectorkolom, dubbele puntafstand.

113
00:08:45,300 --> 00:08:54,450
‫Dan gaan we naar de haakjes, de oorspronkelijke locatie en de doellocatie.

114
00:08:55,050 --> 00:08:58,230
‫Dus dat geeft ons de afstand tussen deze twee vectoren.

115
00:08:58,230 --> 00:09:05,130
‫En dan gaan we dat delen door wat we hadden en verhuizen, de verhuistijd genoemd.

116
00:09:05,850 --> 00:09:08,700
‫Dus dat geeft ons de snelheid waarmee we zouden moeten bewegen.

117
00:09:09,360 --> 00:09:13,650
‫En nu kunnen we deze gebruiken als argumenten om onze V-constante te onderscheppen.

118
00:09:14,070 --> 00:09:20,430
‫Dus we moeten eerst de huidige locatie geven en dan de doellocatie.

119
00:09:21,210 --> 00:09:27,180
‫Dan gaan we vertellen dat het de Delta-tijd is, die gewoon al een parameter is in de tick-component.

120
00:09:27,180 --> 00:09:28,530
‫Daar moeten we dus gewoon doorheen.

121
00:09:29,580 --> 00:09:31,800
‫En dan hebben we nog de onderscheppingssnelheid.

122
00:09:31,890 --> 00:09:36,570
‫Dus we gaan gewoon de snelheid doorgeven, zoals een puntkomma aan het einde van die regel.

123
00:09:37,230 --> 00:09:40,350
‫En dit is in wezen de nieuwe locatie.

124
00:09:40,350 --> 00:09:49,110
‫Dus laten we dat opslaan in een nieuwe variabele vector genaamd nieuwe locatie gelijk hieraan.

125
00:09:49,530 --> 00:09:49,890
‫Stoer.

126
00:09:50,520 --> 00:09:54,270
‫Nu moeten we iets doen met die nieuwe locatie, want het heeft geen zin om het

127
00:09:54,280 --> 00:09:57,720
‫gewoon te hebben berekend, we moeten de acteur eigenlijk naar de nieuwe locatie verplaatsen.

128
00:09:58,380 --> 00:09:59,320
‫Dus dat gaan we doen.

129
00:09:59,340 --> 00:10:03,690
‫We gaan het op 'krijg eigenaar' roepen, zodat we 'eigen' kunnen doen.

130
00:10:04,730 --> 00:10:06,380
‫Haakjes Pijl.

131
00:10:06,770 --> 00:10:15,590
‫En dan gaan we een vaste acteurslocatie doen en we gaan de nieuwe locatie zo passeren en hebben een puntkomma aan het

132
00:10:15,590 --> 00:10:17,510
‫einde van de regel.

133
00:10:18,110 --> 00:10:20,720
‫Dus laten we doorgaan en dit compileren en kijken of het werkt.

134
00:10:21,080 --> 00:10:24,470
‫Dus als we naar de kerker gaan, selecteer dan de muur die we willen verplaatsen.

135
00:10:24,500 --> 00:10:30,530
‫Je kunt nu zien dat de verhuizer-component een verplaatsings-offset heeft, die ik in de Z-richting

136
00:10:30,530 --> 00:10:35,150
‫wil doen, en ik denk dat ik -600 ga doen.

137
00:10:36,050 --> 00:10:38,780
‫En dan zou de verplaatsingstijd, 4 seconden, prima moeten zijn.

138
00:10:38,930 --> 00:10:42,860
‫Dus laten we dat opslaan en dan op play drukken en kijken of het beweegt.

139
00:10:43,130 --> 00:10:43,960
‫Het beweegt dus niet.

140
00:10:44,000 --> 00:10:49,790
‫En er is een fout in het uitvoerlogboek waarin staat dat de mobiliteit van de actor op statisch is ingesteld, en daarom kan

141
00:10:50,090 --> 00:10:51,110
‫hij niet bewegen.

142
00:10:51,470 --> 00:10:59,720
‫Dus als we de actor opnieuw selecteren en we kijken naar zijn mobiliteitsinstellingen, kun je zien dat de mobiliteitsinstellingen van de statische mesh-component,

143
00:10:59,720 --> 00:11:03,890
‫dus selecteer de statische mesh-component en kijk dan naar de mobiliteit.

144
00:11:03,890 --> 00:11:05,600
‫U kunt zien dat het is ingesteld op statische exemplaren.

145
00:11:05,630 --> 00:11:06,470
‫Het is niet toegestaan om te verhuizen.

146
00:11:06,850 --> 00:11:09,980
‫Laten we dat overschakelen naar verplaatsbaar, want we willen dat het beweegt.

147
00:11:10,370 --> 00:11:11,750
‫En laten we dan doorgaan en op play drukken.

148
00:11:11,990 --> 00:11:18,120
‫Nu kun je in de duisternis zien dat de oorlog ten einde liep, wat perfect is.

149
00:11:18,170 --> 00:11:23,470
‫Ik denk dat we ergens anders een beweging hebben, zoals te zien is op deze pilaar hier, die ook probeert te bewegen.

150
00:11:23,480 --> 00:11:24,470
‫Laten we dat dus niet doen.

151
00:11:24,740 --> 00:11:28,810
‫Laten we de verhuizing verwijderen, een onderdeel dat we daar hebben toegevoegd om te testen.

152
00:11:29,690 --> 00:11:32,480
‫En het zou ons geen fouten in het uitvoerlogboek moeten geven.

153
00:11:32,480 --> 00:11:38,270
‫Als we nu doorgaan met de hit, zouden we die muur gewoon naar zijn doellocatie moeten laten zakken.

154
00:11:38,480 --> 00:11:42,850
‫Dus laten we je uitdagen om het te laten bewegen met de boolean die we hebben gemaakt die je bezit.

155
00:11:42,860 --> 00:11:48,710
‫Dus je gaat de code in een geschikt if-statement en de juiste code inpakken, zodat het

156
00:11:48,710 --> 00:11:52,460
‫platform alleen wordt verplaatst als die Boolean waar is.

157
00:11:53,090 --> 00:11:58,490
‫En dan ga je de code opnieuw compileren en een eject spelen met F acht en dan de boolean veranderen

158
00:11:58,490 --> 00:12:02,390
‫en de plat observeren en kijken of deze beweegt als je die boolean controleert.

159
00:12:02,390 --> 00:12:04,160
‫Dus pauzeer de video en probeer het.

160
00:12:07,290 --> 00:12:07,710
‫Oké.

161
00:12:07,710 --> 00:12:08,430
‫Welkom terug.

162
00:12:08,460 --> 00:12:14,790
‫Dus laten we deze technische componenten in een if-statement stoppen, niet super, maar al het andere dat we gaan

163
00:12:14,790 --> 00:12:15,300
‫doen.

164
00:12:15,300 --> 00:12:24,390
‫If zou enkele haakjes moeten verplaatsen en openen en al deze code moeten verplaatsen door te onthouden dat het één niveau moet inspringen omdat we tussen haakjes

165
00:12:24,390 --> 00:12:29,160
‫staan en we willen laten zien dat dit alleen binnen de if-instructie zou worden

166
00:12:29,160 --> 00:12:29,550
‫uitgevoerd.

167
00:12:29,550 --> 00:12:36,450
‫Maak het ons gemakkelijk om de besturing van alle Taft-elf-compilaties te lezen en dan zouden we in staat moeten zijn om op play

168
00:12:36,450 --> 00:12:42,060
‫te drukken en op F8 te drukken om uit te werpen als we onze muis hebben gevangen.

169
00:12:42,720 --> 00:12:49,110
‫En dan gaan we naar binnen om onze omtrek te bekijken en we gaan proberen de muur te vinden.

170
00:12:49,410 --> 00:12:56,310
‫Of we kunnen gewoon in de scène klikken en dan gaan we een component verplaatsen selecteren en controleren of ze moeten

171
00:12:56,310 --> 00:13:00,300
‫bewegen en ze gaan, de muur begint te bewegen wanneer dat gebeurt.

172
00:13:00,570 --> 00:13:01,290
‫Goed spul.

173
00:13:01,290 --> 00:13:03,330
‫Ik zie je in de volgende lezing.

