﻿1
00:00:04,320 --> 00:00:05,670
‫Hej, witaj z powrotem.

2
00:00:05,700 --> 00:00:11,280
‫W tym filmie porozmawiamy o komponentach i o tym, jak nasz pionek bazowy będzie potrzebował

3
00:00:11,280 --> 00:00:17,490
‫niektórych z tych komponentów do takich rzeczy, jak kolizje i reprezentacja wizualna, jak siatki, a także punkt

4
00:00:17,490 --> 00:00:20,740
‫odrodzenia, z którego będą pojawiać się nasze pociski.

5
00:00:20,760 --> 00:00:26,070
‫Porozmawiamy o tym, jak komponenty, wsparcie, przywiązanie, abyśmy mogli łączyć ze sobą różne

6
00:00:26,070 --> 00:00:32,760
‫komponenty, a także o tym, jak nasz pionek ma komponent główny, który przechowuje informacje o transformacji

7
00:00:32,760 --> 00:00:33,930
‫dla --.

8
00:00:34,200 --> 00:00:40,770
‫Teraz już stworzyliśmy naszą pierwszą klasę C++ o nazwie Base -- i jesteśmy teraz gotowi do dodawania kilku

9
00:00:40,770 --> 00:00:42,630
‫rzeczy do bazy --.

10
00:00:42,690 --> 00:00:50,090
‫Baza - będzie potrzebować pewnych elementów, takich jak siatki do podstawy i wieży czołgu.

11
00:00:50,100 --> 00:00:55,470
‫C W naszym folderze oczek mamy bazę czołgu, mamy wieżę czołgu, a dla wieży mamy

12
00:00:55,470 --> 00:00:57,210
‫również podstawę i wieżę.

13
00:00:57,540 --> 00:01:00,480
‫Więc będziemy potrzebować kilku elementów siatki.

14
00:01:00,480 --> 00:01:06,930
‫Chcemy również, aby komponent kapsuły radził sobie z kolizjami, aby nasz czołg i wieża nie przechodziły

15
00:01:06,930 --> 00:01:08,000
‫przez siebie.

16
00:01:08,010 --> 00:01:10,890
‫Porozmawiajmy teraz przez chwilę o komponentach.

17
00:01:11,040 --> 00:01:17,180
‫Kiedy dodajemy składnik do klasy, musimy zdecydować, jaką klasą powinien być ten składnik.

18
00:01:17,190 --> 00:01:19,830
‫Teraz jednym wyborem jest komponent sceny.

19
00:01:20,070 --> 00:01:26,880
‫Klasa komponentu, którą widziałeś, ma pewne właściwości, takie jak przekształcenie, co oznacza, że ma lokalizację, obrót

20
00:01:26,880 --> 00:01:28,380
‫i tym podobne.

21
00:01:28,440 --> 00:01:30,330
‫Obsługuje również przywiązanie.

22
00:01:30,330 --> 00:01:34,530
‫Oznacza to, że możemy dołączyć inne komponenty do komponentu sceny.

23
00:01:34,530 --> 00:01:36,900
‫Więcej o tym, jak to działa, dowiemy się później.

24
00:01:37,020 --> 00:01:42,780
‫Komponent sceny nie ma reprezentacji wizualnej, co oznacza, że nie ma siatki ani niczego w tym

25
00:01:42,780 --> 00:01:43,410
‫rodzaju.

26
00:01:43,410 --> 00:01:45,570
‫W rzeczywistości nie możemy tego zobaczyć w grze.

27
00:01:45,570 --> 00:01:51,450
‫Teraz istnieje kilka innych klas w Unreal Engine, które wywodzą się z komponentu sceny, na

28
00:01:51,450 --> 00:01:52,650
‫przykład komponent kapsuły.

29
00:01:52,680 --> 00:01:59,130
‫Klasa komponentów kapsuły YOU jest stworzona do radzenia sobie z kolizjami i to właściwie wszystko, do czego jest dobra.

30
00:01:59,130 --> 00:02:05,190
‫Używamy komponentu kapsułki, aby nasz -- nie spadał przez podłogę ani nie przemieszczał się przez ściany i

31
00:02:05,190 --> 00:02:06,240
‫tym podobne.

