﻿1
00:00:04,700 --> 00:00:05,510
‫Cześć i witaj.

2
00:00:05,510 --> 00:00:10,640
‫W tym Late Show nauczymy się, jak połączyć nasze animacje z

3
00:00:10,640 --> 00:00:17,240
‫naszą rozgrywką i podepniemy prędkość naszej postaci do przestrzeni mieszania, abyśmy mogli uzyskać ten efekt.

4
00:00:17,240 --> 00:00:18,890
‫Zanurzmy się i zobaczmy, jak to się robi.

5
00:00:20,690 --> 00:00:21,080
‫Dobra.

6
00:00:21,080 --> 00:00:26,210
‫Więc mamy pustą przestrzeń do zintegrowania się z tym.

7
00:00:26,240 --> 00:00:27,780
‫BP strzela do postaci.

8
00:00:28,460 --> 00:00:32,690
‫Pierwszą rzeczą, którą zamierzam zrobić, to usunąć te dwie

9
00:00:32,690 --> 00:00:37,130
‫mieszanki, których używamy jako przykładu działania planu animacji i wykresu.

10
00:00:37,580 --> 00:00:43,670
‫Zamiast tego wprowadzimy z przeglądarki zasobów w prawym dolnym rogu przestrzeń mieszania, którą właśnie

11
00:00:43,670 --> 00:00:46,460
‫stworzyliśmy, jako lokomocję z podkreśleniem.

12
00:00:46,820 --> 00:00:51,920
‫Jeśli przeciągniesz to do swojego wykresu animacji, zobaczysz, że wprowadzi to tutaj ten mały zielony węzeł.

13
00:00:52,610 --> 00:00:59,810
‫I bardzo podobnie jak inne węzły mieszania i tym podobne, mamy się narzucone, które możemy

14
00:00:59,810 --> 00:01:02,240
‫przeciągnąć do naszych wyników.

15
00:01:02,420 --> 00:01:05,870
‫A jeśli nacisnę kompilację, zobaczysz, że jest to tylko w naszej domyślnej przestrzeni.

16
00:01:07,070 --> 00:01:13,190
‫A potem możesz zobaczyć tę małą wizualizację, która jest całkiem przydatna w małej

17
00:01:13,490 --> 00:01:20,750
‫przestrzeni mieszania i możemy przejść dalej i zmienić wartości tutaj statycznie lub możemy wprowadzić tutaj jakieś zmienne.

18
00:01:21,920 --> 00:01:26,120
‫Cóż, prawdopodobnie będziemy chcieli zrobić to drugie, więc zamierzam iść dalej i

19
00:01:26,120 --> 00:01:32,900
‫usunąć dwie zmienne, które mamy po lewej stronie i Fulwood, ponieważ teraz wiemy, że to, czego chcemy, to kąt, który jest

20
00:01:32,900 --> 00:01:33,620
‫będzie pływakiem.

21
00:01:33,980 --> 00:01:39,680
‫Więc zamieńmy to na zmiennoprzecinkowe i będziemy potrzebować również zmiennej prędkości, która również jest

22
00:01:39,680 --> 00:01:40,160
‫zmiennoprzecinkowa.

23
00:01:40,700 --> 00:01:46,910
‫I możemy połączyć te dwa w zmiennej prędkości w prędkość, a kąt w kąt.

24
00:01:47,180 --> 00:01:53,420
‫I wchodzimy w kompilację, patrzymy na animowany edytor podglądu i po prostu dostosowujemy wartości.

25
00:01:53,420 --> 00:01:56,540
‫Więc przede wszystkim prędkość, zwiększmy trochę prędkość.

26
00:01:57,620 --> 00:02:01,340
‫Zwiększmy prędkość do około 30.

27
00:02:01,760 --> 00:02:02,550
‫Zobacz co się dzieje.

28
00:02:02,570 --> 00:02:02,920
‫Idą.

29
00:02:02,930 --> 00:02:05,770
‫Zaczyna przechodzić, doprowadzając go do 70.

30
00:02:05,990 --> 00:02:07,970
‫Zbliża się do biegania.

31
00:02:07,970 --> 00:02:09,170
‫Doprowadzam to do 100.

32
00:02:09,680 --> 00:02:09,850
‫Co?

33
00:02:09,860 --> 00:02:10,970
‫Nie 1000?

34
00:02:10,970 --> 00:02:13,910
‫Potem jest pełen biegania i może zmienić kąty.

35
00:02:13,910 --> 00:02:20,180
‫Więc pod kątem 90 stopni idzie o 90 stopni w prawo, -90, myśli o skręcaniu w lewo.

36
00:02:20,810 --> 00:02:21,860
‫Możemy iść gdzieś pomiędzy.

