﻿1
00:00:04,770 --> 00:00:06,070
‫Hej, witaj z powrotem.

2
00:00:06,090 --> 00:00:11,850
‫W tym filmie dokonamy rozróżnienia między instancjami określonej klasy blueprint

3
00:00:11,850 --> 00:00:17,130
‫a domyślnym blueprintem, który ma zastosowanie do wszystkich instancji.

4
00:00:17,130 --> 00:00:25,050
‫Zobaczymy również, jak możemy przypisać, odczytać lub zapisać dostęp do określonej zmiennej C++ w planach.

5
00:00:25,050 --> 00:00:26,360
‫Więc zacznijmy.

6
00:00:26,370 --> 00:00:30,810
‫Jesteśmy teraz gotowi do zaprezentowania niektórych naszych komponentów w Blueprint.

7
00:00:30,930 --> 00:00:36,810
‫Więc tutaj mamy nasze komponenty i widzieliśmy, że jeśli klikniemy na każdy z nich, nasz panel szczegółów

8
00:00:36,810 --> 00:00:38,040
‫jest całkowicie pusty.

9
00:00:38,040 --> 00:00:44,070
‫Musimy więc nauczyć się, jak możemy udostępnić pewne właściwości do projektu, a robimy to za pomocą

10
00:00:44,070 --> 00:00:45,960
‫naszego makra właściwości U.

11
00:00:45,960 --> 00:00:51,060
‫Wróćmy więc do kodu VS i spójrzmy na makro właściwości You.

12
00:00:51,090 --> 00:00:53,010
‫To jest specjalne makro.

13
00:00:53,010 --> 00:00:59,730
‫Jest unikalny dla Unreal Engine i ma ten zestaw nawiasów, ponieważ może teraz pobierać parametry wejściowe,

14
00:00:59,730 --> 00:01:06,390
‫aby pokazać, jak eksponować rzeczy w określony sposób. Po prostu utworzymy kilka jednorazowych zmiennych, które

15
00:01:06,390 --> 00:01:09,870
‫możemy po prostu usunąć, gdy będziemy gotowe.

16
00:01:09,870 --> 00:01:15,450
‫Użyjemy ich tylko, aby zobaczyć, jak działa ta ekspozycja, abyśmy mogli utworzyć kilka liczb całkowitych.

17
00:01:15,450 --> 00:01:21,600
‫Zróbmy INT 32 i zamierzam nazwać to int 32 widocznym w dowolnym miejscu int.

18
00:01:21,600 --> 00:01:27,090
‫I właśnie tutaj zamierzam zainicjować to do wartości, powiedzmy 12.

19
00:01:27,090 --> 00:01:33,390
‫Teraz, aby udostępnić to systemowi odbić, będziemy potrzebować nowego makra właściwości.

20
00:01:33,390 --> 00:01:36,480
‫To jest tylko zwykła zmienna całkowita.

21
00:01:36,660 --> 00:01:41,880
‫To nie jest komponent taki jak te, więc nie pojawi się na karcie komponentów.

22
00:01:41,910 --> 00:01:48,600
‫Pamiętaj, że tutaj, w planie, mamy tę sekcję komponentów i pojawią się tutaj wszystkie komponenty,

23
00:01:48,600 --> 00:01:51,630
‫ale pojawią się wszystkie zwykłe zmienne.

24
00:01:51,630 --> 00:01:58,590
‫Jeśli klikniemy na przykład BP Pond, Tank Self, zobaczymy wszystkie inne zmienne, które nie

25
00:01:58,590 --> 00:02:00,120
‫są komponentami.

26
00:02:00,120 --> 00:02:05,250
‫Wracając więc do vs code, zdecydujmy, jak zamierzamy uwidocznić widoczne w dowolnym miejscu.

27
00:02:05,250 --> 00:02:09,600
‫INT Cóż, przedstawię wam kilka słów kluczowych dotyczących własności.

28
00:02:09,600 --> 00:02:13,090
‫Są to opcje, które można umieścić w nawiasach dla U.

29
00:02:13,110 --> 00:02:14,280
‫Makro właściwości.

30
00:02:14,490 --> 00:02:17,400
‫W tym przypadku dodamy widoczne w dowolnym miejscu.

31
00:02:17,430 --> 00:02:19,860
‫Teraz przejdźmy dalej i skompilujmy to.

32
00:02:20,100 --> 00:02:20,520
‫Dobra.

