﻿1
00:00:04,470 --> 00:00:05,240
‫Cześć i witaj.

2
00:00:05,250 --> 00:00:11,310
‫W tym wykładzie przedstawimy nową część planu animacji, nazywaną maszyną stanów.

3
00:00:11,310 --> 00:00:12,570
‫Bardzo przydatna część.

4
00:00:12,870 --> 00:00:18,960
‫A co możemy zrobić, to jeśli naciśniemy tutaj przełącznik logiczny, pozwoli nam to przejść do

5
00:00:18,960 --> 00:00:22,560
‫stanu skoku, a następnie z powrotem do uziemienia.

6
00:00:22,800 --> 00:00:26,820
‫Zobaczmy, jak to wszystko działa i jak możemy to dla siebie stworzyć.

7
00:00:28,020 --> 00:00:28,260
‫Dobra.

8
00:00:28,260 --> 00:00:33,420
‫Więc mamy to naprawdę dziwne zachowanie, kiedy skaczemy, co oznacza, że kończymy biegać w powietrzu,

9
00:00:33,420 --> 00:00:35,970
‫co oczywiście nie jest zbyt dobrym wyglądem.

10
00:00:36,600 --> 00:00:41,700
‫Teraz, aby to naprawić, musimy poznać zupełnie nową koncepcję animacji, nazywaną maszyną stanów

11
00:00:41,700 --> 00:00:42,390
‫animacji.

12
00:00:42,600 --> 00:00:47,190
‫Więc to należy do planu animacji, więc śmiało i uruchom go, jeśli jeszcze go

13
00:00:47,190 --> 00:00:48,060
‫nie uruchomiłeś.

14
00:00:48,660 --> 00:00:55,050
‫A na wykresie animacji, jak dotąd, wszystko, co zrobiliśmy na wykresie, przechodziło przez te węzły

15
00:00:55,050 --> 00:00:55,500
‫tutaj.

16
00:00:55,980 --> 00:01:00,780
‫Teraz chcę wam pokazać, jak możemy dodać coś nowego, coś, co nazywa się maszyną stanów.

17
00:01:01,230 --> 00:01:07,050
‫Klikamy prawym przyciskiem myszy, a to jest na wykresie animacji i będziemy szukać automatu stanów.

18
00:01:07,050 --> 00:01:11,580
‫I widać, że ta reklama, nowy automat stanów jest tutaj jedną z opcji.

19
00:01:11,610 --> 00:01:15,150
‫Teraz chcę wam pokazać, że jest też inny sposób na zrobienie tego.

20
00:01:15,480 --> 00:01:17,860
‫Jeśli klikniesz prawym przyciskiem myszy do końca.

21
00:01:17,880 --> 00:01:24,690
‫Jeśli więc klikniemy prawym przyciskiem myszy na wykresie animacji i poszukamy nowej maszyny stanów, to mamy tę opcję.

22
00:01:24,690 --> 00:01:31,230
‫Tutaj klikamy, tworzy nowy węzeł i widać, że węzeł ma pojedynczy pin wyjściowy animacji PO, a

23
00:01:31,830 --> 00:01:37,860
‫ponad w lewym panelu w My Blueprint utworzył tę nową maszynę stanów pod naszym

24
00:01:37,860 --> 00:01:39,060
‫wykresem animacji.

25
00:01:39,420 --> 00:01:45,510
‫Więc jeśli dwukrotnie klikniesz na nową maszynę stanów lub klikniesz na wykresie animacji, zobaczysz, że przeniesie Cię

26
00:01:45,510 --> 00:01:47,520
‫to do tego nowego okna.

27
00:01:47,700 --> 00:01:48,870
‫Więc to kolejna sprawa.

28
00:01:48,870 --> 00:01:53,580
‫Mamy graf animacji, nasz graf zdarzeń, a teraz mamy graf automatu stanów.

29
00:01:54,540 --> 00:01:55,950
‫Właściwie możemy to zmienić.