37
00:02:21,860 --> 00:02:23,090
‫Więc może powiedzieć 45 stopni.

38
00:02:23,090 --> 00:02:28,700
‫Możesz zobaczyć biegi pod kątem 45 stopni i możesz zobaczyć przestrzeń mieszania, w której próbuje

39
00:02:28,700 --> 00:02:30,740
‫wybrać przestrzeń mieszania i animacje.

40
00:02:30,740 --> 00:02:36,320
‫Jest to rodzaj mieszania się pomiędzy tą animacją do przodu i tą pod kątem 90 stopni

41
00:02:36,320 --> 00:02:37,100
‫w prawo.

42
00:02:37,790 --> 00:02:39,140
‫Więc to jest fajne.

43
00:02:39,140 --> 00:02:40,520
‫Mamy to za sobą.

44
00:02:40,520 --> 00:02:47,210
‫Ale jak wiemy, musi to być napędzane przez naszą rzeczywistą rozgrywkę i dlaczego w ogóle to robimy?

45
00:02:47,210 --> 00:02:54,050
‫Dlaczego nie mamy po prostu animacji napędzających rozgrywkę, mówiących, wiesz, że musimy iść do przodu w takim

46
00:02:54,050 --> 00:02:55,580
‫a takim tempie?

47
00:02:56,240 --> 00:03:02,360
‫Cóż, powodem, dla którego tego nie robisz, powodem, dla którego nie używasz animacji do kierowania rozgrywką, jest

48
00:03:02,360 --> 00:03:07,670
‫to, że często chcesz, aby twój projektant mógł dostosować różne zmienne dotyczące twojej rozgrywki.

49
00:03:07,670 --> 00:03:13,010
‫Chcesz, żeby mogli powiedzieć: OK, cóż, to nie w porządku, że ta postać w tym biegnie.

50
00:03:13,010 --> 00:03:17,780
‫Speedy zamiast tego musi biec z tą prędkością, a chodzenie powinno odbywać się z tą prędkością.

51
00:03:18,380 --> 00:03:22,880
‫Nie chcesz więc, aby animacje ograniczały wygląd i wrażenia z gry.

52
00:03:23,480 --> 00:03:27,890
‫Chcesz, aby animacje wyszły z tyłu gry i wyglądały dobrze.

53
00:03:28,340 --> 00:03:33,020
‫Więc podczas procesu projektowania możesz zdać sobie sprawę, że potrzebujemy szybszej animacji

54
00:03:33,020 --> 00:03:39,830
‫i to jest w porządku, ale chcesz najpierw zmienić grę, aby się tam dostać, zamiast iść i spróbować nagrać

55
00:03:39,920 --> 00:03:46,190
‫inną animację uruchomioną lub znajdź inną animację biegu, a potem zdaj sobie sprawę, że tak naprawdę nie

56
00:03:46,190 --> 00:03:48,230
‫poprawiło to wrażenia z gry.

57
00:03:48,230 --> 00:03:51,110
‫Dlatego chcę, aby te dwie rzeczy były jak najbardziej oddzielone.

58
00:03:51,440 --> 00:03:57,200
‫Są chwile, kiedy rzeczy naprawdę muszą być zgodne z animacjami, ale to nie jest jedna z nich.

59
00:03:57,350 --> 00:03:59,840
‫Więc są wyjątki od każdej reguły.

60
00:04:00,050 --> 00:04:04,010
‫Więc nie traktuj tego jako całkowicie ustalonej zasady.

61
00:04:04,010 --> 00:04:09,770
‫Na pewno zobaczysz przypadki gier, które sterują niektórymi funkcjami animacji, ale ogólnie rzecz biorąc,

62
00:04:09,770 --> 00:04:12,140
‫chcemy zrobić to na odwrót.

63
00:04:12,140 --> 00:04:15,800
‫Chcemy powiedzieć, jaka jest prędkość postaci w grze?

64
00:04:16,070 --> 00:04:21,170
‫Pozwól, że odejdę i zaktualizuję prędkość animacji, zamiast mówić: Jaka jest prędkość animacji?

65
00:04:21,170 --> 00:04:23,000
‫Zaktualizuję prędkość postaci w grze.

66
00:04:23,270 --> 00:04:23,450
‫Dobra.

67
00:04:23,450 --> 00:04:25,850
‫Powiedziawszy to, jak to zrobimy?

68
00:04:26,090 --> 00:04:32,330
‫Zasadniczo, mechanika polega na tym, że ten plan, ten plan animacji, ma wykres zdarzeń, tak

69
00:04:32,330 --> 00:04:38,180
‫jak inne plany, co oznacza, że może mieć takie rzeczy jak zdarzenie TIC.

