﻿1
00:00:04,320 --> 00:00:05,010
‫Cześć i witaj.

2
00:00:05,010 --> 00:00:11,250
‫W tym wykładzie będziemy mieć powietrze, aby podążać za nami i poruszać się po świecie,

3
00:00:11,250 --> 00:00:14,850
‫unikając przeszkód i ogólnie będąc trochę irytującym utrapieniem.

4
00:00:15,090 --> 00:00:17,280
‫Zanurzmy się i zobaczmy, jak to jest możliwe.

5
00:00:18,390 --> 00:00:24,990
‫Więc następnym najbardziej oczywistym, oczywistym elementem układanki, który musimy tutaj rozwiązać, jest zmuszenie naszej armii do

6
00:00:25,420 --> 00:00:27,400
‫ruchu w naszym kierunku.

7
00:00:27,420 --> 00:00:28,950
‫Nie jest dobrze, że po prostu tam stoją.

8
00:00:29,190 --> 00:00:31,710
‫Muszą też się poruszać, a potem strzelać.

9
00:00:31,710 --> 00:00:34,530
‫Przede wszystkim zastanówmy się, jak możemy wykonywać ruch.

10
00:00:35,400 --> 00:00:39,780
‫Teraz, kiedy poruszasz się z Ally, muszę wiedzieć o przeszkodach.

11
00:00:39,780 --> 00:00:41,490
‫Musi zrobić coś, co nazywa się odnajdywaniem ścieżki.

12
00:00:41,490 --> 00:00:45,030
‫Bo powiedzmy, chowam się tutaj w tym korytarzu i chce się do mnie dostać.

13
00:00:45,330 --> 00:00:48,470
‫Musi wiedzieć, że nie może po prostu przejść przez ścianę.

14
00:00:48,480 --> 00:00:53,670
‫Będzie musiała zaplanować swoje trasy, aby ominąć przeszkody i zbliżyć się do mnie.

15
00:00:54,270 --> 00:01:01,200
‫Sposób, w jaki zazwyczaj działa to w grach, a szczególnie w Unreal, polega na tym, że generujemy

16
00:01:01,200 --> 00:01:08,610
‫siatkę, która mówi nam, gdzie można przejść na poziomie, a następnie używamy różnych algorytmów, z których jeden nazywa

17
00:01:08,610 --> 00:01:10,230
‫się odnajdywaniem gwiazd.

18
00:01:10,470 --> 00:01:17,580
‫Możesz nawigować po tej siatce i utworzyć plan trasy, a sojusznik następnie użyje tego planu trasy, aby się po niej

19
00:01:17,580 --> 00:01:17,940
‫poruszać.

20
00:01:18,360 --> 00:01:20,310
‫To jest zarys tego procesu.

21
00:01:20,310 --> 00:01:22,220
‫Na szczęście wiele z tego jest dla nas zrobione.

22
00:01:22,230 --> 00:01:23,790
‫Nie musimy tego kodować od zera.

23
00:01:24,180 --> 00:01:29,850
‫Więc to, co musimy zrobić, to przede wszystkim widzieć siatkę NAF, aw tej chwili nie możemy zobaczyć

24
00:01:29,850 --> 00:01:32,520
‫siatki NAF częściowo, ponieważ jej nie ma.

25
00:01:32,970 --> 00:01:36,670
‫Musimy więc zajrzeć do okna umieszczonego tutaj aktora.

26
00:01:36,670 --> 00:01:40,020
‫Wyobraź sobie także okno i poszukaj aktorów umieszczonych na miejscu.

27
00:01:40,650 --> 00:01:47,120
‫Musimy szukać siatki nawigacyjnej i szukamy granic objętości siatki NAF.

28
00:01:47,130 --> 00:01:53,880
‫Teraz tworzy to objętość, rodzaj pudełka, a wszystko w tym polu zostanie sprawdzone pod

29
00:01:54,120 --> 00:01:55,440
‫kątem nawigowania.

30
00:01:55,440 --> 00:02:00,480
‫Zasadniczo, czy jest płasko, czy nie jest zbyt stromo, w zasadzie czy jest ściana, nie można przejść

31
00:02:00,480 --> 00:02:03,780
‫przez ściany, nie można przejść po ścianach, ponieważ są zbyt strome.

