﻿1
00:00:04,450 --> 00:00:05,380
‫Hallo en welkom.

2
00:00:05,380 --> 00:00:10,630
‫In deze lezing gaan we kijken naar het voortbrengen van een snuitflits, zodat wanneer we de trekker

3
00:00:11,410 --> 00:00:13,200
‫overhalen, we een deeltjeseffect krijgen.

4
00:00:13,540 --> 00:00:16,570
‫Dus laten we erin duiken en kijken hoe we dit vanuit C++ kunnen doen.

5
00:00:18,240 --> 00:00:18,460
‫Oké.

6
00:00:18,480 --> 00:00:22,650
‫Dus we willen dat sommige deeltjeseffecten uit de loop van ons geweer komen.

7
00:00:23,100 --> 00:00:25,140
‫Wat zal de beste manier zijn om dit te doen?

8
00:00:25,170 --> 00:00:29,550
‫We gaan eerst eens kijken welke deeltjeseffecten we hier beschikbaar hebben.

9
00:00:29,970 --> 00:00:31,850
‫Ik heb die uit het schietspel genomen.

10
00:00:31,860 --> 00:00:35,310
‫Uiteraard kunt u alle deeltjeseffecten gebruiken die u maar wilt.

11
00:00:35,730 --> 00:00:37,770
‫Je vindt ze in de activawinkel.

12
00:00:37,800 --> 00:00:40,260
‫Je kunt ze halen uit voorbeeldprojecten zoals ik.

13
00:00:40,740 --> 00:00:42,070
‫We gaan niet in op de effecten.

14
00:00:42,090 --> 00:00:48,060
‫Dus asset packs, schiet game-effecten en kijk dan naar deeltjessystemen, wapens, aanvalsgeweer.

15
00:00:48,420 --> 00:00:53,370
‫En ik ben in eerste instantie op zoek naar de muilkorf, en we willen dit aanvalsgeweer.

16
00:00:53,650 --> 00:00:59,610
‫MF En je zou moeten kunnen zien dat het wat tijd gaat kosten om de shaders hier te

17
00:00:59,610 --> 00:01:00,150
‫compileren.

18
00:01:00,150 --> 00:01:03,420
‫Maar zo ziet de snuitflits er in wezen uit.

19
00:01:03,660 --> 00:01:04,800
‫Het lijkt op een snuitflits.

20
00:01:04,800 --> 00:01:11,430
‫Dus dat is wat we gaan gebruiken en we gaan proberen dit in C++ te spawnen wanneer we de

21
00:01:11,430 --> 00:01:12,220
‫trekker overhalen.

22
00:01:12,240 --> 00:01:15,270
‫Dus laten we naar ons geweer gaan.

23
00:01:15,690 --> 00:01:20,250
‫Ik ga naar de schietbaan en in plaats daarvan stel ik dit logbericht in dat ik ben neergeschoten.

24
00:01:20,280 --> 00:01:21,570
‫Niet bijzonder handig.

25
00:01:21,870 --> 00:01:24,570
‫We willen een deeltjeseffect voortbrengen.

26
00:01:25,320 --> 00:01:28,860
‫En om dit te doen, gaan we een functie uit de gameplay-static gebruiken.

27
00:01:28,860 --> 00:01:33,210
‫Scott H Dus laten we naar de gameplay-static gaan, H starten en hier eens kijken.

28
00:01:33,210 --> 00:01:38,910
‫We willen een emitter spawnen die het een spawn en emitter noemt.

29
00:01:39,240 --> 00:01:45,600
‫En je zult zien dat als we hiernaar kijken dat het een wereldcontextobject is.

30
00:01:46,020 --> 00:01:51,990
‫Het neemt een deeltjessysteem in zich, wat het emittersjabloon is, zoals ze het noemen, de locatie, rotatie, schaal,

31
00:01:51,990 --> 00:01:54,090
‫bla, bla, bla, bla, bla.

