﻿1
00:00:04,390 --> 00:00:05,560
‫Hallo en welkom.

2
00:00:05,560 --> 00:00:11,230
‫In deze lezing gaan we zowel roterende als bewegende platforms maken.

3
00:00:11,230 --> 00:00:17,560
‫We gaan dit doen door meer te weten te komen over het F-rotatortype in C++, zodat we iets meer

4
00:00:17,560 --> 00:00:20,950
‫van een ander element aan onze puzzel kunnen toevoegen.

5
00:00:20,950 --> 00:00:23,950
‫Laten we erin duiken en ontdekken hoe dit werkt.

6
00:00:24,280 --> 00:00:28,300
‫Laten we het dus hebben over het invullen van onze roteerplatformfunctie.

7
00:00:28,510 --> 00:00:34,930
‫Dus om rotatie te doen, lijkt het erg op de manier waarop we locatie doen en we hebben vergelijkbare

8
00:00:34,930 --> 00:00:35,350
‫functies.

9
00:00:35,350 --> 00:00:43,240
‫We kunnen bellen in plaats van bellen, de locatie van de acteur krijgen, we kunnen bellen, in plaats daarvan acteursrotatie krijgen.

10
00:00:43,240 --> 00:00:49,270
‫En als ik haakjes aan het einde van deze regel zet en gewoon over de

11
00:00:49,270 --> 00:00:55,630
‫functie zweef, dan laat Visual Studio IntelliSense ons zien dat de geretourneerde waarde hiervan een F-rotator is.

12
00:00:55,630 --> 00:01:02,110
‫We hebben de F-vector gebruikt bij het werken met locaties en we hebben in de vorige secties over

13
00:01:02,110 --> 00:01:02,830
‫rotators gesproken.

14
00:01:02,830 --> 00:01:07,090
‫Laten we dus eens kijken hoe we deze F-rotator in een lokale variabele kunnen plaatsen.

15
00:01:07,090 --> 00:01:14,920
‫Dus het type wordt F rotator en we gaan dit de huidige rotatie noemen die gelijk is aan de get actor rotatie, zet

16
00:01:14,920 --> 00:01:17,680
‫een puntkomma aan het einde van de regel.

17
00:01:17,680 --> 00:01:20,260
‫Ik ga ook de logverklaring verwijderen omdat we die niet langer nodig hebben.

18
00:01:20,260 --> 00:01:25,450
‫En wat we dan willen doen is in wezen precies hetzelfde als wat we

19
00:01:25,450 --> 00:01:31,810
‫hebben gedaan met de platformsnelheid, wat een soort rotatiesnelheid is vermenigvuldigd met de deltatijd toegevoegd aan de huidige rotatie.

20
00:01:31,810 --> 00:01:35,470
‫Dus wat moet die rotatiesnelheid zijn?

21
00:01:35,470 --> 00:01:39,520
‫Welnu, dat is waar we naar het headerbestand willen gaan en een nieuwe U-eigenschap willen toevoegen.

22
00:01:39,520 --> 00:01:48,760
‫Dus ik ga het toevoegen onder de verplaatsingsafstand en ik zal een U-eigenschap overal laten bewerken en het dan een categorie geven

23
00:01:49,300 --> 00:01:55,900
‫die gelijk is aan deze keer. Ik ga het rotatie noemen en ik ga de

24
00:01:55,900 --> 00:02:00,100
‫categorienaam van bewegend platform naar bewegend in beide gevallen.

25
00:02:00,100 --> 00:02:03,850
‫We krijgen dus een categorie voor verplaatsen, een categorie voor rotatie.

26
00:02:03,850 --> 00:02:11,800
‫Dan gaan we onder de eigenschap een F-rotator plaatsen met de naam rotatiesnelheid en we gaan het hier geen standaardwaarde

27
00:02:11,800 --> 00:02:16,780
‫geven omdat ik standaard niet wil dat een van onze platforms draait.

28
00:02:16,780 --> 00:02:21,190
‫Dus de standaardwaarde wordt 000, en dat is precies wat we nodig hebben.

29
00:02:21,280 --> 00:02:26,470
‫Dus ik ga hier een puntkomma aan het einde van de regel plaatsen en nu

30
00:02:26,470 --> 00:02:31,330
‫kunnen we teruggaan naar het C++-bestand en die lidvariabele gebruiken in onze roteerplatformfunctie.

31
00:02:31,330 --> 00:02:42,610
‫Dus wat we willen doen is huidige rotatie gelijk aan de huidige rotatie plus rotatiesnelheid vermenigvuldigd met Delta-tijd en een puntkomma