32
00:02:06,240 --> 00:02:11,850
‫Teraz również pochodną klasy komponentu sceny jest komponent siatki statycznej.

33
00:02:12,150 --> 00:02:19,110
‫Klasa use static mesh component daje nam możliwość wizualnej reprezentacji, a konkretnie siatki, która będzie

34
00:02:19,140 --> 00:02:25,830
‫należeć do naszej -- klasy, którą możemy zobaczyć w świecie, gdy się nim poruszamy.

35
00:02:26,100 --> 00:02:32,550
‫Teraz, domyślnie, nasza klasa -- ma już komponent, nazywa się to komponentem głównym.

36
00:02:32,550 --> 00:02:37,440
‫Wróćmy do kodu VS i zobaczmy, czy możemy znaleźć ten główny składnik.

37
00:02:37,440 --> 00:02:43,170
‫Więc jestem tutaj w Base Pont CP i po prostu kliknę w dowolnym miejscu, takim

38
00:02:43,170 --> 00:02:48,270
‫jak tutaj w konstruktorze i mam zamiar wpisać root component tak po prostu.

39
00:02:48,450 --> 00:02:56,850
‫Teraz kliknę prawym przyciskiem myszy i kliknę przejdź do definicji i nagle mamy aktora otwartego.

40
00:02:56,850 --> 00:03:04,740
‫A tutaj w aktorach w sekcji chronionej widzimy wskaźnik komponentu o nazwie root component.

41
00:03:05,190 --> 00:03:10,470
‫Tak więc ta zmienna zwana komponentem głównym istnieje w klasie aktora.

42
00:03:10,470 --> 00:03:15,690
‫Tak więc wszystko, co pochodzi od aktora, odziedziczy tę zmienną głównego składnika.

43
00:03:16,260 --> 00:03:20,820
‫Oznacza to, że nasza baza -- również ma tę zmienną głównego składnika.

44
00:03:20,850 --> 00:03:27,360
‫Więc ilekroć myślimy o lokalizacji konkretnego -- tak naprawdę mówimy o informacji

45
00:03:27,360 --> 00:03:33,870
‫o lokalizacji przechowywanej w transformacji tego głównego komponentu, który jest komponentem sceny.

46
00:03:33,870 --> 00:03:36,690
‫Tak więc komponenty sceny mają swoją własną transformację.

47
00:03:36,720 --> 00:03:42,930
‫Zamierzam zamknąć Aktora H i usunąć ten wiersz, który dodałem do konstruktora bazy

48
00:03:42,930 --> 00:03:43,500
‫--.

49
00:03:43,890 --> 00:03:50,640
‫Wiemy więc, że nasz -- ma ten składnik główny i jego typ to widzieliście składnik, co oznacza,

50
00:03:50,640 --> 00:03:52,770
‫że nasz -- ma transformację.

51
00:03:52,770 --> 00:03:57,210
‫Ale wiemy również, że ten główny składnik nie ma reprezentacji wizualnej.

52
00:03:57,210 --> 00:03:58,380
‫Jest niewidoczny.

53
00:03:58,380 --> 00:04:05,820
‫Możemy jednak ponownie przypisać ten główny komponent do innego obiektu, którego typ pochodzi od widzianego komponentu.

54
00:04:05,850 --> 00:04:07,350
‫Teraz widzieliśmy, że U.

55
00:04:07,350 --> 00:04:10,500
‫Klasa komponentu kapsuły wywodzi się z komponentu sceny.

56
00:04:10,500 --> 00:04:17,670
‫Więc jeśli utworzymy kapsułę, możemy przypisać ją jako root zamiast domyślnego komponentu sceny.

57
00:04:17,820 --> 00:04:21,360
‫Teraz wspomnieliśmy, że komponenty sceny obsługują załącznik.

58
00:04:21,360 --> 00:04:26,790
‫Oznacza to, że możemy tworzyć inne komponenty i dołączać je do komponentu sceny.

59
00:04:26,790 --> 00:04:32,730
‫Jeśli więc utworzymy statyczny komponent siatki, na przykład o nazwie base mesh, możemy dołączyć go do

60
00:04:32,730 --> 00:04:33,510
‫głównego komponentu.

61
00:04:33,540 --> 00:04:40,080
‫Teraz, ponieważ statyczny komponent siatki wywodzi się z klasy komponentu sceny, obsługuje również dołączanie.