33
00:02:20,520 --> 00:02:23,250
‫Więc skompilowaliśmy, wskoczmy z powrotem do edytora.

34
00:02:23,250 --> 00:02:30,780
‫A tutaj, w BP Pond Tank, mam samodzielnie wybrany zbiornik BP pond i mogę wyszukać widoczne w panelu szczegółów,

35
00:02:30,780 --> 00:02:38,340
‫a tutaj jest moje widoczne w dowolnym miejscu, aby zauważyć, że plan umieszcza spacje między każdym ze słów dzięki

36
00:02:38,340 --> 00:02:44,160
‫sposobowi, w jaki nazwałem to z Camel Case i sprawdź to, widzimy, że ma

37
00:02:44,160 --> 00:02:46,350
‫wartość 12 i jest wyszarzone.

38
00:02:46,350 --> 00:02:48,960
‫Właściwie nie możemy tego w ogóle edytować.

39
00:02:48,960 --> 00:02:50,580
‫A więc to właśnie oznacza „widoczne w dowolnym miejscu”.

40
00:02:50,580 --> 00:02:54,270
‫Oznacza to, że jest widoczny, ale nie możemy edytować tej właściwości.

41
00:02:54,300 --> 00:02:57,540
‫Ok, więc chodźmy dalej i stwórzmy kolejną INT 32.

42
00:02:57,540 --> 00:03:00,960
‫Nazwę tę jedną edycję w dowolnym miejscu int.

43
00:03:01,260 --> 00:03:10,230
‫I w tym celu podam mu wartość, powiedzmy 22, a ten otrzyma własne makro właściwości U i zamiast

44
00:03:10,230 --> 00:03:13,770
‫widocznego gdziekolwiek, dam temu słowo kluczowe.

45
00:03:13,770 --> 00:03:15,210
‫Edytuj w dowolnym miejscu.

46
00:03:15,300 --> 00:03:21,690
‫Idźmy dalej i skompilujmy to i wróćmy tutaj w edytorze. Zamiast tego będę szukać edit w dowolnym miejscu, a

47
00:03:21,690 --> 00:03:28,080
‫tutaj jest moja edycja w dowolnym miejscu i widać, że ma wartość 22, tylko że nie jest już wyszarzona.

48
00:03:28,080 --> 00:03:30,060
‫Mogę to wybrać, mogę to zmienić.

49
00:03:30,060 --> 00:03:31,320
‫Jest edytowalny.

50
00:03:31,320 --> 00:03:32,970
‫To właśnie oznacza edycja w dowolnym miejscu.

51
00:03:32,970 --> 00:03:34,560
‫To znaczy, że możemy to zmienić.

52
00:03:34,590 --> 00:03:40,950
‫Więc nawet jeśli inicjujemy ją na 22 w C++, możemy nadpisać tę wartość tutaj w planie i

53
00:03:40,950 --> 00:03:42,600
‫nadać jej nową wartość.

54
00:03:42,600 --> 00:03:48,300
‫Więc teraz wiesz już o Widoczny wszędzie i edytuj wszędzie, ale jest więcej słów kluczowych niż te

55
00:03:48,300 --> 00:03:48,780
‫dwa.

56
00:03:48,780 --> 00:03:57,450
‫Na przykład stwórzmy nowy int 32 i nazwijmy tę jedną widoczną instancję tylko int i zainicjujmy to jako

57
00:03:57,450 --> 00:03:58,350
‫11.

58
00:03:58,350 --> 00:04:05,100
‫Teraz pobierze swoje makro właściwości, a słowo kluczowe, które podam temu, jest tylko widocznym

59
00:04:05,100 --> 00:04:05,940
‫egzemplarzem.

60
00:04:05,940 --> 00:04:12,630
‫Skompilujmy to i wróćmy tutaj w panelu szczegółów w schemacie, który będę szukać widocznych teraz zauważ, że możemy

61
00:04:12,630 --> 00:04:17,340
‫zobaczyć widoczne w dowolnym miejscu int, ale gdzie jest nasza nowa zmienna?

62
00:04:17,340 --> 00:04:19,440
‫Nazwaliśmy to tylko widocznym egzemplarzem.

63
00:04:19,440 --> 00:04:21,960
‫INT Zobacz tylko widoczne wystąpienie.

