﻿1
00:00:04,650 --> 00:00:05,550
‫Cześć i witaj.

2
00:00:05,550 --> 00:00:12,210
‫W tym wykładzie będziemy ustalać kąt naszej przestrzeni mieszania, łącząc to z rozgrywką.

3
00:00:12,210 --> 00:00:17,550
‫W tym procesie nauczymy się dużo matematyki, wielu przekształceń i wektorów.

4
00:00:17,550 --> 00:00:20,340
‫Zanurzmy się więc i zastanówmy, jak to działa.

5
00:00:22,480 --> 00:00:22,840
‫Dobra.

6
00:00:22,840 --> 00:00:27,010
‫Więc chcemy być w stanie określić kąt, pod jakim powinniśmy się poruszać.

7
00:00:27,760 --> 00:00:34,540
‫Jednak zanim to zrobimy, musimy zrobić trochę matematyki, ponieważ chcemy zrozumieć, jak możemy uzyskać ten

8
00:00:34,630 --> 00:00:37,810
‫kąt, który jest lokalny dla gracza.

9
00:00:38,420 --> 00:00:45,250
‫Wyjaśnię, co mam na myśli przez lokalne i globalne i jak możemy to uzyskać z globalnej prędkości i co te

10
00:00:45,250 --> 00:00:46,630
‫terminy i tak oznaczają.

11
00:00:47,200 --> 00:00:48,010
‫Więc spójrzmy.

12
00:00:48,010 --> 00:00:53,110
‫Przede wszystkim musimy mieć trochę podstawowego podkładu na Transformersach i czym są Transformers.

13
00:00:53,110 --> 00:00:56,350
‫Widzieliśmy je lub widzieliśmy je trochę wcześniej.

14
00:00:56,830 --> 00:01:00,640
‫Kiedy spojrzysz na którykolwiek z komponentów sceny, to właśnie te w hierarchii.

15
00:01:01,270 --> 00:01:02,830
‫Widać, że mają tutaj transformator.

16
00:01:02,830 --> 00:01:07,420
‫Tak więc położenie, obrót, właściwości skali, to w zasadzie jest transformator.

17
00:01:08,110 --> 00:01:13,270
‫Ale jedna rzecz, której tutaj nie widzisz, jest częścią tej transformacji, to fakt,

18
00:01:13,270 --> 00:01:19,540
‫że te same komponenty są hierarchiczne, co oznacza, że transformator ma również rodzica lub, wiesz, ten

19
00:01:19,600 --> 00:01:20,800
‫w zasadzie hierarchiczny.

20
00:01:21,520 --> 00:01:23,200
‫Więc jak to działa?

21
00:01:23,380 --> 00:01:26,410
‫Cóż, oto przykład z zabawką.

22
00:01:26,410 --> 00:01:30,790
‫Mamy tutaj sześcian, który jest naszą bazą jest centrum naszego świata czy coś takiego.

23
00:01:31,450 --> 00:01:33,430
‫Więc to będzie nasza przestrzeń światowa.

24
00:01:34,030 --> 00:01:39,850
‫Mamy tutaj tę postać, małą uśmiechniętą buźkę i ma pozycję w świecie w stosunku

25
00:01:39,850 --> 00:01:41,320
‫do swojej bazy.

26
00:01:42,130 --> 00:01:47,680
‫A potem ta postać ma broń, a broń ma pozycję w stosunku do postaci.

27
00:01:47,710 --> 00:01:53,740
‫Tak więc sposób, w jaki działa ta hierarchia, polega na tym, że rodzice broni są postacią, rodzice są

28
00:01:53,740 --> 00:01:56,350
‫postacią, która jest jego bazą lub światem.

29
00:01:57,670 --> 00:02:01,720
‫I mamy w nich kilka lokalnych układów współrzędnych.

30
00:02:01,720 --> 00:02:06,400
‫Zatem układ współrzędnych światów jest układem świata, układem globalnym.

31
00:02:07,030 --> 00:02:12,430
‫Wtedy współrzędne naszej postaci są wtedy lokalne względem jej pozycji.

32
00:02:12,430 --> 00:02:15,840
‫Tak więc broń jest ustawiona odpowiednio do jej charakteru.

33
00:02:15,850 --> 00:02:16,600
‫Co to znaczy?

34
00:02:16,990 --> 00:02:22,690
‫Oznacza to, że jeśli postać zdecyduje się na małą eskapadę, to broń porusza się razem z

35
00:02:22,690 --> 00:02:28,060
‫nią, ponieważ pozycja broni względem postaci pozostała taka sama, ale ponieważ postać się poruszyła,

36
00:02:28,060 --> 00:02:30,850
‫jej pozycja w świecie się zmieniła .

37
00:02:31,780 --> 00:02:33,550
‫To samo dzieje się z rotacją.

