﻿1
00:00:04,470 --> 00:00:05,240
‫Hallo en welkom.

2
00:00:05,250 --> 00:00:10,800
‫In deze lezing laten we je kennismaken met een nieuw onderdeel van de animatieblauwdruk, een

3
00:00:10,800 --> 00:00:11,310
‫toestandsmachine.

4
00:00:11,310 --> 00:00:12,570
‫Zeer nuttig onderdeel ervan.

5
00:00:12,870 --> 00:00:18,960
‫En wat ons toestaat te doen, is dat als we hier een Booleaanse schakelaar raken, het ons in staat zal stellen over te gaan

6
00:00:18,960 --> 00:00:22,560
‫naar een springende staat en dan terug naar beneden om geaard te zijn.

7
00:00:22,800 --> 00:00:26,820
‫Laten we eens kijken hoe dit allemaal werkt en hoe we dit voor onszelf kunnen creëren.

8
00:00:28,020 --> 00:00:28,260
‫Oké.

9
00:00:28,260 --> 00:00:33,420
‫We hebben dus echt raar gedrag als we springen, wat alleen maar betekent dat we in de

10
00:00:33,420 --> 00:00:35,970
‫lucht rennen, wat natuurlijk niet erg goed uitziet.

11
00:00:36,600 --> 00:00:41,700
‫Om dit op te lossen, moeten we leren over een geheel nieuw animatieconcept, een

12
00:00:41,700 --> 00:00:42,390
‫animatiestatusmachine.

13
00:00:42,600 --> 00:00:47,190
‫Dus dit hoort thuis in de animatieblauwdruk, dus ga je gang en laat dat aanzetten als je het nog

14
00:00:47,190 --> 00:00:48,060
‫niet hebt geactiveerd.

15
00:00:48,660 --> 00:00:55,050
‫En verder in de animatiegrafiek, tot nu toe, is alles wat we in de grafiek hebben gedaan via deze knooppunten

16
00:00:55,050 --> 00:00:55,500
‫hier.

17
00:00:55,980 --> 00:01:00,780
‫Wat ik je nu wil laten zien, is hoe we iets nieuws kunnen toevoegen, iets dat een toestandsmachine wordt genoemd.

18
00:01:01,230 --> 00:01:07,050
‫We gaan met de rechtermuisknop klikken en dit staat in de animatiegrafiek en we gaan op zoek naar een toestandsmachine.

19
00:01:07,050 --> 00:01:11,580
‫En je kunt zien dat deze advertentie, nieuwe staatsmachine hier een optie is.

20
00:01:11,610 --> 00:01:15,150
‫Nu wil ik je laten zien dat er ook een andere manier is om dit te doen.

21
00:01:15,480 --> 00:01:17,860
‫Als je met de rechtermuisknop helemaal terug klikt.

22
00:01:17,880 --> 00:01:24,690
‫Dus als we met de rechtermuisknop in de animatiegrafiek klikken en zoeken naar een nieuwe toestandsmachine, dan hebben we deze optie.

23
00:01:24,690 --> 00:01:31,230
‫Hier klikken we op, het maakt een nieuw knooppunt aan en je kunt zien dat dat knooppunt een enkele uitvoerpin

24
00:01:31,830 --> 00:01:37,860
‫van een animatie-PO heeft en in het linkerdeelvenster in de Mijn blauwdruk, het heeft deze nieuwe toestandsmachine gemaakt

25
00:01:37,860 --> 00:01:39,060
‫onder onze animatiegrafiek.

26
00:01:39,420 --> 00:01:45,510
‫Dus als u dubbelklikt op de nieuwe toestandsmachine of in de animatiegrafiek klikt, ziet u dat u

27
00:01:45,510 --> 00:01:47,520
‫naar dit nieuwe venster gaat.

28
00:01:47,700 --> 00:01:48,870
‫Het is dus nog iets anders.

29
00:01:48,870 --> 00:01:53,580
‫We hebben een animatiegrafiek, onze gebeurtenisgrafiek, en nu hebben we deze toestandsmachinegrafiek.