64
00:04:21,960 --> 00:04:24,720
‫INT Cóż, nie widzimy tego tutaj, ale spójrz na to.

65
00:04:24,720 --> 00:04:29,730
‫Wezmę nasz zbiornik BP ze stawem i przeciągnę jeden z nich w świat tutaj.

66
00:04:29,730 --> 00:04:31,560
‫I możemy zobaczyć na świecie liniowce.

67
00:04:31,560 --> 00:04:35,370
‫Nagle mamy na świecie zbiornik stawowy BP.

68
00:04:35,370 --> 00:04:42,300
‫Teraz, po wybraniu tego, mogę zejść tutaj do panelu szczegółów i wyszukać widoczne teraz sprawdź to,

69
00:04:42,300 --> 00:04:48,810
‫teraz możemy zobaczyć nasze widoczne w dowolnym miejscu int i naszą widoczną instancję tylko int.

70
00:04:48,810 --> 00:04:54,750
‫Jak więc możemy to zobaczyć tutaj, ale nie możemy tego zobaczyć, gdy patrzymy na sam plan.

71
00:04:54,750 --> 00:04:56,790
‫Cóż, chcę dokonać rozróżnienia.

72
00:04:56,790 --> 00:05:01,770
‫Widzisz, kiedy mamy nasz projekt tutaj w przeglądarce treści, możemy go dwukrotnie kliknąć, możemy go

73
00:05:01,770 --> 00:05:03,750
‫otworzyć i zobaczyć jego właściwości.

74
00:05:03,750 --> 00:05:04,020
‫Co?

75
00:05:04,090 --> 00:05:07,150
‫Patrzymy tutaj, to domyślny plan.

76
00:05:07,150 --> 00:05:11,140
‫Zawiera wszystkie domyślne informacje dotyczące planu.

77
00:05:11,140 --> 00:05:16,360
‫Ale jak tylko przeciągnę jedną na poziom, mamy teraz coś, co nazywa się instancją.

78
00:05:16,360 --> 00:05:23,530
‫Więc ten konkretny BP -- zbiornik, który istnieje na świecie, jest przykładem zbiornika BP w stawie.

79
00:05:23,530 --> 00:05:30,010
‫W rzeczywistości możemy przeciągnąć wiele instancji, a każda z nich, która istnieje na świecie, jest instancjami

80
00:05:30,010 --> 00:05:31,510
‫zbiornika BP pond.

81
00:05:31,510 --> 00:05:34,840
‫Różni się to od domyślnego planu.

82
00:05:35,080 --> 00:05:40,810
‫Oto mały wykres, do którego możesz się odwołać, a my będziemy go bardziej uzupełniać,

83
00:05:40,810 --> 00:05:42,520
‫gdy poznamy więcej specyfikatorów.

84
00:05:42,520 --> 00:05:48,640
‫Do tej pory widzieliśmy tylko widoczne w dowolnym miejscu, które zobaczysz zarówno pod kolumnami domyślnymi, jak

85
00:05:48,640 --> 00:05:49,420
‫i instancjami.

86
00:05:49,540 --> 00:05:52,120
‫I jest w rzędzie zatytułowanym Tylko do odczytu.

87
00:05:52,120 --> 00:05:57,640
‫Możesz więc zobaczyć na tym wykresie, że widoczna w dowolnym miejscu Twoja właściwość będzie widoczna tylko.

88
00:05:57,640 --> 00:06:02,260
‫Nie będzie można go edytować, ale będzie widoczny zarówno w ustawieniach domyślnych, jak i instancji.

89
00:06:02,260 --> 00:06:07,510
‫Podczas gdy widoczna instancja ma dostęp tylko do odczytu, ale tylko do instancji.

90
00:06:07,510 --> 00:06:10,540
‫W rzeczywistości nie można go zobaczyć na domyślnym planie.

91
00:06:10,540 --> 00:06:16,420
‫A potem dowiedzieliśmy się o edycji w dowolnym miejscu, co pozwala nam faktycznie edytować tę właściwość na wartościach

92
00:06:16,420 --> 00:06:17,530
‫domyślnych i instancji.

93
00:06:17,530 --> 00:06:21,730
‫Dlatego istnieje zarówno w kolumnie domyślnej, jak i w kolumnie instancji.

94
00:06:21,730 --> 00:06:27,010
‫Więc jako wyzwanie chciałbym abyś dodał zmienną do podstawowej klasy stawu.