62
00:04:40,080 --> 00:04:44,760
‫Jeśli więc stworzymy kolejną siatkę, możemy ją dołączyć do pierwszej siatki.

63
00:04:44,760 --> 00:04:50,760
‫Moglibyśmy więc utworzyć bieżący komponent siatki statycznej siatki i dołączyć go do podstawowego komponentu siatki.

64
00:04:50,790 --> 00:04:53,940
‫Teraz możemy również po prostu tworzyć nowe komponenty sceny.

65
00:04:53,940 --> 00:05:00,690
‫Na przykład, jeśli chcemy komponentu sceny, który możemy nazwać punktem odradzania się pocisku, możemy dołączyć go do

66
00:05:00,690 --> 00:05:01,890
‫siatki wieży.

67
00:05:01,890 --> 00:05:03,750
‫Dlaczego mielibyśmy po prostu tworzyć scenę?

68
00:05:03,860 --> 00:05:04,510
‫Składnik.

69
00:05:04,520 --> 00:05:07,020
‫Nie możemy nadać mu własnej reprezentacji wizualnej.

70
00:05:07,040 --> 00:05:13,280
‫Cóż, jeśli potrzebujemy punktu odradzania, lokalizacji, z której chcielibyśmy odradzać pociski, komponent sceny jest do tego idealny, ponieważ

71
00:05:13,280 --> 00:05:19,100
‫ma własną transformację, własną lokalizację, rotację itp. i możemy użyć tego jako

72
00:05:19,100 --> 00:05:22,460
‫punktu, z którego odradzają się pociski.

73
00:05:22,490 --> 00:05:28,880
‫Tak więc po przypisaniu kapsuły jako komponentu głównego, nasz komponent główny będzie miał teraz U.

74
00:05:28,910 --> 00:05:36,560
‫Typ klasy komponentu kapsuły oraz siatka bazowa i siatka wieży byłyby statycznymi komponentami siatki, a nasz

75
00:05:36,560 --> 00:05:40,460
‫punkt odrodzenia pocisku byłby komponentem widzianym przez U.

76
00:05:40,880 --> 00:05:46,670
‫Porozmawiajmy teraz przez chwilę o tym przywiązaniu, ponieważ wszystkie te rzeczy są ze sobą połączone.

77
00:05:46,700 --> 00:05:52,850
‫Oznacza to, że gdy komponent główny porusza się w przestrzeni, wszystko, co jest do niego dołączone, porusza

78
00:05:52,850 --> 00:05:54,350
‫się wraz z nim.

79
00:05:54,740 --> 00:05:59,640
‫Ale sama siatka podstawowa może poruszać się względem korzenia.

80
00:05:59,660 --> 00:06:06,260
‫Na przykład może się obracać, a wszystko, co jest przymocowane do siatki bazowej, będzie podążać za nią.

81
00:06:06,680 --> 00:06:14,210
‫Podobnie, mamy tę siatkę wieży przymocowaną do siatki podstawowej i sama może poruszać się niezależnie od siatki

82
00:06:14,210 --> 00:06:15,020
‫podstawowej.

83
00:06:15,050 --> 00:06:21,320
‫Na przykład, jeśli obrócimy siatkę wieżyczki, obróci się ona i wszystko, co jest do niej dołączone,

84
00:06:21,320 --> 00:06:25,270
‫takie jak komponent sceny, będzie podążać wraz z siatką wieżyczki.

85
00:06:25,280 --> 00:06:30,560
‫Tak więc komponent sceny będzie się poruszał wraz z siatką wieżyczki podczas obracania.

86
00:06:30,560 --> 00:06:35,450
‫Ale oczywiście, gdybyśmy chcieli, moglibyśmy przesunąć komponent sceny względem siatki wieży.

87
00:06:35,630 --> 00:06:40,550
‫A ponieważ nic nie jest dołączone do komponentu sceny, cóż, nie ma nic do naśladowania.

88
00:06:40,580 --> 00:06:46,330
‫Przyjrzyjmy się teraz, jak działają komponenty w planach, jaki folder zawartości został wybrany.

89
00:06:46,340 --> 00:06:50,930
‫Mam zamiar kliknąć prawym przyciskiem myszy i wybrać Blueprint Class, aby utworzyć nowy plan.

