﻿1
00:00:04,450 --> 00:00:05,380
‫Cześć i witaj.

2
00:00:05,380 --> 00:00:10,630
‫W tym wykładzie przyjrzymy się generowaniu błysku wylotowego, aby po naciśnięciu spustu

3
00:00:11,410 --> 00:00:13,200
‫uzyskać efekt cząsteczkowy.

4
00:00:13,540 --> 00:00:16,570
‫Zanurzmy się więc i zobaczmy, jak możemy to zrobić z C++.

5
00:00:18,240 --> 00:00:18,460
‫Dobra.

6
00:00:18,480 --> 00:00:22,650
‫Dlatego chcemy, aby niektóre efekty cząsteczkowe pojawiały się z lufy naszej broni.

7
00:00:23,100 --> 00:00:25,140
‫Jaki będzie najlepszy sposób na zrobienie tego?

8
00:00:25,170 --> 00:00:29,550
‫Przede wszystkim przyjrzyjmy się, jakie efekty cząsteczkowe mamy tutaj dostępne.

9
00:00:29,970 --> 00:00:31,850
‫Wziąłem te z gry strzeleckiej.

10
00:00:31,860 --> 00:00:35,310
‫Oczywiście możesz użyć dowolnych efektów cząsteczkowych.

11
00:00:35,730 --> 00:00:37,770
‫Możesz je znaleźć w sklepie z zasobami.

12
00:00:37,800 --> 00:00:40,260
‫Możesz je wziąć z przykładowych projektów, jakie mam.

13
00:00:40,740 --> 00:00:42,070
‫Nie będziemy wchodzić w efekty.

14
00:00:42,090 --> 00:00:48,060
‫Tak więc pakiety zasobów, strzelaj do efektów gry, a następnie spójrz na systemy cząstek, broń, karabin szturmowy.

15
00:00:48,420 --> 00:00:53,370
‫A ja szukam kagańca, przynajmniej na początku, i chcemy ten karabin szturmowy.

16
00:00:53,650 --> 00:01:00,150
‫MF Powinieneś być w stanie zauważyć, że kompilacja shaderów zajmie trochę czasu.

17
00:01:00,150 --> 00:01:03,420
‫Ale tak zasadniczo wygląda błysk lufy.

18
00:01:03,660 --> 00:01:04,800
‫Wygląda jak błysk lufy.

19
00:01:04,800 --> 00:01:11,430
‫Więc to jest to, czego będziemy używać i spróbujemy odrodzić to w C++, gdy pociągniemy za

20
00:01:11,430 --> 00:01:12,220
‫spust.

21
00:01:12,240 --> 00:01:15,270
‫Więc przejdźmy do naszej broni.

22
00:01:15,690 --> 00:01:20,250
‫Przejdę do stopnia z bronią i zamiast tego ustawię ten komunikat dziennika, że zostałem postrzelony.

23
00:01:20,280 --> 00:01:21,570
‫Niezbyt przydatne.

24
00:01:21,870 --> 00:01:24,570
‫Chcemy wywołać efekt cząsteczkowy.

25
00:01:25,320 --> 00:01:28,860
‫Aby to zrobić, użyjemy funkcji ze statycznej rozgrywki.

26
00:01:28,860 --> 00:01:33,210
‫Scott H Przejdźmy więc do statyki rozgrywki, zacznijmy od H i zajrzyjmy tutaj.

27
00:01:33,210 --> 00:01:38,910
‫Chcemy stworzyć emiter, nazywając go spawnem i emiterem.

28
00:01:39,240 --> 00:01:45,600
‫I zobaczysz, jeśli przyjrzymy się temu, że to, co przyjmuje, jest obiektem kontekstu światowego.

29
00:01:46,020 --> 00:01:51,990
‫Obejmuje system cząstek, który jest szablonem emitera, jak go nazywają, położenie, obrót, skalę, bla,

30
00:01:51,990 --> 00:01:54,090
‫bla, bla, bla, bla.