95
00:06:27,010 --> 00:06:32,920
‫Teraz umieść to w sekcji public, a to, co zamierzasz zrobić, to zdecydować, jaki typ zmiennej chcesz dodać, i

96
00:06:32,920 --> 00:06:38,020
‫może to być wszystko, ale nie jest to typ podstawowy, taki jak liczba całkowita lub zmiennoprzecinkowa.

97
00:06:38,170 --> 00:06:44,740
‫Możesz nawet uczynić go wektorem F lub łańcuchem F, jeśli chcesz po prostu zainicjować go z wartością domyślną, taką jak

98
00:06:44,740 --> 00:06:46,540
‫nasz drugi koniec 30 dwójek.

99
00:06:46,810 --> 00:06:49,030
‫A to może być dowolna zmienna, jaką chcesz.

100
00:06:49,030 --> 00:06:52,990
‫Możesz ustawić zmienną prędkość lub zmienną wytrzymałość.

101
00:06:52,990 --> 00:06:54,370
‫Masz tu trochę wolności.

102
00:06:54,370 --> 00:07:00,820
‫Teraz, po utworzeniu tej zmiennej, zdecyduj, jaki poziom dostępu chcesz dla niej, a następnie nadaj

103
00:07:00,820 --> 00:07:04,440
‫jej makro właściwości i dodaj tutaj poprawną specyfikację.

104
00:07:04,450 --> 00:07:10,210
‫Teraz zdecyduj, czy chcesz, aby było to widoczne tylko w instancji, czy w ustawieniach domyślnych, lub jeśli chcesz, aby

105
00:07:10,210 --> 00:07:16,210
‫było widoczne w dowolnym miejscu lub edytuj w dowolnym miejscu, użyj jednego ze specyfikatorów, których nauczyliśmy się do tej pory

106
00:07:16,210 --> 00:07:21,160
‫i nadaj tej zmiennej poprawną specyfikację do śmiało, wstrzymaj wideo i utwórz teraz tę zmienną.

107
00:07:23,970 --> 00:07:24,690
‫W porządku.

108
00:07:24,690 --> 00:07:26,800
‫Więc zamierzam zrobić zmienną.

109
00:07:26,820 --> 00:07:29,250
‫Teraz jest w porządku, jeśli zrobiłeś coś zupełnie innego.

110
00:07:29,250 --> 00:07:30,810
‫To tylko dla praktyki.

111
00:07:30,810 --> 00:07:38,100
‫Zamierzam zrobić float i nazwę tę prędkość i zainicjuję prędkość, aby powiedzieć 400 F.

112
00:07:38,700 --> 00:07:45,930
‫I myślę, że chciałbym, aby ta zmienna prędkości była edytowalna zarówno w instancji, jak i domyślnie.

113
00:07:45,930 --> 00:07:52,050
‫Więc dam to makro właściwości U i dokonam tej edycji w dowolnym miejscu.

114
00:07:52,050 --> 00:07:54,360
‫Więc zamierzam to skompilować.

115
00:07:54,360 --> 00:08:00,180
‫W edytorze mogę wybrać jedną z moich baz -- instancje czołgów.

116
00:08:00,330 --> 00:08:06,870
‫A tutaj w panelu szczegółów widzę moją zmienną prędkości i oczywiście mogę ją tutaj edytować.

117
00:08:06,870 --> 00:08:13,290
‫A jeśli otworzę -- tank, oto moja zmienna prędkości, jest ustawiona na 400 i można ją edytować.

118
00:08:13,290 --> 00:08:19,140
‫Podsumowując, nauczyliśmy się różnicy między instancją a domyślną wartością konkretnej klasy

119
00:08:19,140 --> 00:08:20,220
‫projektu.

120
00:08:20,220 --> 00:08:26,280
‫Nauczyliśmy się również kilku nowych specyfikatorów właściwości, takich jak Visible Anywhere, Visible, instance only i edytuj w

121
00:08:26,280 --> 00:08:27,240
‫dowolnym miejscu.

122
00:08:27,240 --> 00:08:34,050
‫W następnym filmie będziemy kontynuować naukę kontrolowania dostępu do zmiennych C++ w Blueprint przy użyciu

123
00:08:34,050 --> 00:08:35,880
‫tych nowych specyfikatorów właściwości.

124
00:08:35,970 --> 00:08:36,900
‫Zobaczymy się wkrótce.

