﻿1
00:00:04,390 --> 00:00:05,560
‫Cześć i witaj.

2
00:00:05,560 --> 00:00:11,230
‫W tym wykładzie będziemy tworzyć platformy obrotowe i ruchome.

3
00:00:11,230 --> 00:00:17,560
‫Zrobimy to, poznając typ rotatora F w C++, dzięki czemu będziemy mogli dodać trochę

4
00:00:17,560 --> 00:00:20,950
‫więcej innego elementu do naszej układanki.

5
00:00:20,950 --> 00:00:23,950
‫Zanurzmy się i dowiedzmy, jak to działa.

6
00:00:24,280 --> 00:00:28,300
‫Porozmawiajmy więc o wypełnieniu naszej funkcji obracania platformy.

7
00:00:28,510 --> 00:00:34,930
‫Więc robienie rotacji jest bardzo podobne do sposobu, w jaki robimy lokalizację i mamy bardzo podobne

8
00:00:34,930 --> 00:00:35,350
‫funkcje.

9
00:00:35,350 --> 00:00:43,240
‫Możemy zadzwonić zamiast dzwonić, uzyskać lokalizację aktora, możemy zadzwonić, zamiast tego uzyskać rotację aktorów.

10
00:00:43,240 --> 00:00:49,270
‫A jeśli pójdę i umieszczę nawiasy na końcu tego wiersza i po prostu najadę

11
00:00:49,270 --> 00:00:55,630
‫na funkcję, wówczas Visual Studio IntelliSense pokaże nam, że wartość zwracana z tego to rotator F.

12
00:00:55,630 --> 00:01:02,110
‫Użyliśmy wektora F podczas pracy z lokalizacjami i rozmawialiśmy o rotatorach w poprzednich

13
00:01:02,110 --> 00:01:02,830
‫rozdziałach.

14
00:01:02,830 --> 00:01:07,090
‫Przyjrzyjmy się więc umieszczeniu tego rotatora F w zmiennej lokalnej.

15
00:01:07,090 --> 00:01:14,920
‫Więc typem będzie F rotator i nazwiemy to bieżącą rotacją równą rotacji get aktora, wstawiamy

16
00:01:14,920 --> 00:01:17,680
‫średnik na końcu linii.

17
00:01:17,680 --> 00:01:20,260
‫Zamierzam również usunąć oświadczenie dziennika, ponieważ już go nie potrzebujemy.

18
00:01:20,260 --> 00:01:25,450
‫A potem to, co chcemy zrobić, jest w zasadzie dokładnie takie samo, jak

19
00:01:25,450 --> 00:01:31,810
‫zrobiliśmy z prędkością platformy, która jest rodzajem prędkości obrotowej pomnożonej przez czas delta dodany do bieżącego obrotu.

20
00:01:31,810 --> 00:01:35,470
‫Więc jaka powinna być ta prędkość obrotowa?

21
00:01:35,470 --> 00:01:39,520
‫W tym miejscu chcemy przejść do pliku nagłówkowego i dodać nową właściwość U.

22
00:01:39,520 --> 00:01:48,760
‫Więc dodam to poniżej odległości ruchu i będę miał edycję właściwości U w dowolnym miejscu, a następnie nadaję

23
00:01:49,300 --> 00:01:55,900
‫jej kategorię równą temu czasowi. Nazywam to obrotem i zamierzam zmienić nazwa kategorii

24
00:01:55,900 --> 00:02:00,100
‫od ruchomej platformy do ruchomej w obu przypadkach.

25
00:02:00,100 --> 00:02:03,850
‫Więc będziemy mieć kategorię do przenoszenia, kategorię do rotacji.

26
00:02:03,850 --> 00:02:11,800
‫Następnie pod tą właściwością umieścimy rotator F o nazwie prędkość rotacji i nie przypiszemy jej tutaj wartości domyślnej,

27
00:02:11,800 --> 00:02:16,780
‫ponieważ domyślnie nie chcę, aby żadna z naszych platform się obracała.

28
00:02:16,780 --> 00:02:21,190
‫Więc domyślną wartością będzie 000 i właśnie tego potrzebujemy.

29
00:02:21,280 --> 00:02:26,470
‫Umieszczę więc tutaj średnik na końcu wiersza i teraz możemy wrócić do pliku

30
00:02:26,470 --> 00:02:31,330
‫C++ i użyć tej zmiennej składowej w naszej funkcji platformy rotacji.

31
00:02:31,330 --> 00:02:42,610
‫Więc chcemy zrobić bieżący obrót równy bieżącemu obrotowi plus prędkość obrotu pomnożona przez czas Delta i

32
00:02:42,610 --> 00:02:46,750
‫umieścić średnik na końcu linii.