32
00:02:42,610 --> 00:02:46,750
‫aan het einde van de regel plaatsen.

33
00:02:46,900 --> 00:02:52,660
‫En nu is het laatste stukje van de puzzel om onze acteur op die nieuwe rotatie te zetten.

34
00:02:52,660 --> 00:02:58,300
‫Dus precies zoals je zou verwachten, misschien een kleine mini-uitdaging voor jou, in feite, is hoe zou je verder

35
00:02:58,300 --> 00:03:00,130
‫gaan en dat zelf doen?

36
00:03:01,970 --> 00:03:10,430
‫Welnu, wat we zouden gebruiken is de rotatiefunctie van de set-acteur en we zouden een argument van huidige rotatie doorgeven

37
00:03:10,430 --> 00:03:14,930
‫en een puntkomma aan het einde van de regel plaatsen.

38
00:03:14,960 --> 00:03:19,160
‫Nu werkt het helaas niet zo eenvoudig als dit.

39
00:03:19,310 --> 00:03:22,190
‫Het is me opgevallen, hebben sommige studenten opgemerkt in de onderwijsassistent.

40
00:03:22,190 --> 00:03:27,920
‫Dan, heel erg bedankt, heeft erop gewezen dat alleen het optellen van rotaties op deze manier niet altijd

41
00:03:27,920 --> 00:03:32,710
‫zal werken vanwege enkele van de complicaties rond rotaties die om zichzelf heen wikkelen.

42
00:03:32,720 --> 00:03:38,870
‫Als je helemaal naar -90 graden rotatie gaat, moet je op een gegeven moment overschakelen naar plus

43
00:03:38,870 --> 00:03:41,070
‫90 graden rotatie, enzovoort, enzovoort.

44
00:03:41,090 --> 00:03:49,580
‫Dus een betere manier om dit te omzeilen, in plaats van de actieve rotatie in te stellen, is om lokale rotatie toe te voegen aan

45
00:03:49,580 --> 00:03:50,540
‫de actor.

46
00:03:50,540 --> 00:03:57,110
‫En je kunt hier opmerken dat er ook een paar lokale transformaties van acteurs zijn en lokale offset die voor

47
00:03:57,110 --> 00:03:57,830
‫locatie zijn.

48
00:03:57,830 --> 00:04:00,920
‫Dus je kunt dat ook gebruiken in plaats van een locatie toe te voegen.

49
00:04:00,920 --> 00:04:05,840
‫Er zijn echter niet dezelfde problemen die we zullen tegenkomen in de edge-cases rond

50
00:04:05,840 --> 00:04:06,380
‫rotatie.

51
00:04:06,380 --> 00:04:12,800
‫Dus wat ik je zou aanraden is om hier lokale rotatie van de actor toe te voegen en dan

52
00:04:12,800 --> 00:04:19,670
‫voer je gewoon de rotatiesnelheid in vermenigvuldigd met de Delta-tijd in en het doet de rest van deze code automatisch voor je.

53
00:04:19,670 --> 00:04:22,100
‫Dus we kunnen gewoon doorgaan en die lijnen wegwerken.

54
00:04:22,100 --> 00:04:27,560
‫En je hebt een directe toevoeging aan de lokale rotatie die hier gaande is, en je kunt dit ook verwijderen

55
00:04:27,560 --> 00:04:31,670
‫door de huidige rotatie te krijgen, omdat we dat ook niet langer nodig hebben.

56
00:04:31,850 --> 00:04:35,450
‫Dus laten we naar de editor gaan en op de compileerknop drukken.

57
00:04:35,450 --> 00:04:37,520
‫En als dat klaar is, sluit je het logboek.

58
00:04:37,640 --> 00:04:42,530
‫Laten we een van de platforms selecteren in het niveau dat ze zullen doen en de categorieën bekijken.

59
00:04:42,530 --> 00:04:46,970
‫Dus we hebben beweging en we hebben rotatie en we hebben dan de rotatiesnelheid.

60
00:04:46,970 --> 00:04:54,890
‫Dus ik wil dit platform rond zijn Z-as draaien met waarschijnlijk laten we zeggen ongeveer 90 graden per seconde.

61
00:04:54,890 --> 00:04:57,920
‫Het duurt dus 4 seconden om een volledige rotatie te doen.

62
00:04:57,950 --> 00:04:59,990
‫Laten we doorgaan en op play drukken.

63
00:04:59,990 --> 00:05:00,620
‫En daar ga je.

64
00:05:00,620 --> 00:05:03,590
‫We hebben een roterend en bewegend platform.

65
00:05:03,590 --> 00:05:11,270
‫Dus in tegenstelling tot het mechanisme van het bewegende platform, hoeven we ons geen zorgen te maken dat ons roterende platform daadwerkelijk