90
00:06:50,960 --> 00:06:59,000
‫Wybierzmy aktora i nazwijmy go aktorem komponentów teraz dwukrotnie kliknijmy aktora komponentów i zauważmy, że mamy

91
00:06:59,000 --> 00:07:01,020
‫domyślny root sceny.

92
00:07:01,040 --> 00:07:05,040
‫Reprezentuje to zmienną głównego komponentu, którą widzieliśmy w C++.

93
00:07:05,060 --> 00:07:11,780
‫Teraz, jeśli chcemy, możemy dodać nowe komponenty, klikając przycisk Dodaj i wybierając typ komponentu, który

94
00:07:11,780 --> 00:07:12,770
‫chcemy dodać.

95
00:07:12,770 --> 00:07:15,790
‫Wyszukaj Capsule i wybierz Capsule Collision.

96
00:07:15,800 --> 00:07:17,900
‫To jest składnik kapsułki.

97
00:07:17,900 --> 00:07:20,320
‫Jego odpowiednikiem w C++ jest U.

98
00:07:20,330 --> 00:07:21,780
‫Klasa składnika kapsułki.

99
00:07:21,800 --> 00:07:24,260
‫Zauważ, że jest tuż pod domyślną sceną.

100
00:07:24,260 --> 00:07:27,440
‫Korzeń Wskazuje, że jest dołączony do tej sceny.

101
00:07:27,440 --> 00:07:30,350
‫Root Możemy kontynuować dodawanie kolejnych komponentów.

102
00:07:30,350 --> 00:07:36,620
‫Na przykład, jeśli wybierzesz Kub, zostanie dodany komponent siatki statycznej, a jego właściwość siatki statycznej

103
00:07:36,620 --> 00:07:40,430
‫w panelu szczegółów zostanie automatycznie ustawiona na sześcian.

104
00:07:40,430 --> 00:07:41,460
‫Siatka statyczna.

105
00:07:41,480 --> 00:07:46,420
‫Teraz zauważ w panelu komponentów, że kostka znajduje się tuż pod kapsułą.

106
00:07:46,430 --> 00:07:52,280
‫Jeśli klikniemy rozwijane obok niego, nie widzimy już sześcianu, więc możemy go zwinąć, aby ukryć

107
00:07:52,280 --> 00:07:55,490
‫wszelkie obiekty, które są dołączone do danego komponentu.

108
00:07:55,490 --> 00:08:01,340
‫Teraz możemy ponownie przypisać główny komponent, klikając i przeciągając jeden z naszych komponentów do domyślnego katalogu głównego

109
00:08:01,340 --> 00:08:01,970
‫sceny.

110
00:08:01,970 --> 00:08:07,370
‫Na przykład, jeśli kliknę i przeciągnę kapsułę do domyślnego katalogu głównego sceny, stanie się on teraz

111
00:08:07,370 --> 00:08:08,210
‫komponentem głównym.

112
00:08:08,210 --> 00:08:11,870
‫Więc ponownie przypisaliśmy komponent główny do tego komponentu kapsuły.

113
00:08:11,870 --> 00:08:14,180
‫Możemy również przypisać załącznik.

114
00:08:14,180 --> 00:08:16,430
‫Kliknijmy dodaj i wybierz kulę.

115
00:08:16,430 --> 00:08:21,200
‫Teraz domyślnie sfera jest przymocowana do kapsuły, tak jak statyczna siatka sześcianu.

116
00:08:21,200 --> 00:08:27,560
‫Ale jeśli kliknę i przeciągnę sferę na sześcian, sfera jest teraz dołączona bezpośrednio do sześcianu.

117
00:08:27,560 --> 00:08:33,530
‫Jeśli klikniemy sferę i przeciągniemy ją do kapsuły, mamy możliwość dodania nowego korzenia lub

118
00:08:33,530 --> 00:08:34,340
‫dołączenia.

119
00:08:34,700 --> 00:08:39,680
‫Jeśli wybierzemy przymocuj, sfera zostanie ponownie przyczepiona do kapsuły.

120
00:08:39,950 --> 00:08:46,010
‫Ale gdybyśmy wybrali make new root, sfera stałaby się zamiast tego komponentem root.