32
00:02:04,140 --> 00:02:08,940
‫Więc jeśli przeciągamy objętość odbicia siatki NAF i po prostu przenosimy

33
00:02:08,940 --> 00:02:15,450
‫ją tutaj i po prostu lekko przebijamy przez podłogę, tak aby podłoga mogła być częścią obliczeń nawigacyjnych.

34
00:02:15,900 --> 00:02:20,910
‫Następnie musimy włączyć widoczność siatek NAF.

35
00:02:21,210 --> 00:02:25,830
‫Możesz to zrobić, klikając przycisk Pokaż w lewym górnym rogu okna widoku, a

36
00:02:25,830 --> 00:02:28,080
‫następnie klikając nawigację lub używając skrótu.

37
00:02:28,080 --> 00:02:29,820
‫P Więc użyję skrótu.

38
00:02:29,820 --> 00:02:33,840
‫P I wybierając lub nie musisz nawet wybierać głośności odbicia.

39
00:02:33,840 --> 00:02:39,180
‫Możesz natychmiast zobaczyć siatkę ekranu, która pojawiła się w granicach objętości, co mówi nam, że jest to obszar,

40
00:02:39,180 --> 00:02:40,710
‫po którym można chodzić.

41
00:02:40,800 --> 00:02:48,220
‫Więc gdybyśmy mieli naszego wroga w tym obszarze, a jego cel również znajdował się w tym obszarze, mógłby

42
00:02:48,220 --> 00:02:50,340
‫znaleźć ścieżkę wzdłuż tej siatki.

43
00:02:50,880 --> 00:02:55,170
‫Teraz spójrzmy, co się stanie, jeśli przeniesiemy to do miejsca, w którym znajduje się przeszkoda.

44
00:02:55,170 --> 00:02:59,820
‫Widać, że siatka przecina się wokół tej przeszkody.

45
00:03:00,210 --> 00:03:07,650
‫Więc tak naprawdę chcemy, aby ten tom obejmował cały nasz poziom i można było tego nie robić lub

46
00:03:07,650 --> 00:03:14,070
‫robić to tylko w pewnych segmentach, ale najłatwiej jest po prostu zwiększyć granice tego tomu,

47
00:03:14,070 --> 00:03:15,750
‫co można zrobić.

48
00:03:15,750 --> 00:03:19,140
‫Jeśli przejdziesz do okienka szczegółów po prawej stronie, zobaczysz ustawienia pędzla.

49
00:03:19,430 --> 00:03:25,200
‫Możesz zmienić rozmiar pędzla, aby zobaczyć, że możemy go powiększyć, możemy go poszerzyć

50
00:03:25,470 --> 00:03:28,740
‫i robi się czerwony, gdy jest przeliczany.

51
00:03:28,740 --> 00:03:33,240
‫Widać, że buduje siatkę NAF i im większa będzie, tym trudniej będzie zbudować

52
00:03:33,240 --> 00:03:35,400
‫siatkę NAF, tym dłużej to zajmie.

53
00:03:35,760 --> 00:03:37,560
‫Ale widać, że to działa.

54
00:03:37,560 --> 00:03:42,690
‫To wycinanie korytarzy, wycinanie przeszkód, których nie możemy obejść.

55
00:03:43,140 --> 00:03:51,900
‫Druga część tej układanki to A. I. w stanie wykonać swoje algorytmy rootowania na tej siatce.

56
00:03:52,350 --> 00:03:56,730
‫Teraz przejdźmy dalej i otwórzmy strzelankę BP, kontroler powietrza, bo chcę wam pokazać coś,

57
00:03:56,730 --> 00:03:57,840
‫co jest tutaj.

58
00:03:57,930 --> 00:04:02,310
‫Otworzę tutaj pełny edytor planów i zajrzę tutaj.

59
00:04:02,310 --> 00:04:05,940
‫Istnieje komponent zwany ścieżką podążającą za komponentem.

60
00:04:06,450 --> 00:04:12,960
‫Ten komponent odpowiada za znalezienie siatki RF, a następnie w zasadzie pozwala nam tworzyć ścieżki, podążać

61
00:04:12,960 --> 00:04:16,200
‫nimi i poruszać się po nich automatycznie.

62
00:04:16,200 --> 00:04:18,810
‫Nie musimy więc wbudowywać żadnej z tych funkcji.