33
00:02:46,900 --> 00:02:52,660
‫A teraz ostatnim elementem układanki jest ustawienie naszego aktora na tę nową rotację.

34
00:02:52,660 --> 00:02:58,300
‫Więc dokładnie tak, jak byś się spodziewał, może małym wyzwaniem dla ciebie, w rzeczywistości jest to,

35
00:02:58,300 --> 00:03:00,130
‫jak byś zrobił to sam?

36
00:03:01,970 --> 00:03:10,430
‫No cóż, użyjemy funkcji set actor rotation, a na końcu wiersza przekażemy

37
00:03:10,430 --> 00:03:14,930
‫argument bieżącej rotacji i umieścimy średnik.

38
00:03:14,960 --> 00:03:19,160
‫Teraz niestety nie działa to tak prosto.

39
00:03:19,310 --> 00:03:22,190
‫Zwróciłem na to uwagę, jak zauważyli niektórzy uczniowie w asystencie nauczyciela.

40
00:03:22,190 --> 00:03:27,920
‫Dan, dziękuję bardzo, zwrócił uwagę, że samo dodawanie rotacji razem w ten sposób nie zawsze

41
00:03:27,920 --> 00:03:32,710
‫zadziała z powodu pewnych komplikacji związanych z rotacjami owijającymi się wokół siebie.

42
00:03:32,720 --> 00:03:38,870
‫Jeśli przejdziesz aż do -90 stopni obrotu, w pewnym momencie będziesz musiał przestawić się na plus 90 stopni obrotu

43
00:03:38,870 --> 00:03:41,070
‫i tak dalej i tak dalej.

44
00:03:41,090 --> 00:03:49,580
‫Więc lepszym sposobem na obejście tego, zamiast ustawiania aktywnej rotacji, jest wywołanie rotacji lokalnej aktora

45
00:03:49,580 --> 00:03:50,540
‫add.

46
00:03:50,540 --> 00:03:57,110
‫I możesz zauważyć, że jest kilka dodanych lokalnych trans form aktora i lokalnego przesunięcia, które jest dla

47
00:03:57,110 --> 00:03:57,830
‫lokalizacji.

48
00:03:57,830 --> 00:04:00,920
‫Możesz więc użyć tego również zamiast dodawać lokalizację.

49
00:04:00,920 --> 00:04:05,840
‫Jednak nie ma tego samego rodzaju problemów, które napotkamy w skrajnych przypadkach wokół

50
00:04:05,840 --> 00:04:06,380
‫rotacji.

51
00:04:06,380 --> 00:04:12,800
‫Więc sugerowałbym, abyś zamiast tego dodał tutaj rotację lokalną aktora, a następnie po

52
00:04:12,800 --> 00:04:19,670
‫prostu wstawiasz prędkość rotacji pomnożoną przez czas Delta, a resztę kodu wykonuje automatycznie za ciebie.

53
00:04:19,670 --> 00:04:22,100
‫Więc możemy po prostu iść dalej i pozbyć się tych linii.

54
00:04:22,100 --> 00:04:27,560
‫I masz prosty dodatek do rotacji lokalnej, która się tutaj dzieje, i możesz również się

55
00:04:27,560 --> 00:04:31,670
‫tego pozbyć, uzyskując bieżącą rotację, ponieważ jej już nie potrzebujemy.

56
00:04:31,850 --> 00:04:35,450
‫Przejdźmy więc do edytora i naciśnij przycisk kompilacji.

57
00:04:35,450 --> 00:04:37,520
‫A kiedy to zrobisz, zamknij dziennik.

58
00:04:37,640 --> 00:04:42,530
‫Wybierzmy jedną z platform na poziomie, który zrobi którykolwiek z nich i spójrzmy na kategorie.

59
00:04:42,530 --> 00:04:46,970
‫Więc poruszamy się i mamy rotację i mamy wtedy prędkość rotacji.

60
00:04:46,970 --> 00:04:54,890
‫Więc chcę obrócić tę platformę wokół jej osi Z prawdopodobnie, powiedzmy, około 90 stopni na sekundę.

61
00:04:54,890 --> 00:04:57,920
‫Tak więc wykonanie pełnego obrotu zajmuje 4 sekundy.

62
00:04:57,950 --> 00:04:59,990
‫Chodźmy dalej i włączmy odtwarzanie.

63
00:04:59,990 --> 00:05:00,620
‫I proszę bardzo.

64
00:05:00,620 --> 00:05:03,590
‫Mamy platformę obrotową i ruchomą.

65
00:05:03,590 --> 00:05:11,270
‫Tak więc w przeciwieństwie do mechanizmu platformy ruchomej, nie musimy się martwić, że nasza platforma obrotowa faktycznie porusza się do

66
00:05:11,270 --> 00:05:13,040
‫przodu i do tyłu.