121
00:08:46,550 --> 00:08:52,910
‫Mamy więc nie tylko kontrolę nad tworzeniem nowych komponentów i sposobem ich dołączania, ale także możemy ponownie

122
00:08:52,910 --> 00:08:54,770
‫przypisać ten główny komponent.

123
00:08:55,130 --> 00:09:00,410
‫Przejdźmy dalej i wybierz kulę, klikając lewym przyciskiem myszy, przytrzymaj Shift i lewym przyciskiem myszy

124
00:09:00,410 --> 00:09:04,850
‫kostkę, aby ją również wybrać i naciśnij Delete, aby usunąć te elementy.

125
00:09:05,180 --> 00:09:10,520
‫Teraz, jeśli chodzi o twoje wyzwanie, chciałbym, abyś trochę lepiej zaznajomił się z komponentami w planach.

126
00:09:10,520 --> 00:09:12,980
‫Dodaj kilka elementów do naszego aktora.

127
00:09:12,980 --> 00:09:17,510
‫Mamy już składnik kapsułki i jest to obecnie składnik główny.

128
00:09:17,510 --> 00:09:23,960
‫Dodaj statyczny komponent siatki i dla jego statycznej siatki przypisz podstawę zbiornika, a następnie dodaj drugi statyczny

129
00:09:23,960 --> 00:09:27,950
‫komponent siatki i przypisz wieżę czołgu jako statyczną siatkę.

130
00:09:27,980 --> 00:09:34,040
‫Upewnij się, że przymocowałeś siatkę podstawy do kapsuły i przymocuj siatkę wieży do siatki podstawy.

131
00:09:34,040 --> 00:09:40,640
‫Teraz, gdy już wykonasz ten ruch i przeskalujesz podstawową siatkę i obserwuj, jak zachowuje się dołączona siatka

132
00:09:40,640 --> 00:09:42,800
‫wieży, zatrzymaj wideo i spróbuj.

133
00:09:45,720 --> 00:09:46,080
‫Dobra.

134
00:09:46,080 --> 00:09:48,780
‫Więc kliknę Dodaj i wybierzę siatkę statyczną.

135
00:09:48,780 --> 00:09:53,550
‫Teraz w panelu szczegółów ustawię siatkę statyczną na siatkę podstawy zbiornika.

136
00:09:53,550 --> 00:09:57,150
‫Następnie kliknę Dodaj i ponownie wybiorę siatkę statyczną.

137
00:09:57,150 --> 00:10:02,760
‫Zauważ, że jest on automatycznie dołączony do pierwszej statycznej siatki, ponieważ to właśnie wybrałem w

138
00:10:02,760 --> 00:10:03,840
‫panelu szczegółów.

139
00:10:03,840 --> 00:10:06,840
‫Ustawię siatkę statyczną na wieżyczce czołgu.

140
00:10:06,870 --> 00:10:12,330
‫Teraz, po wybraniu pierwszej statycznej siatki, przesunę ją i zauważę, że druga statyczna siatka dołączona

141
00:10:12,330 --> 00:10:15,330
‫do niej porusza się razem z nią.

142
00:10:15,330 --> 00:10:18,750
‫To samo działa w przypadku rotacji i skali.

143
00:10:18,750 --> 00:10:22,770
‫Gdy powiększam, dołączona siatka również się powiększa.

144
00:10:23,130 --> 00:10:29,400
‫Rozmawialiśmy więc o komponentach i widzieliśmy, jak możemy dołączać komponenty do innych komponentów oraz przesuwać

145
00:10:29,400 --> 00:10:30,480
‫i skalować.

146
00:10:30,480 --> 00:10:34,290
‫Jeden składnik wpływa na inne dołączone do niego komponenty.

147
00:10:34,290 --> 00:10:41,100
‫Widzieliśmy również, że pon dziedziczy komponent główny z klasy aktora i jest to obiekt, który przechowuje

148
00:10:41,100 --> 00:10:43,650
‫informacje o transformacji dla pionka.

149
00:10:43,980 --> 00:10:48,270
‫Dowiemy się, jak tworzyć komponenty w C++ i na kolejnych wykładach.

150
00:10:48,840 --> 00:10:50,250
‫Do zobaczenia w następnym filmie.