30
00:01:55,950 --> 00:02:01,710
‫Możemy więc nadać naszej maszynie stanu lepszą nazwę, klikając ją na planach kopalni i naciskając F-2.

31
00:02:01,710 --> 00:02:05,700
‫Możemy to nazwać lokomocją, ponieważ będzie to dotyczyło lokomocji.

32
00:02:05,700 --> 00:02:07,630
‫A co wtedy robi maszyna stanów?

33
00:02:07,680 --> 00:02:11,820
‫Cóż, maszyna stanów jest najprostsza, jest to zestaw, jeśli klikniesz prawym przyciskiem myszy.

34
00:02:11,820 --> 00:02:13,950
‫W rzeczywistości widać, że jest tutaj kilka opcji.

35
00:02:14,310 --> 00:02:15,660
‫Jest komentarz, jest kanał.

36
00:02:15,660 --> 00:02:19,920
‫Ale najważniejsze jest to, że stany to maszyna pełna stanów.

37
00:02:19,920 --> 00:02:22,810
‫I mogę dodać tutaj kilka stanów, aby dać ci pomysł.

38
00:02:22,820 --> 00:02:24,830
‫Więc mamy stan do określenia jednego stanu.

39
00:02:25,440 --> 00:02:29,610
‫A potem, jeśli odciągniesz się od tej granicy, tworzy coś, co nazywa się przejściem.

40
00:02:29,610 --> 00:02:32,250
‫Możemy więc stworzyć przejście między stanami.

41
00:02:32,910 --> 00:02:38,460
‫I mamy ten wpis, Penn, który zasadniczo mówi nam, od którego stanu powinniśmy to zacząć.

42
00:02:39,090 --> 00:02:40,800
‫Dobrze, więc cofnijmy się o krok.

43
00:02:40,800 --> 00:02:42,060
‫Co to wszystko znaczy?

44
00:02:43,050 --> 00:02:49,080
‫Cóż, w każdym danym stanie, jeśli klikniesz na niego dwukrotnie, zobaczysz, że jest pin wyjściowy i że pin

45
00:02:49,080 --> 00:02:55,230
‫wyjściowy może być użyty w taki sam sposób, jak nasz wykres animacji może być użyty do zbudowania pozy animacji.

46
00:02:55,380 --> 00:03:00,030
‫Więc w najprostszej formie możemy po prostu zdecydować się na wklejenie tutaj animacji.

47
00:03:00,150 --> 00:03:03,330
‫Wybierz na przykład dowolną starą grywalność animacji.

48
00:03:03,660 --> 00:03:09,240
‫I to jest animacja, która będzie odtwarzana, gdy maszyna stanów będzie w danym stanie.

49
00:03:09,990 --> 00:03:11,780
‫Jak możemy wejść w dany stan?

50
00:03:11,790 --> 00:03:15,000
‫Cóż, możemy wejść w dany stan, ponieważ wskazuje na to nasz węzeł wejściowy.

51
00:03:15,000 --> 00:03:16,670
‫A więc to jest stan domyślny.

52
00:03:16,680 --> 00:03:17,790
‫Od tego zaczynamy.

53
00:03:18,360 --> 00:03:21,720
‫Ale wtedy możemy również dojść do stanu poprzez serię przejść.

54
00:03:22,410 --> 00:03:27,120
‫Tak więc każde przejście ma właściwości, możesz dwukrotnie kliknąć przejście i możesz

55
00:03:27,120 --> 00:03:32,280
‫to zobaczyć ponownie, otrzymujemy ten węzeł w wyskakującym okienku i możemy mieć jakąś właściwość boolowska.

56
00:03:32,280 --> 00:03:38,820
‫Więc nie wiem, moglibyśmy mieć coś takiego jak jest martwe, możemy stać się martwym, możemy wpuścić to tu i teraz, za

57
00:03:39,120 --> 00:03:41,610
‫każdym razem, gdy jest martwy, jest prawdą.

58
00:03:41,940 --> 00:03:48,060
‫Wykonamy przejście, jeśli jesteśmy w tym pierwotnym stanie, jeśli nie żyjemy, to przejdziemy do