67
00:05:13,040 --> 00:05:16,310
‫Jeśli chcesz, żeby to zrobił, to możliwe rozszerzenie, o którym możesz pomyśleć.

68
00:05:16,310 --> 00:05:22,400
‫Ale dla mnie to wystarczy, ponieważ chcemy, aby te rzeczy szły w kółko w tym

69
00:05:22,400 --> 00:05:23,420
‫samym kierunku.

70
00:05:23,630 --> 00:05:29,270
‫Więc pozwól mi usunąć rotację z tej konkretnej platformy, ponieważ nie chcemy, aby ta platforma

71
00:05:29,270 --> 00:05:30,200
‫się obracała.

72
00:05:30,200 --> 00:05:37,640
‫Dlatego lubię rzucić wyzwanie, aby zrobić platformę obrotową z dźwiękiem, w zasadzie jeszcze jeden wariant dla nas do

73
00:05:37,640 --> 00:05:40,220
‫użycia i znalezienia odpowiedniej siatki.

74
00:05:40,220 --> 00:05:45,980
‫Wybrałbym coś, co jest niejasno okrągłe, aby miało sens jako obrotowa platforma i

75
00:05:45,980 --> 00:05:52,640
‫nadawał jej domyślną prędkość obrotową i umieszczał na poziomie, aby stworzyć kawałek obracającej się układanki platformy,

76
00:05:52,640 --> 00:05:54,380
‫którą możesz przejść.

77
00:05:54,380 --> 00:05:56,300
‫Wstrzymaj wideo i spróbuj.

78
00:05:59,400 --> 00:05:59,700
‫Dobra.

79
00:05:59,700 --> 00:06:00,660
‫Witamy spowrotem.

80
00:06:00,690 --> 00:06:08,610
‫Więc przejdziemy dalej do naszej szuflady z treścią i poszukamy klas C++, Obstacle Assault i klikniemy prawym przyciskiem myszy

81
00:06:08,610 --> 00:06:14,270
‫na poruszającą się platformę, aby utworzyć urządzenie klasy blueprint pochodzące z tego.

82
00:06:14,280 --> 00:06:21,060
‫Nazwiemy to platformą rotacyjną BP i umieścimy ją w ścieżce treści i

83
00:06:21,060 --> 00:06:23,430
‫stworzymy klasę blueprint.

84
00:06:23,430 --> 00:06:27,180
‫Gdy edytor się pojawi, zadokujmy go w naszym głównym oknie.

85
00:06:27,180 --> 00:06:33,180
‫Zamknę przeglądarkę treści, która wydaje się wyskakiwać za każdym razem, i przejdę do naszego

86
00:06:33,180 --> 00:06:39,390
‫głównego poziomu i przejdę na wyspę ze wszystkimi naszymi zasobami testowymi po kliknięciu prawym przyciskiem myszy.

87
00:06:40,260 --> 00:06:44,490
‫Idź tutaj i zobaczmy, czy jest coś, co wygląda dobrze.

88
00:06:44,490 --> 00:06:48,600
‫Podoba mi się tutaj wygląd tych platform.

89
00:06:48,600 --> 00:06:55,710
‫Jeśli kliknę prawym przyciskiem myszy lub po prostu kliknę, wtedy siatka użyta tutaj w statycznej

90
00:06:55,740 --> 00:06:59,760
‫siatce to platforma SM A Więc poszukajmy tego.

91
00:06:59,760 --> 00:07:07,620
‫Przejdźmy do naszych planów, otwórz zawartość, narysuj, przejdź do wszystkich, a następnie wyszukaj

92
00:07:07,620 --> 00:07:14,710
‫platformę podkreślenie M, podkreślenie A i mamy siatkę, która jest tutaj.

93
00:07:15,270 --> 00:07:16,890
‫Drugi dla mnie.

94
00:07:16,980 --> 00:07:21,480
‫Przeciągnę go do naszego okienka ekranu, aby mieć naszą platformę.

95
00:07:21,480 --> 00:07:24,090
‫Zobaczmy teraz, gdzie jest to wyśrodkowane.

96
00:07:24,090 --> 00:07:25,860
‫Czy jest wyśrodkowany na środku?

97
00:07:25,860 --> 00:07:30,840
‫Tak, jest, co jest dobre i ważne, ponieważ potrzebujemy, aby obracał się wokół środka.

98
00:07:30,840 --> 00:07:34,560
‫W przeciwnym razie ta okrągła platforma będzie wyglądać trochę dziwnie.

99
00:07:34,770 --> 00:07:43,680
‫Możemy ją również nieco przeskalować w wymiarach x i Y, aby ta platforma była nieco większa i możemy przejść do ustawień domyślnych