38
00:02:33,730 --> 00:02:37,450
‫Jeśli postać się odwróci, broń również musi się odwrócić.

39
00:02:38,230 --> 00:02:42,310
‫W ten sposób działają przekształcenia zasadniczo również skala, ale nie będziemy patrzeć na skalę.

40
00:02:42,310 --> 00:02:47,500
‫To tak samo, ale to tylko komplikuje sprawy i nie musimy się temu przyglądać.

41
00:02:47,500 --> 00:02:48,760
‫To nie dotyczy nas.

42
00:02:49,960 --> 00:02:52,270
‫Więc spójrzmy, spójrzmy na to inaczej.

43
00:02:52,270 --> 00:02:54,670
‫Mamy przestrzeń globalną i przestrzeń lokalną.

44
00:02:54,670 --> 00:03:02,890
‫Tak więc globalna przestrzeń ma bazę w centrum świata, a postać oddaliła się i poszła na prawo.

45
00:03:03,520 --> 00:03:06,970
‫Z kolei przestrzeń lokalna widzi rzeczy w odwrotnym świetle.

46
00:03:06,970 --> 00:03:13,390
‫Mówi, że postać jest centrum świata, a baza przesunęła się na lewo.

47
00:03:13,720 --> 00:03:14,710
‫To się cofnęło.

48
00:03:14,710 --> 00:03:17,230
‫Wiesz, to jest różnica między globalnym a lokalnym.

49
00:03:17,230 --> 00:03:19,180
‫Wszystko zależy od twojego punktu widzenia.

50
00:03:19,180 --> 00:03:20,320
‫Wszystko jest względne.

51
00:03:20,740 --> 00:03:28,090
‫A więc to mamy na myśli, kiedy mówimy o transformacji między przestrzenią globalną a lokalną i która

52
00:03:28,090 --> 00:03:29,100
‫nas interesuje?

53
00:03:29,380 --> 00:03:34,780
‫W przypadku naszego kąta interesuje nas kąt lokalny w stosunku do miejsca, w którym patrzy gracz.

54
00:03:35,110 --> 00:03:38,470
‫Mówimy, wiesz, czy idziemy w prawo?

55
00:03:38,860 --> 00:03:42,160
‫To właśnie mówimy, że lokalnie, nie globalnie, ale lokalnie.

56
00:03:42,160 --> 00:03:45,250
‫Czy lokalnie przenosimy się w prawo do naszego odtwarzacza?

57
00:03:45,280 --> 00:03:50,470
‫Ponieważ jeśli nasi gracze obrócili się o 180 stopni, nie powinien odtwarzać lewej animacji tylko dlatego, że

58
00:03:50,470 --> 00:03:51,280
‫się odwrócił.

59
00:03:52,090 --> 00:03:59,020
‫Więc jeszcze jednym ważnym rozróżnieniem jest to, jak robimy transformacje dla wektorów różnego rodzaju.

60
00:03:59,710 --> 00:04:04,150
‫Pierwszym przykładem, na który chcę się przyjrzeć, jest wektor pozycji.

61
00:04:04,690 --> 00:04:12,820
‫Tak więc wektor pozycji jest w zasadzie wektorem, który daje nam różnicę między bieżącą lokalizacją lub punktem zerowym

62
00:04:13,300 --> 00:04:19,690
‫w naszym układzie współrzędnych, który, gdy skupiamy się na postaci, jest samą postacią, a

63
00:04:19,690 --> 00:04:24,640
‫następnie daje nam strzałkę wskazującą na gdzie coś powinno być.

64
00:04:24,910 --> 00:04:28,360
‫W tym przypadku jest to wektor lokalizacji działa.

65
00:04:28,960 --> 00:04:34,120
‫Teraz, jeśli przekształcimy to w naszą przestrzeń światową, tak się dzieje.

66
00:04:34,120 --> 00:04:40,340
‫Strzałka wskazuje teraz środek naszego nowego świata, globalnej przestrzeni, i wskazuje na broń.

67
00:04:41,080 --> 00:04:44,890
‫Tak się dzieje, jeśli przekształcisz wektor pozycji.

68
00:04:45,430 --> 00:04:49,420
‫Teraz, jeśli zrobisz wektor kierunkowy, sprawy wyglądają trochę inaczej.

69
00:04:49,420 --> 00:04:56,740
‫Wektor kierunkowy to taki, który mówi, że w ten sposób powinienem wskazać, niekoniecznie tam,

70
00:04:56,740 --> 00:05:05,410
‫gdzie jest rzecz, a to przekształca się raczej inaczej, ponieważ teraz nie interesuje nas wskazywanie tego samego

71
00:05:05,410 --> 00:05:06,160
‫położenia.