59
00:03:48,060 --> 00:03:52,140
‫stanu pierwszego i zaczniemy odtwarzać animację w stanie pierwszym.

60
00:03:52,140 --> 00:03:57,810
‫A następnie, jeśli przejścia ze stanu pierwszego są prawdziwe, z jakiegokolwiek powodu, możemy przejść do

61
00:03:57,810 --> 00:03:58,860
‫stanu drugiego.

62
00:03:59,550 --> 00:04:05,640
‫No dobrze, teoretycznie to wszystko jest bardzo dobre i dobre, ale jak to pomaga nam w praktyce w bieganiu?

63
00:04:06,360 --> 00:04:10,830
‫Na przykład możemy chcieć stanu, który mówi uziemiony.

64
00:04:11,790 --> 00:04:16,370
‫A w stanach uziemionych będziemy bawić się w lokomocję naziemną.

65
00:04:16,380 --> 00:04:24,720
‫Więc jeśli wrócimy do wykresu animacji, to, co jest uziemioną lokomocją, jest w zasadzie wszystkim tutaj, przed

66
00:04:24,720 --> 00:04:30,660
‫przesunięciem my i bezczynności w walce, jest ta mieszanka lokomocji, którą przesunęłam.

67
00:04:30,660 --> 00:04:39,240
‫Więc mam zamiar wyciąć węzły tutaj, podłączyć moją maszynę stanów lokomocji, aby przejść do naszego przesunięcia celu, które przejdę

68
00:04:39,240 --> 00:04:44,880
‫do maszyny stanów lokomocji, przejdę do stanu uziemionego i wkleję te węzły

69
00:04:44,880 --> 00:04:48,390
‫tutaj i podłącz je do okienka wyjściowego.

70
00:04:48,870 --> 00:04:52,380
‫Prześledźmy więc, co się tutaj dzieje na poziomie wykresu animacji.

71
00:04:53,130 --> 00:04:58,080
‫Przede wszystkim uruchamiamy maszynę stanów lokomocji animacji.

72
00:04:58,620 --> 00:05:04,320
‫A ponieważ tego nie podłączyłem, ale ponieważ pin wejściowy wskazuje na stan uziemiony, automatycznie jesteśmy w

73
00:05:04,320 --> 00:05:08,430
‫stanie uziemionym, to wejdzie tam, wymyśl, dobrze, mamy przestrzeń mieszaną, mieszamy

74
00:05:08,430 --> 00:05:12,090
‫to za pomocą naszych zmiennych, a następnie wyprowadzamy to.

75
00:05:12,510 --> 00:05:15,840
‫To staje się wynikiem całej naszej machiny państwowej.

76
00:05:16,290 --> 00:05:21,090
‫A potem trafia do animacji walki, która łączy się z naszą animacją śmierci, która

77
00:05:21,090 --> 00:05:23,220
‫łączy się z ostatecznym rezultatem.

78
00:05:23,910 --> 00:05:30,600
‫Miejmy więc nadzieję, że to, co zobaczymy teraz, kiedy to skompilujemy, tak naprawdę nic się nie zmieniło, ponieważ w naszej maszynie

79
00:05:30,600 --> 00:05:32,370
‫stanów jest tylko jeden stan.

80
00:05:33,360 --> 00:05:36,750
‫Jeśli jednak skaczemy, to możemy wprowadzić nowy stan.

81
00:05:36,750 --> 00:05:43,710
‫W tym celu idziemy w stanie, wtedy możemy być w powietrzu jako stan iw tym stanie nie będziemy odtwarzać tych

82
00:05:43,710 --> 00:05:44,730
‫samych animacji.

83
00:05:44,730 --> 00:05:48,930
‫Zasadniczo przełączamy te animacje na wykresie animacji w górę.

84
00:05:48,930 --> 00:05:54,150
‫Na tym poziomie mówimy, że ten węzeł przełączy się na odtwarzanie różnych animacji

85
00:05:54,150 --> 00:05:55,740
‫w stanie desantowym.