31
00:01:54,510 --> 00:02:04,710
‫Lub alternatywnie, myślę, że możesz go dołączyć, abyśmy mogli podłączyć emiter odradzania, a to będzie próbować dołączyć go do komponentu,

32
00:02:04,710 --> 00:02:11,130
‫abyśmy mogli zobaczyć, że obejmuje to komponent sceny, do którego ma się

33
00:02:11,160 --> 00:02:11,760
‫dołączyć.

34
00:02:12,030 --> 00:02:16,650
‫Teraz, w tym przypadku, myślę, że tego właśnie chcieliśmy, zależy od efektu cząsteczkowego, o którym mowa.

35
00:02:17,130 --> 00:02:23,040
‫Ale niektóre efekty cząsteczkowe będą powodować pojawianie się cząsteczek przez pewien czas.

36
00:02:23,040 --> 00:02:26,610
‫Więc chcesz, żeby te cząsteczki wychodziły z lufy pistoletu.

37
00:02:27,150 --> 00:02:30,630
‫Gdy broń się porusza, mogą wytwarzać trochę dymu, takie rzeczy.

38
00:02:30,630 --> 00:02:35,250
‫Jeśli poruszasz pistoletem podczas strzelania, chcesz, aby efekt cząsteczkowy poruszał się razem z nim.

39
00:02:35,940 --> 00:02:40,050
‫Więc tego właśnie użyjemy, jeśli dołączony jest ten emiter odradzania.

40
00:02:40,560 --> 00:02:48,120
‫I jak tutaj jest napisane, przyjmie szablon emitera i komponenty sceny, do których musimy

41
00:02:48,120 --> 00:02:49,410
‫się podłączyć.

42
00:02:49,440 --> 00:02:51,480
‫Więc to są rzeczy, których głównie będziemy potrzebować.

43
00:02:51,810 --> 00:02:56,250
‫Ma również tę nazwę punktu dołączenia, która będzie gniazdem.

44
00:02:56,250 --> 00:03:02,460
‫Jest to dla nas bardzo przydatne, gdy wiemy, że możemy go przymocować bezpośrednio do lufy naszej broni.

45
00:03:02,460 --> 00:03:06,330
‫Nie potrzebujemy żadnych offsetów, więc spójrzmy na to.

46
00:03:06,330 --> 00:03:11,460
‫Jeśli pójdę i otworzę swój karabin BP, już wiemy, że wspomnieliśmy, że jest to siatka szkieletowa.

47
00:03:11,790 --> 00:03:18,270
‫Więc pójdę i znajdę ten karabin w przeglądarce treści i otworzę siatkę karabinu.

48
00:03:19,200 --> 00:03:24,870
‫I to, co zobaczysz po lewej, jeśli masz widoczną szybę szkieletu, to zobaczysz, że

49
00:03:24,870 --> 00:03:30,810
‫mamy korzenie karabinu, mamy magazynek do karabinu, który prawdopodobnie można wymienić czy coś, ale

50
00:03:30,810 --> 00:03:33,270
‫nie jesteśmy tym specjalnie zainteresowani.

51
00:03:33,540 --> 00:03:35,580
‫A potem jest to gniazdo lampy błyskowej.

52
00:03:35,970 --> 00:03:40,200
‫Więc to jest miejsce, w którym zamierzamy odrodzić nasz błysk lufy.

53
00:03:40,200 --> 00:03:45,510
‫Jeśli tak nie było lub twoja siatka tego nie ma, możesz śmiało dodać jeden, ponieważ zawsze możemy

54
00:03:45,510 --> 00:03:48,720
‫dodać gniazda w sposób, który widzieliśmy w poprzednich wykładach.

55
00:03:49,350 --> 00:03:51,690
‫Więc spróbujmy to odrodzić.

56
00:03:51,690 --> 00:03:59,520
‫Pierwszą rzeczą, której będziemy potrzebować, jest jedno z tych odniesień do systemu cząstek, a najlepszym sposobem na

57
00:03:59,520 --> 00:04:07,110
‫zrobienie tego ponownie, najlepszym sposobem, jaki znam, jest utworzenie nowej właściwości i zrobienie tego w schemacie.