30
00:01:54,540 --> 00:01:55,950
‫We kunnen dat eigenlijk hernoemen.

31
00:01:55,950 --> 00:02:01,710
‫Dus we kunnen onze staatsmachine een betere naam geven door erop te klikken in de mijnblauwdrukken en op F-2 te drukken.

32
00:02:01,710 --> 00:02:05,700
‫En we kunnen het voortbeweging noemen, want dit gaat allemaal over voortbeweging.

33
00:02:05,700 --> 00:02:07,630
‫En wat doet een staatsmachine dan?

34
00:02:07,680 --> 00:02:11,820
‫Nou, een staatsmachine is op zijn eenvoudigst, het is een set van als je met de rechtermuisknop klikt.

35
00:02:11,820 --> 00:02:13,950
‫In feite kun je zien dat er hier een aantal opties zijn.

36
00:02:14,310 --> 00:02:15,660
‫Er is een opmerking, er is een kanaal.

37
00:02:15,660 --> 00:02:19,920
‫Maar het belangrijkste is dat staten een machine vol staten zijn.

38
00:02:19,920 --> 00:02:22,810
‫En ik kan hier een paar staten aan toevoegen om je een idee te geven.

39
00:02:22,820 --> 00:02:24,830
‫Dus we hebben ook staat om één staat te verklaren.

40
00:02:25,440 --> 00:02:29,610
‫En als je dan van deze rand af sleept, ontstaat er iets dat een overgang wordt genoemd.

41
00:02:29,610 --> 00:02:32,250
‫Dus we kunnen een overgang tussen staten creëren.

42
00:02:32,910 --> 00:02:38,460
‫En we hebben deze vermelding, Penn, die ons in feite vertelt waar we moeten beginnen.

43
00:02:39,090 --> 00:02:40,800
‫Oké, dus laten we een klein stapje terug doen.

44
00:02:40,800 --> 00:02:42,060
‫Wat betekent dit allemaal?

45
00:02:43,050 --> 00:02:49,080
‫Welnu, in elke gegeven staat, als je erop dubbelklikt, kun je zien dat er een output-pin is en

46
00:02:49,080 --> 00:02:55,230
‫die output-pin kan op dezelfde manier worden gebruikt als onze animatiegrafiek kan worden gebruikt om een animatie-pose op te bouwen.

47
00:02:55,380 --> 00:03:00,030
‫Dus in zijn eenvoudigste vorm, zouden we kunnen besluiten om hier een animatie in te plakken.

48
00:03:00,150 --> 00:03:03,330
‫Selecteer dus bijvoorbeeld een oude speelbaarheid van animaties.

49
00:03:03,660 --> 00:03:09,240
‫En dat is de animatie die wordt afgespeeld als de toestandsmachine zich in een bepaalde toestand bevindt.

50
00:03:09,990 --> 00:03:11,780
‫Hoe komen we nu in een bepaalde staat?

51
00:03:11,790 --> 00:03:15,000
‫Welnu, we kunnen in een bepaalde staat komen omdat ons toegangsknooppunt ernaar verwijst.

52
00:03:15,000 --> 00:03:16,670
‫En dat is dus de standaardstatus.

53
00:03:16,680 --> 00:03:17,790
‫Daar beginnen we mee.

54
00:03:18,360 --> 00:03:21,720
‫Maar dan kunnen we misschien ook via een reeks overgangen in een toestand komen.

55
00:03:22,410 --> 00:03:27,120
‫Dus de overgangen hebben elk eigenschappen, je kunt dubbelklikken op een overgang en je kunt

56
00:03:27,120 --> 00:03:32,280
‫dat weer zien, we krijgen dit knooppunt in zijn pop-up en we kunnen een soort booleaanse eigenschap hebben.

57
00:03:32,280 --> 00:03:38,820
‫Dus ik weet het niet, we zouden iets kunnen hebben als dood is, we kunnen dood krijgen, we kunnen dat hier inblazen en