66
00:05:11,270 --> 00:05:13,040
‫heen en weer gaat.

67
00:05:13,040 --> 00:05:16,310
‫Als je wilt dat het dat doet, is dat een mogelijke extensie die je kunt bedenken.

68
00:05:16,310 --> 00:05:22,400
‫Maar voor mij is dat genoeg, want we willen gewoon dat deze dingen in dezelfde richting

69
00:05:22,400 --> 00:05:23,420
‫blijven draaien.

70
00:05:23,630 --> 00:05:29,270
‫Dus laat me de rotatie van dit specifieke platform verwijderen omdat we niet willen dat dit

71
00:05:29,270 --> 00:05:30,200
‫platform roteert.

72
00:05:30,200 --> 00:05:37,640
‫Dus ik daag je graag uit om een piepend roterend platform te maken, eigenlijk nog een andere variant voor ons om te

73
00:05:37,640 --> 00:05:40,220
‫gebruiken en een geschikt gaas te vinden.

74
00:05:40,220 --> 00:05:45,980
‫Ik zou gaan voor iets dat vaag cirkelvormig is, zodat het logisch is als een roterend platform

75
00:05:45,980 --> 00:05:52,640
‫en het een standaard rotatiesnelheid geeft en het in het niveau plaatst om een beetje een draaiende platformpuzzel te creëren

76
00:05:52,640 --> 00:05:54,380
‫waar je overheen kunt komen.

77
00:05:54,380 --> 00:05:56,300
‫Pauzeer de video en probeer het.

78
00:05:59,400 --> 00:05:59,700
‫Oké.

79
00:05:59,700 --> 00:06:00,660
‫Welkom terug.

80
00:06:00,690 --> 00:06:08,610
‫Dus we gaan verder in onze inhoudlade en gaan op zoek naar de C++-klassen, Obstacle Assault en klik met de

81
00:06:08,610 --> 00:06:14,270
‫rechtermuisknop op het bewegende platform om een blauwdrukklasse-apparaat te maken dat hiervan is afgeleid.

82
00:06:14,280 --> 00:06:21,060
‫We gaan het het BP-onderstrepingsrotatieplatform noemen en we gaan het in de route van inhoud

83
00:06:21,060 --> 00:06:23,430
‫plaatsen en een blauwdrukklasse maken.

84
00:06:23,430 --> 00:06:27,180
‫Zodra de editor verschijnt, laten we deze koppelen aan ons hoofdvenster.

85
00:06:27,180 --> 00:06:33,180
‫Ik ga mijn inhoudbrowser sluiten die elke keer lijkt te willen verschijnen, en ik

86
00:06:33,180 --> 00:06:39,390
‫ga naar ons hoofdniveau en ga naar het eiland met al onze testmiddelen op rechts klikken.

87
00:06:40,260 --> 00:06:44,490
‫Ga hierheen en laten we eens kijken of er iets is dat er goed uitziet.

88
00:06:44,490 --> 00:06:48,600
‫Ik hou van het uiterlijk van deze platforms hier.

89
00:06:48,600 --> 00:06:55,710
‫Als ik er met de rechtermuisknop op klik of er gewoon op klik, dan is de mesh die hier in de statische

90
00:06:55,740 --> 00:06:59,760
‫mesh wordt gebruikt SM-platform A. Dus laten we daar naar zoeken.

91
00:06:59,760 --> 00:07:07,620
‫Laten we naar onze blauwdrukken gaan, de inhoud openen, tekenen, naar alles gaan en dan zoeken naar platform

92
00:07:07,620 --> 00:07:14,710
‫underscore M, underscore A en dan hebben we de mesh, en dat is deze hier.

93
00:07:15,270 --> 00:07:16,890
‫Tweede voor mij.

94
00:07:16,980 --> 00:07:21,480
‫Ik ga het naar onze viewport slepen om ons platform te hebben.

95
00:07:21,480 --> 00:07:24,090
‫Laten we nu eens kijken waar dit gecentreerd is.

96
00:07:24,090 --> 00:07:25,860
‫Is het gecentreerd in het midden?

97
00:07:25,860 --> 00:07:30,840
‫Ja, dat is het, wat goed en belangrijk is omdat we het nodig hebben om rond het midden te draaien.

98
00:07:30,840 --> 00:07:34,560
‫Anders gaat dit cirkelvormige platform er een beetje vreemd uitzien.

99
00:07:34,770 --> 00:07:43,680
‫We kunnen het ook een beetje opschalen in de x- en Y-dimensies om dit platform een beetje groter te maken en we kunnen naar