63
00:04:19,170 --> 00:04:24,090
‫Wystarczy skorzystać z funkcji dostępnej w naszym sterowniku powietrza.

64
00:04:24,390 --> 00:04:33,230
‫Jeśli pójdziesz i poszukasz punktu H kontrolera powietrza i poszukujesz ruchu do funkcji, przejdźmy do

65
00:04:33,240 --> 00:04:35,460
‫z otwartymi nawiasami.

66
00:04:35,460 --> 00:04:37,170
‫Jest tu kilka opcji.

67
00:04:37,170 --> 00:04:40,080
‫Mamy jeden ruch na żądanie.

68
00:04:40,530 --> 00:04:45,450
‫Jest tu też kilka innych opcji, ale powinno to mieć inną nazwę.

69
00:04:45,450 --> 00:04:52,080
‫Teraz, w późniejszych wersjach na kolei, przenieśliśmy się do aktora i przenieśliśmy się do lokalizacji, które mają

70
00:04:52,080 --> 00:04:55,280
‫to samo rozróżnienie, co nasz punkt skupienia.

71
00:04:55,290 --> 00:05:00,570
‫Możesz ustawić ostrość na coś, co porusza się jak aktor, lub możesz ustawić ostrość na

72
00:05:00,570 --> 00:05:06,210
‫określone miejsce docelowe, takie jak punkt na trasie patrolu, na przykład może to być ruch do lokalizacji.

73
00:05:06,510 --> 00:05:10,650
‫Więc chciałbym, abyś spróbował wykonać ruch, gdy zostaniesz wyzwany.

74
00:05:10,650 --> 00:05:16,320
‫Więc zdobądź siatkę NAF w swojej scenie, spraw, aby pokryła tyle sceny, ile potrzebujesz, aby móc się

75
00:05:16,320 --> 00:05:17,820
‫poruszać i mieć ją.

76
00:05:18,000 --> 00:05:23,610
‫Podążam za tobą we wszystkich lokalizacjach, a następnie nazywam ten ruch, aby albo przenieść się do działania, albo przenieść się do lokalizacji.

77
00:05:23,610 --> 00:05:29,130
‫Ty decydujesz, który na początku gry zdobędzie A. I. goni nas.

78
00:05:29,310 --> 00:05:30,870
‫Więc zatrzymaj wideo i spróbuj.

79
00:05:32,270 --> 00:05:32,660
‫Dobra.

80
00:05:32,690 --> 00:05:33,230
‫Witamy spowrotem.

81
00:05:33,300 --> 00:05:34,280
‫Dajmy temu szansę.

82
00:05:34,610 --> 00:05:35,840
‫Więc najpierw rzeczy pierwsze.

83
00:05:35,840 --> 00:05:44,600
‫Będziemy mieli zamiar użyć ruchu do aktora i będziemy musieli ustawić aktora celu.

84
00:05:44,600 --> 00:05:50,090
‫Przejdźmy więc do naszej strzelanki, kontrolera powietrza, kropki, CP i tam rozpocznij grę.

85
00:05:50,480 --> 00:05:55,460
‫Możemy przejść do aktora i mamy już aktora do grania pionka, którego dostaliśmy z

86
00:05:55,460 --> 00:05:57,520
‫ostatniego wykładu i tylko spójrzmy.

87
00:05:57,530 --> 00:06:00,320
‫Czy są tu jakieś inne przydatne właściwości?

88
00:06:00,320 --> 00:06:01,910
‫Mamy promień akceptacji.

89
00:06:01,910 --> 00:06:03,980
‫W tej chwili nie ma promienia akceptacji.

90
00:06:03,980 --> 00:06:05,870
‫Zasadniczo zbliża się tak blisko, jak to tylko możliwe.

91
00:06:06,230 --> 00:06:08,840
‫Myślę, że to może być trochę naruszające.

92
00:06:08,840 --> 00:06:14,540
‫Dam mu promień akceptacji wynoszący dwa metry, więc będzie próbował zbliżyć się na dwa metry od nas.

93
00:06:15,170 --> 00:06:16,580
‫Więc chodźmy dalej i zbudujmy to.

94
00:06:17,720 --> 00:06:21,690
‫A kiedy to się skończy, wchodzisz do silnika i przyjrzyjmy się.

95
00:06:21,710 --> 00:06:28,760
‫Nie zamierzam tutaj rozszerzać objętości odrzuceń tylko po to, aby dać przedsmak tego, dlaczego w ogóle potrzebujemy