32
00:01:54,510 --> 00:02:04,710
‫Of als alternatief, ik denk dat je het kunt koppelen, zodat we een spawn-emitter kunnen bevestigen, en dit gaat proberen het aan een component

33
00:02:04,710 --> 00:02:11,130
‫te bevestigen, zodat we kunnen zien dat dit een scènecomponent nodig heeft om aan te

34
00:02:11,160 --> 00:02:11,760
‫hechten.

35
00:02:12,030 --> 00:02:16,650
‫In dit geval, ik denk dat dit is wat we wilden, hangt af van het deeltjeseffect in kwestie.

36
00:02:17,130 --> 00:02:23,040
‫Maar sommige deeltjeseffecten zullen gedurende een bepaalde tijd deeltjes blijven voortbrengen.

37
00:02:23,040 --> 00:02:26,610
‫Dus je wilt dat die deeltjes uit de loop van het pistool blijven komen.

38
00:02:27,150 --> 00:02:30,630
‫Terwijl het pistool beweegt, creëren ze misschien wat rook, dat soort dingen.

39
00:02:30,630 --> 00:02:35,250
‫Als je je wapen beweegt terwijl je aan het schieten bent, wil je dat het deeltjeseffect meebeweegt.

40
00:02:35,940 --> 00:02:40,050
‫Dus dat gaan we gebruiken als deze spawn-zender eraan vast zit.

41
00:02:40,560 --> 00:02:48,120
‫En zoals hier staat, zal het de emittersjabloon en de scènecomponenten opnemen waaraan we

42
00:02:48,120 --> 00:02:49,410
‫moeten hechten.

43
00:02:49,440 --> 00:02:51,480
‫Dat zijn dus de dingen die we het meest nodig zullen hebben.

44
00:02:51,810 --> 00:02:56,250
‫Het heeft ook de naam van het bevestigingspunt dat een socket gaat worden.

45
00:02:56,250 --> 00:03:02,460
‫Dus dat is eigenlijk best handig voor ons om te weten dat we het direct aan de loop van ons geweer kunnen bevestigen.

46
00:03:02,460 --> 00:03:06,330
‫We hebben geen enkele vorm van compensatie nodig, dus laten we daar eens naar kijken.

47
00:03:06,330 --> 00:03:11,460
‫Als ik mijn BP-geweer openmaak, weten we al dat we hebben gezegd dat dit een skeletachtig gaas is.

48
00:03:11,790 --> 00:03:18,270
‫Dus ik ga dat geweer zoeken in de inhoudsbrowser en het geweergaas openen.

49
00:03:19,200 --> 00:03:24,870
‫En wat je links ziet, als je de skeletboomruit zichtbaar hebt, dan zul je zien dat

50
00:03:24,870 --> 00:03:30,810
‫we deze geweerwortels hebben, we hebben het geweermagazijn, dat vermoedelijk kan worden verwisseld of zoiets, maar daar

51
00:03:30,810 --> 00:03:33,270
‫zijn we niet echt in geïnteresseerd.

52
00:03:33,540 --> 00:03:35,580
‫En dan is er nog deze mondingsflitser.

53
00:03:35,970 --> 00:03:40,200
‫Dus dat is waar we onze snuitflits gaan spawnen.

54
00:03:40,200 --> 00:03:45,510
‫Als het dat niet had of je mesh heeft dit niet, dan kun je doorgaan en er een toevoegen omdat we altijd

55
00:03:45,510 --> 00:03:48,720
‫sockets kunnen toevoegen op de manier die we in eerdere lezingen hebben gezien.

56
00:03:49,350 --> 00:03:51,690
‫Dus laten we proberen dit te paaien.

57
00:03:51,690 --> 00:03:59,520
‫Het eerste dat we nodig hebben, is een van deze deeltjessysteemreferenties, en de beste manier om dat opnieuw te doen, de

58
00:03:59,520 --> 00:04:07,110
‫beste manier die ik ken, is door een nieuwe eigenschap te creëren en het in een blauwdruk te doen.