70
00:04:38,330 --> 00:04:44,780
‫Jeśli przejdę do wykresu zdarzeń i spojrzę, mamy tutaj kilka węzłów zdarzeń, od których

71
00:04:44,780 --> 00:04:46,010
‫możemy zacząć.

72
00:04:46,040 --> 00:04:48,710
‫Mamy tę animację aktualizacji schematu.

73
00:04:48,710 --> 00:04:56,300
‫Jeśli odejdziemy od tego za każdym razem, gdy chce zaktualizować animację, otrzymamy notatkę o wykonaniu i pozwoli

74
00:04:56,300 --> 00:04:59,810
‫nam iść dalej i przechwycić jakiś stan.

75
00:04:59,810 --> 00:05:04,940
‫Więc za każdym razem, gdy to zostanie wywołane, pójdziemy i złapiemy jakiś stan

76
00:05:04,940 --> 00:05:10,880
‫i zauważymy, że tutaj jest ten get -- właściciel, który mówi śmiało i zdobądź -- obiekt.

77
00:05:10,880 --> 00:05:16,190
‫Przypomnijmy więc, że -- w tym przypadku jest to postać, postać będąca podklasą -- i

78
00:05:16,550 --> 00:05:19,070
‫byłaby to postać ze strzelanki BP.

79
00:05:19,100 --> 00:05:20,750
‫Dlaczego miałby to być bohater BP strzelający?

80
00:05:20,750 --> 00:05:21,290
‫Więc, zobaczmy.

81
00:05:22,670 --> 00:05:29,660
‫Ponieważ ta postać, jeśli wybierzemy szkic MASH rzutni, aktualnie uruchamia tylko prostą

82
00:05:29,660 --> 00:05:30,770
‫animację.

83
00:05:30,770 --> 00:05:36,620
‫Ale to, co chcemy zrobić, to zmienić tryb animacji, aby używać schematów animacji i chcemy

84
00:05:36,620 --> 00:05:39,140
‫użyć tej postaci strzelanki z aplikacji.

85
00:05:39,530 --> 00:05:44,780
‫Dlatego to jest -- właściciel używa tego planu animacji.

86
00:05:44,780 --> 00:05:47,630
‫Tak więc plan ma teraz -- właściciela.

87
00:05:48,350 --> 00:05:54,560
‫A więc to, co chcemy zrobić w tej funkcji aktualizacji, żeby podsumować, to pobranie informacji

88
00:05:54,860 --> 00:05:56,990
‫z -- o jej ruchu.

89
00:05:56,990 --> 00:05:58,820
‫Chcemy powiedzieć, jaka jest twoja prędkość?

90
00:05:59,120 --> 00:06:01,400
‫Jaki jest kąt twojego ruchu?

91
00:06:02,000 --> 00:06:03,860
‫To właśnie zamierzamy obliczyć w tym wykładzie.

92
00:06:03,860 --> 00:06:06,500
‫Zrobimy tylko prędkość, ponieważ jest to najprostsze do zrobienia.

93
00:06:06,800 --> 00:06:11,870
‫Kąt będzie wymagał trochę manipulacji za pomocą przekształceń, czemu przyjrzymy się

94
00:06:11,870 --> 00:06:13,280
‫w następnym wykładzie.

95
00:06:13,520 --> 00:06:21,950
‫Więc węzłem, którego tutaj chcemy, jest uzyskanie prędkości naszego -- właściciela, który daje nam ten wektor

96
00:06:21,950 --> 00:06:22,730
‫tutaj.

97
00:06:23,480 --> 00:06:29,780
‫A potem z tyłu tego wektora, chcemy znaleźć jego wielkość lub jego długość, abyśmy

98
00:06:29,780 --> 00:06:33,050
‫mogli przeciągnąć ten wektor w poszukiwaniu wielkości.

99
00:06:33,260 --> 00:06:37,730
‫I to było sprytne, szukałem wielkości, ale dostałem funkcję zwaną długością

100
00:06:37,730 --> 00:06:38,390
‫wektora.

101
00:06:38,400 --> 00:06:42,430
‫Tak wyraźnie taktowano, że jest to synonim długości wektora.

102
00:06:42,440 --> 00:06:45,200
‫Dlaczego chcemy uzyskać długość wektora, a nie sam wektor?

103
00:06:45,200 --> 00:06:50,720
‫Ponieważ szukamy pływaka, który jest wektorem prędkości zawierającym zarówno kierunek, jak i prędkość,

104
00:06:50,720 --> 00:06:53,300
‫których będziemy potrzebować do obliczenia kąta.