96
00:06:28,760 --> 00:06:29,650
‫objętości odrzuceń.

97
00:06:29,660 --> 00:06:31,880
‫Zacznijmy więc od alt p.

98
00:06:32,810 --> 00:06:33,470
‫I oto jesteśmy.

99
00:06:33,470 --> 00:06:37,790
‫Jesteśmy na siatce nawigacyjnej i ten gość podszedł do nas automatycznie.

100
00:06:38,120 --> 00:06:45,320
‫Ale jeśli zostawię tę siatkę NAF, nie będzie mógł się do mnie zbliżyć, ponieważ nie może znaleźć trasy.

101
00:06:45,380 --> 00:06:48,740
‫Nie może znaleźć sposobu, żeby się do mnie dostać.

102
00:06:49,130 --> 00:06:55,010
‫Więc to, co zamierzamy zrobić, to właściwie my, nie jestem pewien, czy tak naprawdę się tutaj

103
00:06:55,010 --> 00:07:00,890
‫dzieje, ponieważ prawdopodobnie dzieje się tak, że wchodzi w promień akceptacji mnie, a potem nie próbuje

104
00:07:00,890 --> 00:07:01,340
‫ponownie.

105
00:07:01,670 --> 00:07:09,800
‫Jednym ze sposobów sprawdzenia tego byłoby po prostu usunięcie tego promienia akceptacji i rekompilacja, a następnie możemy przejść i

106
00:07:09,800 --> 00:07:12,560
‫zobaczyć, czy o to właśnie chodzi.

107
00:07:12,590 --> 00:07:16,290
‫Więc tak, podchodzi prosto do mnie, jeśli się wyprowadzę.

108
00:07:16,310 --> 00:07:18,920
‫Cóż, w zasadzie zapomniał o tym poleceniu.

109
00:07:19,220 --> 00:07:25,400
‫Chcemy więc zrobić to w tiku, ponieważ w zasadzie, gdy do mnie dociera, rezygnuje z pomysłu, by

110
00:07:25,400 --> 00:07:26,510
‫mnie gonić.

111
00:07:26,840 --> 00:07:28,910
‫Więc przenieśmy to, aby wziąć.

112
00:07:28,910 --> 00:07:31,550
‫Nie jest to idealny sposób na zrobienie tego, ale to właśnie zamierzamy zrobić.

113
00:07:31,550 --> 00:07:37,880
‫Na razie zamierzam skopiować podpis tic z prawej strony aktora i wiem, że jest on umieszczony w sekcji

114
00:07:37,880 --> 00:07:40,550
‫publicznej, więc utworzę sekcję publiczną na górze.

115
00:07:42,740 --> 00:07:50,090
‫Skopiuj podpis, ustaw go jako nadpisanie tylko dla bezpieczeństwa, a następnie zaimplementuj go w C++ i

116
00:07:50,180 --> 00:07:57,950
‫przesuń i przenieś aktora, aby zaznaczyć i promień akceptacji jeszcze dwóch metrów, spróbuj teraz i oczywiście narzeka,

117
00:07:57,950 --> 00:08:01,310
‫że nie mamy gracz - tam.

118
00:08:01,310 --> 00:08:06,470
‫Więc chodźmy i upewnijmy się, że zatrzymamy powtarzając tę linię, która obejmuje pierwszego

119
00:08:06,470 --> 00:08:08,960
‫gracza - również w jednym tiku.

120
00:08:09,320 --> 00:08:14,990
‫A teraz powinniśmy być w stanie przetestować go poprawnie do altowego szczytu i świata, który nadchodzi i zabiera nas w

121
00:08:15,260 --> 00:08:16,220
‫odległości dwóch metrów.

122
00:08:16,220 --> 00:08:18,680
‫Odsuwam się od niego i patrzę na to.

123
00:08:18,680 --> 00:08:24,170
‫Tym razem nawet nie celuje we mnie właściwie, ale stara się iść za mną.

124
00:08:24,860 --> 00:08:29,480
‫Ale jak tylko opuszczę tę siatkę nawigacyjną, nie wie już, jak mnie znaleźć.

125
00:08:29,690 --> 00:08:31,160
‫Więc naprawmy to, dobrze?