59
00:04:07,110 --> 00:04:12,360
‫Er zijn andere manieren waarop je dit kunt doen met benoemde verwijzingen, maar ik hou er echt niet van om naamverwijzingen te gebruiken.

60
00:04:12,360 --> 00:04:17,430
‫Ze breken gemakkelijk als je dingen hernoemt, zoveel gemakkelijker om het in een blauwdruk te doen waar dat allemaal voor je

61
00:04:17,430 --> 00:04:17,970
‫wordt afgehandeld.

62
00:04:18,360 --> 00:04:20,490
‫We gaan hier een nieuw pand van maken.

63
00:04:20,640 --> 00:04:29,580
‫Bewerk standaardinstellingen of eigenlijk kan dit overal worden bewerkt, want als we dit tijdens het spelen zouden veranderen, wat je misschien zou willen doen, als je

64
00:04:29,610 --> 00:04:34,170
‫dingen probeert aan te passen en zegt, wel, ziet dit deeltjesfeit er beter

65
00:04:34,170 --> 00:04:37,260
‫uit dan dit, dan dit zou echt werken.

66
00:04:37,260 --> 00:04:40,530
‫De volgende keer dat u fotografeert, wordt een ander deeltjeseffect gecreëerd.

67
00:04:41,190 --> 00:04:46,680
‫En dan moet het type hiervan een nieuwe deeltjessysteemaanwijzer zijn, die we

68
00:04:46,800 --> 00:04:49,680
‫zo onze snuitflits gaan noemen.

69
00:04:50,190 --> 00:04:53,010
‫En dat is wat we gaan opzetten in blauwdrukken.

70
00:04:53,010 --> 00:05:01,560
‫En laten we teruggaan naar onze pull-trigger-methode in C++ en we willen het je statische functie voor het spelen van games

71
00:05:01,560 --> 00:05:02,370
‫noemen.

72
00:05:03,270 --> 00:05:11,910
‫Dus je gameplay-statistieken merken dat het hier niet automatisch wordt aangevuld, omdat ik voor deze VI de muisaanwijzer over die gameplay-static moet opnemen,

73
00:05:11,910 --> 00:05:15,690
‫zodat je kunt zien dat het onder engine-klassen valt.

74
00:05:16,050 --> 00:05:17,550
‫Kismet-gameplay statisch.

75
00:05:17,610 --> 00:05:24,840
‫Dus alles wat we hoeven te doen is de statische opslag van de gameplay en we zouden je gameplay-statistieken moeten hebben om automatisch

76
00:05:24,840 --> 00:05:25,650
‫te voltooien.

77
00:05:26,070 --> 00:05:31,280
‫En we willen spawnen en dit kan wel of niet werken vanwege de versie waarin ik me onwerkelijk bevind.

78
00:05:31,290 --> 00:05:37,970
‫We willen de aangesloten zender spawnen en we willen deze snuitflits hier.

79
00:05:39,490 --> 00:05:46,330
‫En we willen het in dit geval aan een scènecomponent bevestigen, we willen het aan ons wapengaas bevestigen en

80
00:05:46,330 --> 00:05:53,470
‫we willen het aan de juiste aansluiting bevestigen, wat ik je nogmaals zal laten invullen is de als we overgaan aan

81
00:05:53,470 --> 00:05:55,410
‫het pistool is de mondingsflitsaansluiting.

82
00:05:55,420 --> 00:06:01,960
‫Ik ga het vanaf daar rechtstreeks kopiëren en plaats een puntkomma aan het einde van de regel om het af te maken.

83
00:06:02,500 --> 00:06:03,850
‫Dit zou dus moeten werken.

84
00:06:03,880 --> 00:06:07,810
‫Laten we overgaan en op compileren in de engine klikken.

85
00:06:09,080 --> 00:06:15,470
‫En als dat eenmaal klaar is met compileren, kunnen we ons BP Underscore Rifle gebruiken. Open de volledige blauwdruk-editor. Ik geef