72
00:05:06,430 --> 00:05:09,850
‫Więc ta pozycja tak naprawdę nie jest aktualizowana.

73
00:05:10,150 --> 00:05:18,430
‫Zamiast tego wektor zostaje obrócony i przeskalowany, czy cokolwiek to jest, i kończy się na tym, że wygląda trochę

74
00:05:18,430 --> 00:05:19,090
‫tak.

75
00:05:19,780 --> 00:05:21,730
‫Więc to jest właściwie rodzaj transferu.

76
00:05:21,800 --> 00:05:27,440
‫Naród, którym chcemy się zająć, ponieważ mamy do czynienia z prędkością, która jest wektorem kierunku, a

77
00:05:27,440 --> 00:05:28,850
‫nie prędkością wektora pozycji.

78
00:05:29,150 --> 00:05:31,340
‫Nie mówi nam nic o tym, gdzie powinniśmy być.

79
00:05:31,350 --> 00:05:36,500
‫Mówi nam, w jakim kierunku powinniśmy iść i jak szybko powinniśmy zmierzać w tym kierunku.

80
00:05:38,600 --> 00:05:45,290
‫Więc pomijając tę teorię, chodźmy dalej i obliczmy nasz kierunek na podstawie tej prędkości.

81
00:05:45,290 --> 00:05:51,890
‫Więc wiemy, że prędkość znajduje się w przestrzeni globalnej i chcemy ją przekonwertować na przestrzeń lokalną.

82
00:05:52,220 --> 00:05:57,950
‫Oznacza to, że ogólnie rzecz biorąc, zawsze staramy się robić rzeczy odwrotnie, zwykle dlatego, że

83
00:05:57,950 --> 00:06:02,660
‫mówimy, no cóż, mamy pozycję, lokalną pozycję działa, to jest lokalne przekształcenie.

84
00:06:02,990 --> 00:06:09,980
‫Chcemy dowiedzieć się, co to jest w przestrzeni świata, abyśmy mogli przedstawić to w odniesieniu do wszystkiego innego.

85
00:06:10,490 --> 00:06:12,580
‫To nie to, co próbujemy tutaj zrobić.

86
00:06:12,590 --> 00:06:13,820
‫Próbujemy zrobić coś przeciwnego.

87
00:06:13,820 --> 00:06:17,270
‫Więc to, czego tak naprawdę chcemy, nazywa się transformacją odwrotną.

88
00:06:17,270 --> 00:06:19,820
‫Transformacja przebiega w ten sposób od lokalnego do globalnego.

89
00:06:20,180 --> 00:06:22,850
‫Transformacja odwrotna przechodzi z globalnej na lokalną.

90
00:06:23,660 --> 00:06:27,920
‫Więc ponieważ mamy tę globalną prędkość, chcemy odwrócić transformację.

91
00:06:27,920 --> 00:06:32,210
‫Zacznijmy więc tutaj i poszukajmy odwrotnej transformacji.

92
00:06:32,240 --> 00:06:34,850
‫I widać, że mamy te dwie opcje.

93
00:06:34,850 --> 00:06:36,530
‫Nie dbamy o te matrycowe.

94
00:06:36,830 --> 00:06:39,950
‫Mamy dwie opcje kierunku i lokalizacji.

95
00:06:39,950 --> 00:06:44,810
‫Jak już powiedziałem, różnica polega na tym, że lokalizacja przesunie tę pozycję.

96
00:06:45,140 --> 00:06:49,430
‫Kierunek po prostu zastosuje obrót i skalę.

97
00:06:49,700 --> 00:06:50,930
‫Więc chcemy kierunku.

98
00:06:51,900 --> 00:06:54,000
‫Potrzebujemy transformatora, aby go obracać.

99
00:06:54,000 --> 00:06:57,820
‫Będziemy musieli uzyskać transformację samego pionka, postaci.

100
00:06:57,840 --> 00:06:59,700
‫Gdzie jest ten pionek na świecie?

101
00:07:00,240 --> 00:07:04,770
‫Więc chodźmy dalej, złapmy właściciela pionka i poszukajmy transformacji.

102
00:07:06,120 --> 00:07:06,780
‫Nieruchomość.

103
00:07:06,810 --> 00:07:08,040
‫Uzyskaj transformację aktora.

104
00:07:08,040 --> 00:07:08,820
‫To byłby ten.

105
00:07:09,360 --> 00:07:13,080
‫Przekierujemy to do naszego kierunku odwrotnej transformacji.

106
00:07:13,570 --> 00:07:16,140
‫I mamy z tego nowy wektor.

107
00:07:17,820 --> 00:07:22,020
‫Więc następnym krokiem byłoby uzyskanie rotacji tego wektora.

108
00:07:22,110 --> 00:07:25,250
‫Więc poszukamy i poszukamy rotacji.

