﻿1
00:00:04,400 --> 00:00:05,330
‫Hallo en welkom.

2
00:00:05,330 --> 00:00:11,750
‫In deze lezing gaan we kijken hoe we nieuwe knooppunten in blueprints van C++

3
00:00:11,750 --> 00:00:17,030
‫kunnen maken, zodat we in wezen C++-functionaliteit kunnen aanroepen vanuit blueprints.

4
00:00:17,120 --> 00:00:24,470
‫Laten we erin duiken en zien hoe het nu zo goed is gedaan dat ik blauwdrukken kan gebruiken om blauwdrukknooppunten

5
00:00:24,890 --> 00:00:32,060
‫aan te roepen, maar ik wil eigenlijk onze grijper activeren vanuit dit stuk blauwdruk hier, niet enkele tekenreeksen afdrukken.

6
00:00:32,360 --> 00:00:34,400
‫Dus hoe ga ik dat doen?

7
00:00:35,060 --> 00:00:43,340
‫Gelukkig kunnen we vrij gemakkelijk een functie van een C++-klasse in een blueprint weergeven.

8
00:00:43,610 --> 00:00:46,160
‫En de manier waarop we dit doen is als volgt.

9
00:00:46,160 --> 00:00:48,530
‫Dus we gaan een nieuwe publieke functie creëren.

10
00:00:48,530 --> 00:00:52,280
‫Dus ik ga naar mijn openbare gedeelte net onder het vinkje.

11
00:00:52,640 --> 00:00:58,010
‫En hier ga ik een nieuwe functie maken met een ongeldig retourtype genaamd release.

12
00:00:58,310 --> 00:01:03,620
‫Dus we gaan later grab doen, maar we gaan voorlopig gewoon een release-functie aanroepen.

13
00:01:04,040 --> 00:01:07,610
‫Hoe maak ik dit beschikbaar in Blueprint?

14
00:01:07,850 --> 00:01:10,790
‫Ik moet er een nieuwe functie van maken.

15
00:01:10,790 --> 00:01:13,130
‫Je hebt dus nieuwe eigenschappen voor variabelen.

16
00:01:13,400 --> 00:01:20,540
‫Je functie is een soort equivalent voor het in principe zichtbaar maken van een functie in het land van de blauwdruk.

17
00:01:20,540 --> 00:01:21,530
‫Maar daar houden we niet mee op.

18
00:01:22,130 --> 00:01:23,180
‫Net als bij het nieuwe pand.

19
00:01:23,180 --> 00:01:30,290
‫We moeten hier ergens een bewerking maken met de U-functie, we moeten er een blauwdruk van maken en dat betekent,

20
00:01:31,130 --> 00:01:38,030
‫zoals de naam al doet vermoeden, dat deze functie nu een knooppunt wordt waartoe de blauwdruk toegang heeft.

21
00:01:38,510 --> 00:01:42,470
‫Dus laten we overgaan tot het pakken van een CP en hiervoor een implementatie maken.

22
00:01:42,470 --> 00:01:44,450
‫Het wordt een ongeldig retourtype.

23
00:01:44,450 --> 00:01:52,760
‫Het wordt een je pakt een dubbele punt, een dubbele punt laat los, geen parameters en we zullen een functietekst plaatsen,

24
00:01:52,970 --> 00:02:00,830
‫die ik een nieuwe log in ga plakken en ik ga het bericht geven, zo worden vrijgegeven grabber .

25
00:02:00,890 --> 00:02:09,230
‫En dan kunnen we compileren en weer terug in onze BP-speler, ik ga de print string node verwijderen en

26
00:02:09,230 --> 00:02:17,000
‫ik ga hier van Released slepen en ik ga hier zoeken naar release als een functie.

27
00:02:17,000 --> 00:02:19,070
‫Laten we nu een beetje rondkijken.

28
00:02:19,070 --> 00:02:23,090
‫Er verschijnt momenteel niets omdat ik dit op de grijper moet doen.