86
00:06:15,470 --> 00:06:24,530
‫er de voorkeur aan om daarmee om te gaan en kijk naar onze laten we eens kijken of we naar de root gaan, in feite gaat de acteur zelf of

87
00:06:24,530 --> 00:06:26,990
‫de standaardwaarden van de klasse naar het detailvenster.

88
00:06:26,990 --> 00:06:32,540
‫Je kunt zien dat we deze snuitflitseigenschap hebben, de nieuwe, en we moeten hier een deeltjeseffect

89
00:06:32,540 --> 00:06:32,990
‫vinden.

90
00:06:32,990 --> 00:06:36,230
‫Ik ga op zoek naar het trefwoord muilkorf.

91
00:06:36,290 --> 00:06:36,980
‫Laten we eens kijken.

92
00:06:37,880 --> 00:06:40,430
‫Misschien was muilkorf niet degene die we zochten.

93
00:06:40,430 --> 00:06:42,080
‫Het is aanvalsgeweer MF.

94
00:06:42,080 --> 00:06:42,860
‫Ik denk het.

95
00:06:43,190 --> 00:06:45,350
‫De snuit flitst waar het voor staat.

96
00:06:45,350 --> 00:06:47,690
‫Aanvalsgeweer dus.

97
00:06:48,530 --> 00:06:55,760
‫MF Dat is degene die we willen compileren en opslaan en naar onze sandbox gaan en op play

98
00:06:55,760 --> 00:07:00,350
‫drukken en kijken of het schieten inderdaad onze mondingsflits activeert.

99
00:07:00,350 --> 00:07:03,470
‫En je kunt zien dat er op dit moment continu wordt gefilmd.

100
00:07:03,770 --> 00:07:07,490
‫Dus we willen dat het gewoon een enkele snuitflits is.

101
00:07:09,090 --> 00:07:12,110
‫Dus ik denk dat ik toch maar een andere snuitflits ga kiezen.

102
00:07:12,120 --> 00:07:17,870
‫Ik denk dat ik die uit het Wraith-activapakket zal gebruiken, die we hier hebben sluipschutter en primair.

103
00:07:17,880 --> 00:07:22,590
‫Ik ga de primaire kiezen alleen omdat ik geen snelvuurwapen wil maken.

104
00:07:22,860 --> 00:07:25,220
‫Dat is een iets andere manier van doen.

105
00:07:25,230 --> 00:07:30,510
‫Niet niet enorm anders, gewoon meer een soort van zodra je vasthoudt, je de emitter start en als

106
00:07:30,510 --> 00:07:33,240
‫je ermee klaar bent, wil je hem sluiten.

107
00:07:33,510 --> 00:07:36,360
‫In dat geval wil je die zender maar één keer lanceren.

108
00:07:36,720 --> 00:07:40,740
‫Dus we gaan nog een keer LP doen en kijken of we daar gaan.

109
00:07:40,740 --> 00:07:46,290
‫Nu schieten we, we krijgen een enkele flits van de snuit en alles is hunky dory.

110
00:07:46,290 --> 00:07:52,110
‫Het lijkt mooi aan het uiteinde van het pistool te zijn bevestigd en ik beweeg me overal heen, waar ik me ook beweeg, welke

111
00:07:52,110 --> 00:07:55,380
‫kant ik ook op sta, de snuit flitst in de goede richting.

112
00:07:55,410 --> 00:07:55,800
‫Stoer.

113
00:07:55,800 --> 00:08:00,300
‫Nou, dit begint echt meer op een schietspel met deeltjeseffecten te lijken.

114
00:08:00,720 --> 00:08:06,930
‫Dus in de volgende lezing gaan we kijken naar de eerste stappen van ray tracing, wat in feite

115
00:08:06,930 --> 00:08:13,110
‫zal zijn om naar onze karaktereigenaar te gaan voor wat informatie die ik daar zal zien.