100
00:07:43,680 --> 00:07:51,180
‫de standaardinstellingen van de klas gaan om elke platformsnelheid te verwijderen omdat we niet willen dat het beweegt en de verplaatsingsafstand

101
00:07:51,360 --> 00:07:57,480
‫instellen potentieel op nul zetten en dan naar het rotatiegedeelte kijken en dat ongeveer goed instellen,

102
00:07:57,480 --> 00:08:01,440
‫we probeerden 90 graden per seconde en dat leek redelijk.

103
00:08:01,440 --> 00:08:04,050
‫Dus laten we doorgaan en dit roterende platform redden.

104
00:08:04,170 --> 00:08:12,270
‫We gaan naar ons hoofdniveau en klik dan met de rechtermuisknop op het kleine drijvende eiland waar we ons niveau hebben om onze puzzel

105
00:08:12,270 --> 00:08:14,360
‫op te zetten, klik, ga hierheen.

106
00:08:14,880 --> 00:08:21,930
‫Dan wil ik op dit eiland onze nieuwe blauwdruk neerzetten.

107
00:08:21,930 --> 00:08:28,050
‫Dus laten we de zoekopdracht annuleren, naar de hoofdmap van de inhoud gaan en ons roterende platform vinden en het in het niveau

108
00:08:28,050 --> 00:08:28,410
‫plaatsen.

109
00:08:28,410 --> 00:08:31,050
‫En meteen zie ik dat ik het eigenlijk een beetje groter wil hebben.

110
00:08:31,200 --> 00:08:33,630
‫Dus laten we doorgaan en het opschalen.

111
00:08:33,630 --> 00:08:37,500
‫Nog een paar eenheden, misschien drie keer zou goed moeten zijn.

112
00:08:37,500 --> 00:08:38,850
‫Laten we gaan kijken.

113
00:08:38,850 --> 00:08:44,940
‫Nu, ik denk dat het nog groter zou kunnen zijn, dus ik ga een beetje meer opschalen, zodat het in wezen in

114
00:08:44,940 --> 00:08:48,630
‫de X en Y vijf keer groter is dan het oorspronkelijk was.

115
00:08:48,660 --> 00:08:54,330
‫Oké, dat is een mooie brede roterende schijf en het kan voor ons een hele uitdaging zijn om over te steken.

116
00:08:54,330 --> 00:09:02,190
‫Dus ik ga deze dupliceren met alt en sleep om er een paar over het platform te maken en probeer

117
00:09:02,190 --> 00:09:07,860
‫ze op de juiste manier te plaatsen en dan nog een paar alt-slepen.

118
00:09:08,550 --> 00:09:14,320
‫Zodat we hier een leuke set puzzels hebben om te proberen over te komen.

119
00:09:14,340 --> 00:09:18,570
‫Dus wiebelde ze gewoon een beetje totdat ik ze vrijwel van rand tot rand kon krijgen.

120
00:09:18,570 --> 00:09:24,540
‫En hier is waar het hebben van een spelmodus echt helpt, omdat we met de rechtermuisknop in de buurt van de

121
00:09:24,540 --> 00:09:30,450
‫platforms kunnen klikken en vanaf hier kunnen klikken, en hier zijn al onze roterende platforms waarop we kunnen stappen.

122
00:09:30,450 --> 00:09:37,620
‫En het is nu een beetje een uitdaging voor ons om onze weg over deze bewegende platforms leuk en gemakkelijk te vinden.

123
00:09:37,620 --> 00:09:41,370
‫Nu is er een dode zone in het midden die we zouden kunnen proberen uit te

124
00:09:41,370 --> 00:09:47,190
‫wissen, maar het is eigenlijk best moeilijk om in de dode zone te komen en te blijven, dus ik ga niet proberen om daar iets specifieks

125
00:09:47,190 --> 00:09:48,930
‫in te stoppen om dat te stoppen.

126
00:09:49,350 --> 00:09:50,280
‫Maar je kunt zien, daar ga je.

127
00:09:50,280 --> 00:09:55,080
‫Het is een haalbare uitdaging die we kunnen aangaan, maar het is een beetje lastig en dat is leuk.

128
00:09:55,080 --> 00:09:55,590
‫Goed spul.

129
00:09:55,590 --> 00:10:01,270
‫Dus in deze lezing hebben we gezien hoe we roterende platforms kunnen maken door te leren over een nieuw type, de

130
00:10:01,290 --> 00:10:05,940
‫F rotator, en hoe we deze kunnen gebruiken om de rotatie van onze acteurs in te stellen.

131
00:10:05,940 --> 00:10:07,530
‫Ik zie je in de volgende lezing.