58
00:03:39,120 --> 00:03:41,610
‫nu is elke keer dat dood is waar.

59
00:03:41,940 --> 00:03:48,060
‫We gaan de overgang maken als we in deze oorspronkelijke staat zijn, als we dood zijn, dan maken we de overgang

60
00:03:48,060 --> 00:03:52,140
‫naar staat één en we beginnen de animatie af te spelen in staat één.

61
00:03:52,140 --> 00:03:57,810
‫En als de overgangen van Staat één waar zijn, om welke reden dan ook, kunnen we de overgang naar

62
00:03:57,810 --> 00:03:58,860
‫Staat twee maken.

63
00:03:59,550 --> 00:04:05,640
‫Oké, dus dit is allemaal heel goed en wel in theorie, maar hoe helpt dit ons in de praktijk met hardlopen?

64
00:04:06,360 --> 00:04:10,830
‫We willen bijvoorbeeld een staat die zegt gegrond.

65
00:04:11,790 --> 00:04:16,370
‫En in de geaarde staten gaan we onze grondbeweging spelen.

66
00:04:16,380 --> 00:04:24,720
‫Dus als we teruggaan naar de animatiegrafiek, wat geaarde voortbeweging is, is eigenlijk alles hier vóór de

67
00:04:24,720 --> 00:04:30,660
‫wij en inactieve gevechtscompensatie, er is deze voortbewegingsmengruimten, ik grond het offset.

68
00:04:30,660 --> 00:04:39,240
‫Dus ik ga de knooppunten hier doorknippen, ga en sluit mijn voortbewegingstoestandsmachine aan om door te gaan naar ons doel offset dat

69
00:04:39,240 --> 00:04:44,880
‫ik naar de voortbewegingstoestandsmachine ga, ga naar de geaarde toestand en plak die knooppunten

70
00:04:44,880 --> 00:04:48,390
‫hier en sluit ze aan op het uitvoerpaneel.

71
00:04:48,870 --> 00:04:52,380
‫Dus laten we volgen wat er hier gebeurt op het niveau van de animatiegrafiek.

72
00:04:53,130 --> 00:04:58,080
‫Allereerst gebruiken we de animatie-locomotion-statusmachine.

73
00:04:58,620 --> 00:05:04,320
‫En omdat ik dit niet heb aangesloten, maar omdat de ingangspin naar de geaarde staat wijst, zijn we automatisch in de

74
00:05:04,320 --> 00:05:08,430
‫geaarde staat, het gaat daar naar binnen, zoek uit, oké, we hebben een mengruimte, we

75
00:05:08,430 --> 00:05:12,090
‫mengen dat met behulp van onze variabelen, dan voeren we dit uit.

76
00:05:12,510 --> 00:05:15,840
‫Dat wordt de output van onze staatsmachine als geheel.

77
00:05:16,290 --> 00:05:21,090
‫En dan wordt het doorgevoerd in de gevechtsanimatie, die wordt doorgevoerd in onze doodsanimatie, die

78
00:05:21,090 --> 00:05:23,220
‫wordt doorgevoerd in onze uiteindelijke uitvoer.

79
00:05:23,910 --> 00:05:30,600
‫Dus wat we nu hopelijk zullen zien als we het compileren, is dat er eigenlijk niets is veranderd omdat er maar één

80
00:05:30,600 --> 00:05:32,370
‫staat in onze staatsmachine is.

81
00:05:33,360 --> 00:05:36,750
‫Als we echter springen, kunnen we een nieuwe staat introduceren.

82
00:05:36,750 --> 00:05:43,710
‫Daarvoor gaan we naar staat, dan kunnen we als staat in de lucht zijn, en in deze staat zullen we niet

83
00:05:43,710 --> 00:05:44,730
‫dezelfde animaties spelen.

84
00:05:44,730 --> 00:05:48,930
‫We schakelen in wezen die animaties uit in de animatiegrafiek omhoog.