86
00:05:56,190 --> 00:06:00,390
‫Dlatego chcemy przejść do stanu desantowego i upewnić się, że mamy tu wybraną animację.

87
00:06:00,390 --> 00:06:05,370
‫Więc zamierzam ściągnąć tę szpilkę wynikową i po prostu poszukam skoku.

88
00:06:05,640 --> 00:06:12,570
‫A w szczególności będę szukał walki bojowej ze skokiem na wierzchołek, ponieważ ma nas celować w

89
00:06:12,570 --> 00:06:19,020
‫Apex, ponieważ będzie to szczyt naszego skoku, a następnie wyjdziemy z wykresu animacji, który zamierzamy

90
00:06:19,020 --> 00:06:23,400
‫wyjść do poziomu lokomocji i zauważymy, że jest tu problem.

91
00:06:23,460 --> 00:06:27,900
‫Nie mamy możliwości przedostania się do Stanu Powietrznodesantowego, ponieważ nie ma zmiany, która by nas do tego prowadziła.

92
00:06:28,500 --> 00:06:35,160
‫Więc to, co chcemy zrobić, to przeciągnąć od granicy uziemienia do stanu powietrznodesantowego i kliknąć tam

93
00:06:35,160 --> 00:06:38,070
‫dwukrotnie, ponieważ chcemy tutaj utworzyć przejście.

94
00:06:38,460 --> 00:06:42,030
‫A ja właśnie zrobię przejście na podstawie zmiennej, której obecnie nie mamy.

95
00:06:42,030 --> 00:06:50,370
‫Więc jeśli wrócę do moich planów w zmiennej i wstawię tutaj zmienną logiczną jako unoszącą

96
00:06:50,700 --> 00:06:57,810
‫się w powietrzu, mogę przeciągnąć to do edytora węzłów dla Grounded Transition.

97
00:06:58,740 --> 00:07:05,640
‫A potem możemy to podłączyć, aby to, co mówimy, było możliwe, gdy jesteśmy w powietrzu, a

98
00:07:06,390 --> 00:07:11,190
‫potem chcemy odwrotnego przejścia, które przechodzi z powietrza w ziemię.

99
00:07:11,760 --> 00:07:19,350
‫A jeśli klikniemy dwukrotnie na tym, możemy umieścić węzeł węzła, który zasadniczo neguje wartość

100
00:07:19,350 --> 00:07:25,560
‫logiczną, a następnie możemy również dodać wartość logiczną is airborne.

101
00:07:26,010 --> 00:07:32,070
‫Tak więc na końcu to, co mamy tutaj, jeśli przejdziemy do naszego podglądu animacji, dodamy to do zakładki

102
00:07:32,310 --> 00:07:38,280
‫po prawej stronie, możemy przełączyć przełącznik i przejdziemy do tego stanu w powietrzu, odtwarzając animację w powietrzu.

103
00:07:38,280 --> 00:07:42,990
‫A jeśli ponownie go odwrócimy, wrócimy do naszej uziemionej lokomocji.

104
00:07:43,260 --> 00:07:46,440
‫Widać, że wszystko to będzie działać również z naszym celem.

105
00:07:46,440 --> 00:07:50,640
‫Jeśli przesunę odległość celu skierowaną do góry, uderzam w powietrze.

106
00:07:50,820 --> 00:07:54,270
‫Widać, że wciąż celujemy w kierunku, w którym powinniśmy dążyć.

107
00:07:54,510 --> 00:07:56,880
‫Ok, więc mam dla ciebie mini wyzwanie.

108
00:07:57,300 --> 00:08:02,880
‫Oprócz skonfigurowania maszyny stanu w ten sposób, jeśli jeszcze tego nie śledziłeś, chciałbym,

109
00:08:03,300 --> 00:08:07,380
‫abyś spróbował i zrobił, czy możesz znaleźć sposób.

110
00:08:07,410 --> 00:08:14,040
‫W momencie, gdy klikamy w powietrzu, otrzymujemy dziwne zapętlenie tej animacji, tej animacji