109
00:07:25,380 --> 00:07:26,760
‫Zobacz, co możemy znaleźć.

110
00:07:27,360 --> 00:07:31,470
‫Mamy znaleźć rotację spojrzenia, zrobić rotację osi, aby włączyć.

111
00:07:31,490 --> 00:07:35,100
‫Przyjrzyjmy się teraz rotacji wektora X.

112
00:07:36,250 --> 00:07:42,190
‫Jeśli czytasz dokumentację tutaj, mówi, że ustawi EUR i skok z tego wektora, ale nie ustawi roli,

113
00:07:42,460 --> 00:07:45,730
‫ponieważ nie może uzyskać tych informacji z wektora.

114
00:07:45,760 --> 00:07:46,420
‫W porządku.

115
00:07:46,660 --> 00:07:48,610
‫Nie obchodzi nas rola w tym przypadku.

116
00:07:48,640 --> 00:07:53,140
‫Dbamy tylko o użytkownika, ponieważ chcemy zobaczyć, jak daleko skręcamy w prawo lub w lewo.

117
00:07:53,140 --> 00:07:56,320
‫Więc rotacja z wektora X, to jest ten, którego chcemy.

118
00:07:56,560 --> 00:08:02,140
‫Zwróci nam to rotator, a my pozyskamy tylko użytkownika z tego, który się rotuje.

119
00:08:02,140 --> 00:08:09,550
‫Klikamy prawym przyciskiem myszy na pinezkę i uderzamy pinezkę podziału struktury, która idzie dalej i dzieli tę strukturę

120
00:08:09,550 --> 00:08:10,840
‫na ten skok.

121
00:08:10,840 --> 00:08:12,700
‫I możesz to zrobić również na wektorze.

122
00:08:12,730 --> 00:08:18,160
‫Przy okazji, myślę, że możesz kliknąć prawym przyciskiem myszy i zobaczmy, myślę, że musiałbym zerwać link, aby to zrobić.

123
00:08:18,160 --> 00:08:18,930
‫Więc ci nie pokażę.

124
00:08:19,450 --> 00:08:23,170
‫Ale w zasadzie mamy teraz twoje tutaj i to właśnie chcemy ustawić.

125
00:08:23,170 --> 00:08:27,820
‫Więc znowu, wiele wyzwań ustawia użytkownika, aby był kątem i przetestował to.

126
00:08:28,950 --> 00:08:36,510
‫Tak więc znowu wiele wyzwań stawianych na zmienną kątową, która wchodzi w przestrzeń mieszania i przetestuj ją, wypróbuj w grze

127
00:08:36,510 --> 00:08:39,840
‫i sprawdź, czy jesteś w stanie skutecznie biegać.

128
00:08:41,220 --> 00:08:41,400
‫Dobra.

129
00:08:41,400 --> 00:08:41,830
‫Witamy spowrotem.

130
00:08:41,850 --> 00:08:45,720
‫Więc zamierzamy przeciągnąć w kącie Ghany, zmienny kąt ustawienia.

131
00:08:46,260 --> 00:08:48,150
‫Zamierzam ustawić kąt od odchylenia.

132
00:08:48,150 --> 00:08:53,400
‫A my dostaniemy kod wykonania z końca speeda, skompilujemy i zapiszemy to.

133
00:08:53,400 --> 00:08:56,580
‫I przejdziemy do piaskownicy i wciśniemy Play.

134
00:08:58,190 --> 00:09:00,200
‫A teraz spróbujmy obejść kontrolę.

135
00:09:00,200 --> 00:09:05,210
‫Byłoby to idealne rozwiązanie, abyś mógł przetestować różne gradienty i niuanse.

136
00:09:05,210 --> 00:09:10,220
‫I na pewno możesz zobaczyć, czy teraz zacznę się poruszać, mogę się poruszać

137
00:09:10,220 --> 00:09:14,810
‫do tyłu, do przodu, sprintem i na boki i 45 stopni.

138
00:09:14,810 --> 00:09:20,300
‫Wszystko to działa w oparciu o matematykę, którą obliczyliśmy, aby obliczyć nasz kąt.

139
00:09:21,640 --> 00:09:22,090
‫Świetna sprawa.

140
00:09:22,090 --> 00:09:28,870
‫Tak więc nauczyliśmy się dużo o transformatach i wektorach oraz o tym, jak można przekształcać wektory, zarówno odwrotne, jak

141
00:09:28,870 --> 00:09:30,190
‫i do przodu.

142
00:09:30,610 --> 00:09:36,460
‫A w następnym wykładzie przyjrzymy się naprawieniu przesuwania się stopy, które tutaj widzimy.

143
00:09:36,730 --> 00:09:37,450
‫Zobaczę cię tam.