85
00:05:48,930 --> 00:05:54,150
‫Op dit niveau zeggen we dat dit knooppunt zal overschakelen naar het spelen van verschillende animaties

86
00:05:54,150 --> 00:05:55,740
‫in de Airborne State.

87
00:05:56,190 --> 00:06:00,390
‫Dus we willen de Airborne State in en zorgen dat we hier een animatie hebben geselecteerd.

88
00:06:00,390 --> 00:06:05,370
‫Dus ik ga van die resultaatspeld af en ik ga gewoon op zoek naar een sprong.

89
00:06:05,640 --> 00:06:12,570
‫En in het bijzonder ga ik op zoek naar de sprong-apex-gevechtsgevechten, want dat heeft ons op Apex gericht, omdat dit

90
00:06:12,570 --> 00:06:19,020
‫de top van onze sprong zal zijn en dan gaan we uit de animatiegrafiek die we gaan uitgaan naar

91
00:06:19,020 --> 00:06:23,400
‫het voortbewegingsniveau en we zullen merken dat er hier een probleem is.

92
00:06:23,460 --> 00:06:27,900
‫Er is geen manier voor ons om de Airborne State te bereiken, omdat er geen overgang is die ons daartoe leidt.

93
00:06:28,500 --> 00:06:35,160
‫Dus wat we willen doen is slepen vanaf de grens van geaard op de Airborne State en daar willen

94
00:06:35,160 --> 00:06:38,070
‫dubbelklikken omdat we hier een overgang willen creëren.

95
00:06:38,460 --> 00:06:42,030
‫En ik ga gewoon een overgang doen op basis van een variabele die we momenteel niet hebben.

96
00:06:42,030 --> 00:06:50,370
‫Dus als ik terugga naar mijn blauwdrukken bij een variabele en een is in de lucht als een

97
00:06:50,700 --> 00:06:57,810
‫booleaanse variabele hier, dan kan ik dat overbrengen naar deze knooppunteditor voor Grounded Transition.

98
00:06:58,740 --> 00:07:05,640
‫En dan kunnen we dat aansluiten zodat wat we zeggen is dat deze overgang mogelijk is als we in de lucht zijn

99
00:07:06,390 --> 00:07:11,190
‫en dan willen we een omgekeerde overgang die gaat van in de lucht naar geaard.

100
00:07:11,760 --> 00:07:19,350
‫En als we erop dubbelklikken, kunnen we een knoopknooppunt plaatsen dat de boolean in feite

101
00:07:19,350 --> 00:07:25,560
‫negeert en dan kunnen we ook de boolean in de lucht plaatsen.

102
00:07:26,010 --> 00:07:32,070
‫Zodat aan het einde wat we hier hebben, als we naar onze anim-preview gaan, het toevoegen aan het tabblad

103
00:07:32,310 --> 00:07:38,280
‫naar rechts, we de schakelaar kunnen omdraaien en we naar die luchtstaat gaan terwijl we de luchtanimatie spelen.

104
00:07:38,280 --> 00:07:42,990
‫En als we het weer omdraaien, gaan we terug naar onze geaarde voortbeweging.

105
00:07:43,260 --> 00:07:46,440
‫En je kunt zien dat dit allemaal ook gaat werken met onze aim pitch.

106
00:07:46,440 --> 00:07:50,640
‫Als ik de richtafstand naar boven beweeg, raak ik in de lucht.

107
00:07:50,820 --> 00:07:54,270
‫Je kunt zien dat we blijven mikken in de richting die we zouden moeten richten.

108
00:07:54,510 --> 00:07:56,880
‫Oké, dus ik heb een mini-uitdaging voor je.

109
00:07:57,300 --> 00:08:02,880
‫Afgezien van het zo instellen van de staatsmachine, als je het nog niet hebt gevolgd, zou ik willen

110
00:08:03,300 --> 00:08:07,380
‫dat je probeert en doet, is kijken of je een manier kunt vinden.