126
00:08:31,160 --> 00:08:35,210
‫Przejdziemy do głośności odbicia siatki nawigacyjnej.

127
00:08:36,130 --> 00:08:37,330
‫Jeśli mogę to wybrać.

128
00:08:37,330 --> 00:08:37,840
‫No to jedziemy.

129
00:08:37,990 --> 00:08:44,150
‫A potem chcemy naprawdę oddalić się tutaj, aby spróbować objąć cały nasz poziom.

130
00:08:44,180 --> 00:08:49,330
‫Na zewnątrz ten poziom wygląda trochę dziwnie, ale często tak to działa: budujesz poziom,

131
00:08:49,330 --> 00:08:52,750
‫który można oglądać od środka, a nie z zewnątrz.

132
00:08:53,110 --> 00:08:55,450
‫Więc poszerzmy to znacznie.

133
00:08:55,450 --> 00:09:01,390
‫Zróbmy go znacznie wyższy, aby obejmował cały poziom i po prostu przeciągnijmy go, aby

134
00:09:01,390 --> 00:09:03,700
‫obejmował wszystkie zakresy tego poziomu.

135
00:09:04,030 --> 00:09:11,860
‫Po prostu spraw, aby było trochę szersze, trochę dłuższe i po prostu upewnij się, że wszystko to jest w pełni

136
00:09:11,860 --> 00:09:12,520
‫uwzględnione.

137
00:09:13,180 --> 00:09:17,920
‫Jak widać, zieleń pojawiła się tak, jak została obliczona, nawigacja spotkała się i po

138
00:09:17,920 --> 00:09:25,210
‫prostu upewnijmy się, że komunikat nawigacji schodzi na tyle nisko, że obejmuje najniższy obszar naszej mapy, wydaje się, że obejmuje go

139
00:09:25,210 --> 00:09:25,930
‫teraz.

140
00:09:26,260 --> 00:09:33,730
‫Więc jeśli pójdziemy dalej i możemy ukryć siatkę i nawigować teraz, kiedy już wszystko ustawiliśmy i możemy zrobić alt p, aby iść

141
00:09:33,730 --> 00:09:40,240
‫dalej i grać, a on może nas znaleźć i podążać za nami praktycznie wszędzie, gdzie pójdziemy na tym poziomie.

142
00:09:40,780 --> 00:09:47,680
‫Widać, że ufałem, że służący podąża za nami, gdziekolwiek zdecydujemy się udać.

143
00:09:47,890 --> 00:09:50,890
‫Po prostu śledzi nas i śledzi nas, co jest bardzo denerwujące.

144
00:09:51,100 --> 00:09:53,560
‫Ale jest w stanie to zrobić.

145
00:09:54,590 --> 00:09:55,130
‫Niesamowite rzeczy.

146
00:09:55,130 --> 00:10:02,330
‫W tym wykładzie zobaczyliśmy, jak możemy tworzyć i mieć siatki oraz jak możemy ich użyć, aby nasz

147
00:10:02,330 --> 00:10:05,180
‫sojusznik podążał za nami po poziomie.

148
00:10:06,520 --> 00:10:12,880
‫Następnie wrócimy do tej nowej poprawki błędu i sprawdzimy linię wzroku,

149
00:10:12,880 --> 00:10:16,150
‫aby nie zawsze gonić gracza.

150
00:10:16,360 --> 00:10:16,870
‫Zobaczyć, że?

151
00:10:18,360 --> 00:10:22,770
‫I właśnie zauważyłem jeden głupi mały błąd, który popełniłem tutaj, a mianowicie, że nie

152
00:10:22,800 --> 00:10:25,440
‫wzywam do super cięcia kodu w technologii.

153
00:10:25,650 --> 00:10:31,000
‫Więc to jest powód, dla którego czasami dostajesz te dziwne, niewyjaśnione błędy.

154
00:10:31,260 --> 00:10:36,210
‫Jeśli nie dzwonisz do super, a wtedy rzeczy nie zawsze działają zgodnie z

155
00:10:36,480 --> 00:10:41,970
‫oczekiwaniami, dlatego fokus przestał działać, ponieważ zasadniczo wyłączyliśmy technologię na wysokim kontrolerze, co nie jest dobre.

156
00:10:42,360 --> 00:10:47,250
‫Jeśli masz włączone, wszystko powinno działać normalnie z ustawionym fokusem.