58
00:04:07,110 --> 00:04:12,360
‫Można to zrobić na inne sposoby, używając odwołań nazwanych, ale naprawdę nie lubię używać odwołań do nazw.

59
00:04:12,360 --> 00:04:17,430
‫Łatwo się psują, jeśli zmienisz nazwy rzeczy, o wiele łatwiej to zrobić w schemacie, w którym wszystko to jest obsługiwane

60
00:04:17,430 --> 00:04:17,970
‫za Ciebie.

61
00:04:18,360 --> 00:04:20,490
‫Zamierzamy zrobić z tego nową nieruchomość.

62
00:04:20,640 --> 00:04:29,580
‫Edytuj wartości domyślne, a właściwie może to być edycja w dowolnym miejscu y, ponieważ gdybyśmy mieli to zmienić podczas gry, co możesz chcieć zrobić,

63
00:04:29,610 --> 00:04:34,170
‫jeśli próbujesz poprawić rzeczy i powiedzieć, czy ten fakt cząstek wygląda lepiej

64
00:04:34,170 --> 00:04:37,260
‫niż ten, to to by faktycznie zadziałało.

65
00:04:37,260 --> 00:04:40,530
‫Następnym razem, gdy strzelisz, zostanie utworzony inny efekt cząsteczkowy.

66
00:04:41,190 --> 00:04:46,680
‫A potem tego typu musi być nowym wskaźnikiem systemu cząstek, który w ten

67
00:04:46,800 --> 00:04:49,680
‫sposób nazwiemy naszym błyskiem w lufie.

68
00:04:50,190 --> 00:04:53,010
‫I to właśnie zamierzamy ustawić w planach.

69
00:04:53,010 --> 00:05:01,560
‫Wróćmy do naszej metody wyzwalania ciągnącego w C++ i chcemy ją nazwać funkcją statyki

70
00:05:01,560 --> 00:05:02,370
‫gry.

71
00:05:03,270 --> 00:05:11,910
‫Tak więc, statystyki gry zauważysz, że nie jest to tutaj autouzupełnianie, ponieważ muszę umieścić w tym VI wskaźnik myszy na statyce

72
00:05:11,910 --> 00:05:15,690
‫rozgrywki, aby zobaczyć, że jest ona pod klasami silników.

73
00:05:16,050 --> 00:05:17,550
‫Rozgrywka Kismet jest statyczna.

74
00:05:17,610 --> 00:05:24,840
‫Więc wszystko, co musimy zrobić, to pamięć statyczna gry kismet i powinniśmy mieć statystyki gry, z których można

75
00:05:24,840 --> 00:05:25,650
‫automatycznie uzupełniać.

76
00:05:26,070 --> 00:05:31,280
‫A my chcemy się odrodzić i to może, ale nie musi działać, ze względu na nierealną wersję, w której się znajduję.

77
00:05:31,290 --> 00:05:37,970
‫Chcemy odrodzić dołączony emiter i chcemy, aby ten błysk wylotowy znajdował się tutaj.

78
00:05:39,490 --> 00:05:46,330
‫I chcemy dołączyć go do komponentu sceny w tym przypadku, chcemy go dołączyć do siatki naszych pistoletów

79
00:05:46,330 --> 00:05:53,470
‫i chcemy podłączyć go do odpowiedniego gniazda, które ponownie, pozwolę wam wypełnić, to jeśli przejdziemy do pistoletu jest

80
00:05:53,470 --> 00:05:55,410
‫gniazdo wylotowe lampy błyskowej.

81
00:05:55,420 --> 00:06:01,960
‫Skopiuję go bezpośrednio stamtąd i po prostu wstawię średnik na końcu wiersza, aby go uzupełnić.

82
00:06:02,500 --> 00:06:03,850
‫Więc to powinno działać.

83
00:06:03,880 --> 00:06:07,810
‫Przejdźmy dalej i włączmy kompilację w silniku.

84
00:06:09,080 --> 00:06:15,470
‫A kiedy skończymy kompilację, możemy przejść do naszego BP Underscore Rifle Otwórz pełny edytor planów. Po