29
00:02:23,120 --> 00:02:30,710
‫Dus laten we de grabber-component nemen, deze naar de gebeurtenisgrafiek slepen om een grabbervariabele te maken en

30
00:02:30,710 --> 00:02:34,070
‫deze eraf slepen en naar vrijgave zoeken.

31
00:02:34,430 --> 00:02:36,620
‫Merk nu op dat er ook in dit geval niets aan de hand is.

32
00:02:36,620 --> 00:02:38,240
‫En dat komt omdat we live codering gebruikten.

33
00:02:38,240 --> 00:02:44,150
‫En soms verschijnen dingen die in live codering zijn gecompileerd niet in de editor.

34
00:02:44,150 --> 00:02:49,880
‫Wat we moeten doen is de editor sluiten, het lichtcoderingsvenster sluiten en vervolgens in

35
00:02:49,880 --> 00:02:57,200
‫Visual Studio-code op control shift B drukken en bouwen met behulp van de Crypt Reader Editor wanneer 64 development

36
00:02:57,440 --> 00:03:03,470
‫build, wachten tot dat is gelukt en dan de editor opnieuw starten uit het projectbestand.

37
00:03:03,650 --> 00:03:10,610
‫Als we nu onze BP-speler heropenen en nu de grijper eraf halen, zoeken we naar vrijlating.

38
00:03:10,610 --> 00:03:13,580
‫Je kunt zien dat er nu een notitie is genaamd release.

39
00:03:13,970 --> 00:03:17,870
‫En inderdaad, dat gaat alleen onze C++ afkoelen.

40
00:03:17,870 --> 00:03:25,550
‫U kunt dus zien hoe u Blueprint en C++ op deze manier echt in nauwe samenwerking kunt gebruiken door

41
00:03:25,820 --> 00:03:28,700
‫C++-dingen in de Blueprint-wereld te laten zien.

42
00:03:28,700 --> 00:03:32,900
‫Nu ga ik mijn release-uitvoeringspen verbinden met de release-node.

43
00:03:33,260 --> 00:03:38,390
‫We gaan onze kerker in en we gaan op play drukken.

44
00:03:39,320 --> 00:03:46,850
‫En als ik nu zou grijpen en dan loslaten, kun je niets zien omdat het in het uitvoerlogboek staat.

45
00:03:46,910 --> 00:03:52,160
‫Dus laten we het uitvoerlogboek openen en het koppelen aan de lay-out, en dan opnieuw op afspelen drukken.

46
00:03:53,390 --> 00:03:57,800
‫En als we nu grijpen en dan loslaten, kun je zien dat daar een korte boodschap is.

47
00:03:57,800 --> 00:04:04,160
‫Het bladert heel snel voorbij, want elke tik die we doen, raakt het statusbeeld van de waterspuwer.

48
00:04:04,400 --> 00:04:09,470
‫Maar als je dan stopt en terugkijkt in het logboek, zie je dat opa is vrijgelaten.

49
00:04:09,470 --> 00:04:12,800
‫Dus onze C++-code wordt uitgevoerd.

50
00:04:12,920 --> 00:04:19,220
‫Oké, dus nu zou ik willen dat je onze sweep-code naar een grab-functie verplaatst.

51
00:04:19,220 --> 00:04:22,310
‫Dus je gaat een grijpfunctie maken en deze vanuit Blueprint aanroepen.

52
00:04:22,310 --> 00:04:24,740
‫Je kunt het op dezelfde manier doen als ik zojuist de release-functie heb gedaan.

53
00:04:25,280 --> 00:04:29,540
‫Maar als u de hoofdtekst van de grijpfunctie maakt in plaats van alleen maar

54
00:04:29,540 --> 00:04:36,410
‫iets af te drukken, laten we die ingrijpende code en de if-instructie en alle prep-variabelen van TIC verplaatsen, zodat het het niet doet.

55
00:04:36,410 --> 00:04:42,620
‫Elke keer dat we er twee nemen, net wanneer we die grijpfunctie aanroepen, wanneer we onze muisknop ingedrukt houden