105
00:06:53,720 --> 00:06:56,900
‫Ale to nie jest to, czego potrzebujemy do obliczenia prędkości.

106
00:06:57,140 --> 00:06:58,970
‫Tyle wyzwań dla Ciebie tutaj.

107
00:06:59,090 --> 00:06:59,710
‫Zacząć robić.

108
00:06:59,720 --> 00:07:02,330
‫W tym wykładzie nie ma żadnego innego wyzwania.

109
00:07:02,660 --> 00:07:06,860
‫Śmiało i ustaw prędkość za pomocą tej długości wektora.

110
00:07:06,860 --> 00:07:08,960
‫I pamiętaj, czy potrzebujesz szpilki egzekucyjnej.

111
00:07:08,960 --> 00:07:11,690
‫Próbujemy to zrobić na animacji aktualizacji schematu.

112
00:07:11,690 --> 00:07:12,770
‫Więc zatrzymaj wideo i spróbuj.

113
00:07:12,770 --> 00:07:13,460
‫OK, witaj z powrotem.

114
00:07:13,460 --> 00:07:16,130
‫Więc prędkość jest tym, co chcemy ustawić.

115
00:07:16,130 --> 00:07:21,710
‫Więc jeśli przeciągnąłem to do planu i nacisnąłem ustawienie prędkości, widać, że mamy pin egzekucyjny, którego

116
00:07:21,710 --> 00:07:22,070
‫potrzebujemy.

117
00:07:22,070 --> 00:07:24,980
‫Dowiemy się tego z animacji aktualizacji schematu.

118
00:07:25,490 --> 00:07:31,010
‫I potrzebujemy pinu danych, który będzie prędkością, która pochodzi z długości naszego wektora określającego

119
00:07:31,010 --> 00:07:31,820
‫naszą prędkość.

120
00:07:32,330 --> 00:07:35,030
‫Powinniśmy więc móc to zapisać i skompilować.

121
00:07:35,030 --> 00:07:40,100
‫Widać, że resetuje prędkość do zera, ponieważ teraz próbuje ustawić ją od właściciela pionka, którego

122
00:07:40,250 --> 00:07:41,840
‫tak naprawdę nie ma.

123
00:07:42,890 --> 00:07:48,830
‫Więc to, co zamierzamy zrobić, to iść do przodu, grać w świecie i zobaczyć, co mamy.

124
00:07:49,370 --> 00:07:50,360
‫Dobra, tak jest znacznie lepiej.

125
00:07:50,360 --> 00:07:56,000
‫Mamy sobie -- to pozostaje statyczne na ziemi, z wyjątkiem sytuacji, gdy się ruszam, w którym to

126
00:07:56,000 --> 00:07:58,430
‫momencie daje mi to pewną prędkość.

127
00:07:59,330 --> 00:08:05,660
‫A jeśli użyjesz wejścia analogowego, takiego jak kontroler, możesz zobaczyć, że zmieniając wejścia

128
00:08:06,110 --> 00:08:12,350
‫analogowe, które zmieniają prędkość, możemy zmienić prędkość poruszania się tego gościa.

129
00:08:14,610 --> 00:08:16,400
‫Oczywiście są tu dwa problemy.

130
00:08:16,410 --> 00:08:20,970
‫Pierwszym z nich jest to, że jeśli zejdę z jakiegoś kąta, użyję tylko prędkości absolutnej.

131
00:08:21,060 --> 00:08:23,940
‫Więc to nie jest dostosowanie kąta w naszej przestrzeni mieszania.

132
00:08:23,940 --> 00:08:25,590
‫I tak animacja wygląda źle.

133
00:08:26,280 --> 00:08:31,590
‫Innym problemem jest to, że zdecydowanie ślizgamy się tu stopą, ponieważ prędkość naszej animacji nie

134
00:08:31,590 --> 00:08:34,440
‫jest zgodna z prędkością postaci w naszej grze.

135
00:08:34,770 --> 00:08:38,880
‫To jest coś, czemu przyjrzymy się naprawieniu w następnym wykładzie.

136
00:08:39,390 --> 00:08:39,990
‫Świetna sprawa.

137
00:08:40,020 --> 00:08:47,280
‫Mam nadzieję, że teraz rozumiesz, w jaki sposób animacje powinny łączyć się z rozgrywką za pomocą schematu animacji

138
00:08:47,610 --> 00:08:51,750
‫i powinieneś być w stanie zastosować to we własnej grze.

139
00:08:52,020 --> 00:08:57,930
‫Do zobaczenia na następnym wykładzie, gdzie będziemy zahaczać te kąty, aby ten ruch wyglądał nieco bardziej

140
00:08:57,930 --> 00:08:58,680
‫naturalnie.