85
00:06:15,470 --> 00:06:24,530
‫prostu wolę sobie z tym poradzić i spójrz na nasz, zobaczmy, czy przejdziemy do katalogu głównego, w rzeczywistości do samego aktora, czy do

86
00:06:24,530 --> 00:06:26,990
‫domyślnych ustawień klasy. okienko szczegółów.

87
00:06:26,990 --> 00:06:32,540
‫Widzicie, że mamy tę nową właściwość błysku w lufie, i musimy znaleźć tutaj efekt

88
00:06:32,540 --> 00:06:32,990
‫cząsteczkowy.

89
00:06:32,990 --> 00:06:36,230
‫Poszukam słowa kluczowego kaganiec.

90
00:06:36,290 --> 00:06:36,980
‫Zobaczmy.

91
00:06:37,880 --> 00:06:40,430
‫Może kaganiec nie był tym, którego szukaliśmy.

92
00:06:40,430 --> 00:06:42,080
‫To karabin szturmowy MF.

93
00:06:42,080 --> 00:06:42,860
‫Tak mysle.

94
00:06:43,190 --> 00:06:45,350
‫Pysk błyska tym, co oznacza.

95
00:06:45,350 --> 00:06:47,690
‫Więc karabin szturmowy.

96
00:06:48,530 --> 00:06:55,760
‫MF To jest ten, który chcemy skompilować i zapisać, przejść do naszej piaskownicy, nacisnąć play

97
00:06:55,760 --> 00:07:00,350
‫i sprawdzić, czy strzelanie rzeczywiście uruchamia nasz błysk wylotowy.

98
00:07:00,350 --> 00:07:03,470
‫I widać, że w tej chwili ciągle strzela.

99
00:07:03,770 --> 00:07:07,490
‫Więc chcemy, żeby był to tylko pojedynczy błysk lufy.

100
00:07:09,090 --> 00:07:12,110
‫Więc myślę, że faktycznie wybiorę inny błysk lufy.

101
00:07:12,120 --> 00:07:17,870
‫Myślę, że użyję tego z pakietu zasobów Wraith, który tutaj mamy snajpera i głównego.

102
00:07:17,880 --> 00:07:22,590
‫Wybieram podstawową tylko dlatego, że nie chcę tworzyć broni szybkostrzelnej.

103
00:07:22,860 --> 00:07:25,220
‫To trochę inny sposób robienia rzeczy.

104
00:07:25,230 --> 00:07:30,510
‫Nie ma to większego znaczenia, po prostu coś w rodzaju, gdy raz trzymasz, uruchamiasz emiter, a

105
00:07:30,510 --> 00:07:33,240
‫kiedy już z nim skończysz, chcesz go zamknąć.

106
00:07:33,510 --> 00:07:36,360
‫W takim przypadku wystarczy raz uruchomić ten emiter.

107
00:07:36,720 --> 00:07:40,740
‫Więc znowu zagramy LP i zobaczymy, czy tam jedziemy.

108
00:07:40,740 --> 00:07:46,290
‫Teraz strzelamy, dostajemy pojedynczy błysk lufy i wszystko jest krępujące.

109
00:07:46,290 --> 00:07:52,110
‫Wygląda na to, że jest ładnie przymocowany do końca pistoletu, a także poruszam się, gdziekolwiek się poruszam, niezależnie od tego,

110
00:07:52,110 --> 00:07:55,380
‫w którą stronę zwrócę się twarzą, lufa błyska we właściwym kierunku.

111
00:07:55,410 --> 00:07:55,800
‫Fajny.

112
00:07:55,800 --> 00:08:00,300
‫Cóż, to naprawdę zaczyna wyglądać bardziej jak strzelanka z efektami cząsteczkowymi.

113
00:08:00,720 --> 00:08:06,930
‫Tak więc w następnym wykładzie przyjrzymy się pierwszym krokom ray tracingu, które polegają na

114
00:08:06,930 --> 00:08:13,110
‫skontaktowaniu się z właścicielem postaci w celu uzyskania informacji, które tam zobaczę.