56
00:04:42,620 --> 00:04:49,910
‫of een trigger op onze controller indrukken, dus hercompileer en controleer de logs om er zeker van te zijn dat dat inderdaad alleen

57
00:04:49,910 --> 00:04:54,560
‫gebeurt als je op de knop drukt , pauzeer de video en probeer het.

58
00:04:57,850 --> 00:04:58,140
‫Oké.

59
00:04:58,150 --> 00:04:58,900
‫Welkom terug.

60
00:04:59,290 --> 00:05:03,820
‫Dus laten we naar onze C ++ gaan en naar ons headerbestand.

61
00:05:03,820 --> 00:05:10,180
‫Ik ga het compileervenster hier en boven release sluiten, ik ga een nieuwe functie

62
00:05:11,290 --> 00:05:16,570
‫blueprints callable maken, die nietig wordt en grab wordt genoemd.

63
00:05:17,230 --> 00:05:20,440
‫En we gaan dit implementeren in C++.

64
00:05:20,590 --> 00:05:22,480
‫Dus nogmaals, het wordt een leegte.

65
00:05:22,520 --> 00:05:28,330
‫Je pakt een dubbele punt, dubbele punt grijpt haakjes en dan accolades.

66
00:05:28,900 --> 00:05:34,660
‫En ik ga al deze code van de TIC-component verplaatsen omdat we onze startvectoren en al dat soort

67
00:05:34,660 --> 00:05:35,860
‫goede dingen instellen.

68
00:05:36,250 --> 00:05:42,880
‫Laten we helemaal naar beneden gaan en het uitknippen en in de grijper plakken in plaats daarvan waar het zou moeten zijn.

69
00:05:42,880 --> 00:05:43,750
‫Prima.

70
00:05:43,750 --> 00:05:50,080
‫Laten we nu eens kijken of live codering de nieuwe functie in de BP-speler tot stand zal brengen.

71
00:05:50,080 --> 00:05:55,090
‫Laten we naar de BP-speler gaan, onze afdrukreeks verwijderen en laten we die eraf halen.

72
00:05:55,090 --> 00:05:58,540
‫Pak een knoop die we hebben en kijk of we een grijpfunctie kunnen vinden.

73
00:05:58,540 --> 00:06:01,900
‫Oké, dus deze keer was de grijpfunctie voor ons beschikbaar.

74
00:06:02,230 --> 00:06:02,800
‫Dat is geweldig.

75
00:06:02,830 --> 00:06:09,550
‫Laten we nu de ingedrukte uitvoeringspin aansluiten, naar onze kerker gaan, op play drukken en ervoor zorgen dat we naar de

76
00:06:09,550 --> 00:06:11,290
‫onderkant van het uitvoerlogboek scrollen.

77
00:06:11,410 --> 00:06:17,450
‫Ik ga met de rechtermuisknop in mijn kijkvenster klikken en kijk rond en dan druk ik op mijn linkerknop.

78
00:06:17,480 --> 00:06:20,530
‫Er staat Geen acteur hits en dan meteen de release grabber.

79
00:06:20,530 --> 00:06:23,110
‫Dus nu slaat acteur toe en dan laat ik de sleutel los.

80
00:06:23,140 --> 00:06:24,520
‫Geen release grabber.

81
00:06:24,520 --> 00:06:25,900
‫Nu ben ik mijn waterspuwer vergeten.

82
00:06:25,900 --> 00:06:26,470
‫Kijk er eens naar.

83
00:06:26,890 --> 00:06:31,240
‫Ik druk erop en er staat, acteur slaat op Gogol's standbeeld en dan kan ik de grijper loslaten.

84
00:06:31,690 --> 00:06:36,430
‫Dus nu hebben we de juiste soort architectuur op zijn plaats.

85
00:06:36,730 --> 00:06:38,590
‫Om deze waterspuwer te grijpen.

86
00:06:38,770 --> 00:06:42,450
‫Vervolgens moeten we het fysica-gedeelte van deze opstelling behandelen.

87
00:06:42,880 --> 00:06:44,080
‫Tot ziens bij de volgende lezing.