111
00:08:14,040 --> 00:08:15,090
‫w powietrzu.

112
00:08:15,510 --> 00:08:18,750
‫Sprawdź, czy możesz to zrobić tak, aby ta animacja się nie zapętlała.

113
00:08:18,780 --> 00:08:23,610
‫Sprawdź, czy możesz znaleźć drogę do planu animowanego, który może być dość trudny w nawigacji i sprawdź, czy

114
00:08:23,610 --> 00:08:24,810
‫możesz znaleźć tę właściwość.

115
00:08:24,840 --> 00:08:25,110
‫Dobra.

116
00:08:25,110 --> 00:08:25,610
‫Witamy spowrotem.

117
00:08:25,620 --> 00:08:28,080
‫Więc miejmy nadzieję, że już poszedłeś i dałeś temu szansę.

118
00:08:28,350 --> 00:08:30,450
‫Więc gdzie zaczęlibyśmy o tym myśleć?

119
00:08:30,450 --> 00:08:32,850
‫Jak zaczęlibyśmy poruszać się po tym schemacie?

120
00:08:33,810 --> 00:08:39,360
‫Cóż, na początek wiemy, że ten problem pochodzi z naszej maszyny stanu lokomocji.

121
00:08:39,960 --> 00:08:45,150
‫Wejdźmy więc tam i zobaczymy, że to, co gra w stanie, w którym aktualnie gra, to

122
00:08:45,150 --> 00:08:46,500
‫stan w powietrzu.

123
00:08:46,710 --> 00:08:52,800
‫Przejdźmy więc do tego i widać, że walka z przeskokiem na wierzchołek po prostu zapętla się w

124
00:08:52,800 --> 00:08:55,020
‫kółko i wyraźnie stwarza ten problem.

125
00:08:55,590 --> 00:09:02,460
‫Więc jeśli klikniemy na tę animację i przyjrzymy się szczegółom, zobaczysz, że mamy ustawioną właściwość animacji

126
00:09:02,460 --> 00:09:03,270
‫pętli.

127
00:09:03,990 --> 00:09:11,190
‫Jeśli to odznaczę, a następnie ponownie skompiluję ten schemat animacji, pójdę i uderzę w to, że jest w powietrzu.

128
00:09:11,820 --> 00:09:21,270
‫Widać, że odtwarza ten wierzchołek skoku tylko raz, a następnie kontynuuje wstrzymywanie tej animacji, dopóki nie odznaczymy pola, w którym to

129
00:09:21,270 --> 00:09:25,590
‫momencie przechodzi z powrotem do naszej maszyny stanu lokomocji.

130
00:09:25,860 --> 00:09:29,040
‫Zobaczmy, jak to wszystko działa, gdybyśmy mieli trochę prędkości, gdybyśmy się poruszali.

131
00:09:29,040 --> 00:09:30,030
‫Więc tutaj biegniemy.

132
00:09:30,630 --> 00:09:32,400
‫Dodajmy, że jest w powietrzu.

133
00:09:32,610 --> 00:09:39,060
‫Wchodzi w szczyt naszego skoku, dopóki nie przestaniemy być w powietrzu, w którym to momencie wracamy do

134
00:09:39,060 --> 00:09:40,310
‫biegania po ziemi.

135
00:09:40,320 --> 00:09:41,370
‫To tyle w przypadku tego wykładu.

136
00:09:41,370 --> 00:09:46,500
‫Zostaliśmy zapoznani z zupełnie nową koncepcją, dużo do przyjęcia idei maszyny stanu animacji.

137
00:09:46,800 --> 00:09:52,290
‫Widzieliśmy około dwóch stanów i tego, jak wchodzimy do nich za pomocą przejść, i widzieliśmy,

138
00:09:52,320 --> 00:09:57,660
‫jak może to być sterowane wartością logiczną, aby umożliwić nam uzyskanie stanu skoku.

139
00:09:57,660 --> 00:10:02,040
‫W następnym wykładzie połączymy to z rozgrywką i dopracujemy ją dalej.