100
00:07:43,680 --> 00:07:51,180
‫klasy, aby usunąć dowolną prędkość platformy, ponieważ nie chcemy, aby się poruszała i zmniejszamy odległość ruchu do zera potencjalnie,

101
00:07:51,360 --> 00:07:57,480
‫a następnie spójrz na sekcję obrotu i ustaw ją na mniej więcej dobrze, próbowaliśmy 90

102
00:07:57,480 --> 00:08:01,440
‫stopni na sekundę i wydawało się to całkiem rozsądne.

103
00:08:01,440 --> 00:08:04,050
‫Więc chodźmy dalej i uratujmy tę obrotową platformę.

104
00:08:04,170 --> 00:08:12,270
‫Przejdziemy do naszego głównego poziomu, a następnie klikniemy prawym przyciskiem myszy na małą pływającą wyspę, na której mamy ustawiony poziom,

105
00:08:12,270 --> 00:08:14,360
‫naszą układankę, kliknij, idź tutaj.

106
00:08:14,880 --> 00:08:21,930
‫Następnie na szczycie tej wyspy chcę umieścić nasz nowy plan.

107
00:08:21,930 --> 00:08:28,050
‫Zrezygnuj więc z wyszukiwania, przejdź do katalogu głównego treści i znajdź naszą platformę rotacyjną i umieść ją na

108
00:08:28,050 --> 00:08:28,410
‫poziomie.

109
00:08:28,410 --> 00:08:31,050
‫I od razu widzę, że chcę, żeby był trochę większy.

110
00:08:31,200 --> 00:08:33,630
‫Więc chodźmy dalej i zwiększmy skalę.

111
00:08:33,630 --> 00:08:37,500
‫Jeszcze kilka jednostek, może trzy razy powinno wystarczyć.

112
00:08:37,500 --> 00:08:38,850
‫Chodźmy i zobaczmy.

113
00:08:38,850 --> 00:08:44,940
‫Teraz myślę, że może być jeszcze większy, więc zamierzam przeskalować nieco bardziej, aby zasadniczo w X

114
00:08:44,940 --> 00:08:48,630
‫i Y był pięć razy większy niż był pierwotnie.

115
00:08:48,660 --> 00:08:54,330
‫Ok, to fajny, szeroki, obracający się dysk i może być dla nas dość trudnym zadaniem.

116
00:08:54,330 --> 00:09:02,190
‫Więc zamierzam je zduplikować za pomocą alt i przeciągnij, aby zrobić kilka z nich na platformie i

117
00:09:02,190 --> 00:09:07,860
‫spróbuj je odpowiednio umieścić, a następnie przeciągnij alt o kilka więcej.

118
00:09:08,550 --> 00:09:14,320
‫Tak więc mamy tutaj ładny zestaw łamigłówek, które możemy spróbować rozwiązać.

119
00:09:14,340 --> 00:09:18,570
‫Więc po prostu poruszałem nimi trochę, aż mogłem je uzyskać prawie od krawędzi do krawędzi.

120
00:09:18,570 --> 00:09:24,540
‫I tutaj naprawdę pomaga mieć tryb gry, ponieważ możemy kliknąć prawym przyciskiem myszy w pobliżu platform

121
00:09:24,540 --> 00:09:30,450
‫i kliknąć tutaj, a tutaj są wszystkie nasze obracające się platformy, na które możemy nadepnąć.

122
00:09:30,450 --> 00:09:37,620
‫Teraz jest dla nas trochę wyzwaniem, aby łatwo i łatwo odnaleźć drogę po tych ruchomych platformach.

123
00:09:37,620 --> 00:09:41,370
‫Teraz na środku jest ta martwa strefa, którą moglibyśmy spróbować i wymazać, ale

124
00:09:41,370 --> 00:09:47,190
‫w rzeczywistości jest to dość trudne do zdobycia i pozostania w martwej strefie, więc nie zamierzam próbować umieszczać tam niczego

125
00:09:47,190 --> 00:09:48,930
‫specjalnie, aby spróbować to powstrzymać.

126
00:09:49,350 --> 00:09:50,280
‫Ale możesz zobaczyć tam idziesz.

127
00:09:50,280 --> 00:09:55,080
‫To wykonalne wyzwanie, które możemy pokonać, ale jest trochę trudne i jest zabawne.

128
00:09:55,080 --> 00:09:55,590
‫Świetne rzeczy.

129
00:09:55,590 --> 00:10:01,270
‫W tym wykładzie zobaczyliśmy, jak tworzyć obracające się platformy, poznając nowy typ, rotator F

130
00:10:01,290 --> 00:10:05,940
‫i jak możemy go użyć do ustawienia rotacji naszych aktorów.

131
00:10:05,940 --> 00:10:07,530
‫Do zobaczenia na następnym wykładzie.