111
00:08:07,410 --> 00:08:14,040
‫Op het moment dat we klikken in de lucht, krijgen we deze rare glitching-looping van deze animatie, deze animatie

112
00:08:14,040 --> 00:08:15,090
‫in de lucht.

113
00:08:15,510 --> 00:08:18,750
‫Kijk of je het zo kunt maken dat deze animatie geen lus maakt.

114
00:08:18,780 --> 00:08:23,610
‫Kijk of je je weg kunt vinden in de anim-blauwdruk, die best moeilijk kan zijn om te navigeren, en kijk of

115
00:08:23,610 --> 00:08:24,810
‫je die eigenschap kunt vinden.

116
00:08:24,840 --> 00:08:25,110
‫Oké.

117
00:08:25,110 --> 00:08:25,610
‫Welkom terug.

118
00:08:25,620 --> 00:08:28,080
‫Dus hopelijk ben je gegaan en heb je dit een kans gegeven.

119
00:08:28,350 --> 00:08:30,450
‫Dus waar zouden we beginnen om hierover na te denken?

120
00:08:30,450 --> 00:08:32,850
‫Hoe zouden we beginnen om rond deze blauwdruk te navigeren?

121
00:08:33,810 --> 00:08:39,360
‫Om te beginnen weten we dat dit probleem afkomstig is van onze voortbewegingstoestandsmachine.

122
00:08:39,960 --> 00:08:45,150
‫Dus laten we daar naar binnen gaan en we kunnen zien dat het ding dat de staat speelt die momenteel

123
00:08:45,150 --> 00:08:46,500
‫speelt, de luchtstaat is.

124
00:08:46,710 --> 00:08:52,800
‫Dus laten we daarop ingaan en je kunt zien dat de jump apex-gevechten maar rond en rond gaan en

125
00:08:52,800 --> 00:08:55,020
‫het veroorzaakt hier duidelijk dit probleem.

126
00:08:55,590 --> 00:09:02,460
‫Dus als we op die animatie klikken en naar de details kijken, kun je zien dat we deze lusanimatie-eigenschap

127
00:09:02,460 --> 00:09:03,270
‫hebben ingesteld.

128
00:09:03,990 --> 00:09:11,190
‫Als ik dat uitschakel en dan die animatieblauwdruk opnieuw compileer, dan ga ik naar de is in de lucht.

129
00:09:11,820 --> 00:09:21,270
‫Je kunt zien dat het die sprongtop slechts één keer speelt en dan blijft het die animatie vasthouden totdat we

130
00:09:21,270 --> 00:09:25,590
‫het vinkje weghalen, waarna het teruggaat naar onze voortbewegingsstatusmachine.

131
00:09:25,860 --> 00:09:29,040
‫Laten we eens kijken hoe dat allemaal werkt als we een beetje snelheid hadden, als we in beweging waren.

132
00:09:29,040 --> 00:09:30,030
‫Dus hier zijn we aan het rennen.

133
00:09:30,630 --> 00:09:32,400
‫We voegen toe is in de lucht.

134
00:09:32,610 --> 00:09:39,060
‫Het gaat in onze sprongtop totdat we niet langer in de lucht zijn, op welk punt we teruggaan naar rennen

135
00:09:39,060 --> 00:09:40,310
‫op de grond.

136
00:09:40,320 --> 00:09:41,370
‫Dat was het dan voor deze lezing.

137
00:09:41,370 --> 00:09:46,500
‫We hebben kennis gemaakt met een heel nieuw concept, veel om het idee van een animatie-statusmachine in ons op te nemen.

138
00:09:46,800 --> 00:09:52,290
‫We hebben ongeveer twee toestanden gezien en hoe we erin komen via overgangen, en we hebben gezien hoe dat

139
00:09:52,320 --> 00:09:57,660
‫kan worden aangedreven door een booleaanse waarde om ons in staat te stellen een sprongtoestand te hebben.

140
00:09:57,660 --> 00:10:02,040
‫In de volgende lezing gaan we dit koppelen aan gameplay en de zaken verder verfijnen.

