‫Hallo en welkom.
‫In deze lezing gaan we kijken hoe we nieuwe knooppunten in blueprints van C++
‫kunnen maken, zodat we in wezen C++-functionaliteit kunnen aanroepen vanuit blueprints.
‫Laten we erin duiken en zien hoe het nu zo goed is gedaan dat ik blauwdrukken kan gebruiken om blauwdrukknooppunten
‫aan te roepen, maar ik wil eigenlijk onze grijper activeren vanuit dit stuk blauwdruk hier, niet enkele tekenreeksen afdrukken.
‫Dus hoe ga ik dat doen?
‫Gelukkig kunnen we vrij gemakkelijk een functie van een C++-klasse in een blueprint weergeven.
‫En de manier waarop we dit doen is als volgt.
‫Dus we gaan een nieuwe publieke functie creëren.
‫Dus ik ga naar mijn openbare gedeelte net onder het vinkje.
‫En hier ga ik een nieuwe functie maken met een ongeldig retourtype genaamd release.
‫Dus we gaan later grab doen, maar we gaan voorlopig gewoon een release-functie aanroepen.
‫Hoe maak ik dit beschikbaar in Blueprint?
‫Ik moet er een nieuwe functie van maken.
‫Je hebt dus nieuwe eigenschappen voor variabelen.
‫Je functie is een soort equivalent voor het in principe zichtbaar maken van een functie in het land van de blauwdruk.
‫Maar daar houden we niet mee op.
‫Net als bij het nieuwe pand.
‫We moeten hier ergens een bewerking maken met de U-functie, we moeten er een blauwdruk van maken en dat betekent,
‫zoals de naam al doet vermoeden, dat deze functie nu een knooppunt wordt waartoe de blauwdruk toegang heeft.
‫Dus laten we overgaan tot het pakken van een CP en hiervoor een implementatie maken.
‫Het wordt een ongeldig retourtype.
‫Het wordt een je pakt een dubbele punt, een dubbele punt laat los, geen parameters en we zullen een functietekst plaatsen,
‫die ik een nieuwe log in ga plakken en ik ga het bericht geven, zo worden vrijgegeven grabber .
‫En dan kunnen we compileren en weer terug in onze BP-speler, ik ga de print string node verwijderen en
‫ik ga hier van Released slepen en ik ga hier zoeken naar release als een functie.
‫Laten we nu een beetje rondkijken.
‫Er verschijnt momenteel niets omdat ik dit op de grijper moet doen.
‫Dus laten we de grabber-component nemen, deze naar de gebeurtenisgrafiek slepen om een grabbervariabele te maken en
‫deze eraf slepen en naar vrijgave zoeken.
‫Merk nu op dat er ook in dit geval niets aan de hand is.
‫En dat komt omdat we live codering gebruikten.
‫En soms verschijnen dingen die in live codering zijn gecompileerd niet in de editor.
‫Wat we moeten doen is de editor sluiten, het lichtcoderingsvenster sluiten en vervolgens in
‫Visual Studio-code op control shift B drukken en bouwen met behulp van de Crypt Reader Editor wanneer 64 development
‫build, wachten tot dat is gelukt en dan de editor opnieuw starten uit het projectbestand.
‫Als we nu onze BP-speler heropenen en nu de grijper eraf halen, zoeken we naar vrijlating.
‫Je kunt zien dat er nu een notitie is genaamd release.
‫En inderdaad, dat gaat alleen onze C++ afkoelen.
‫U kunt dus zien hoe u Blueprint en C++ op deze manier echt in nauwe samenwerking kunt gebruiken door
‫C++-dingen in de Blueprint-wereld te laten zien.
‫Nu ga ik mijn release-uitvoeringspen verbinden met de release-node.
‫We gaan onze kerker in en we gaan op play drukken.
‫En als ik nu zou grijpen en dan loslaten, kun je niets zien omdat het in het uitvoerlogboek staat.
‫Dus laten we het uitvoerlogboek openen en het koppelen aan de lay-out, en dan opnieuw op afspelen drukken.
‫En als we nu grijpen en dan loslaten, kun je zien dat daar een korte boodschap is.
‫Het bladert heel snel voorbij, want elke tik die we doen, raakt het statusbeeld van de waterspuwer.
‫Maar als je dan stopt en terugkijkt in het logboek, zie je dat opa is vrijgelaten.
‫Dus onze C++-code wordt uitgevoerd.
‫Oké, dus nu zou ik willen dat je onze sweep-code naar een grab-functie verplaatst.
‫Dus je gaat een grijpfunctie maken en deze vanuit Blueprint aanroepen.
‫Je kunt het op dezelfde manier doen als ik zojuist de release-functie heb gedaan.
‫Maar als u de hoofdtekst van de grijpfunctie maakt in plaats van alleen maar
‫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.
‫Elke keer dat we er twee nemen, net wanneer we die grijpfunctie aanroepen, wanneer we onze muisknop ingedrukt houden
‫of een trigger op onze controller indrukken, dus hercompileer en controleer de logs om er zeker van te zijn dat dat inderdaad alleen
‫gebeurt als je op de knop drukt , pauzeer de video en probeer het.
‫Oké.
‫Welkom terug.
‫Dus laten we naar onze C ++ gaan en naar ons headerbestand.
‫Ik ga het compileervenster hier en boven release sluiten, ik ga een nieuwe functie
‫blueprints callable maken, die nietig wordt en grab wordt genoemd.
‫En we gaan dit implementeren in C++.
‫Dus nogmaals, het wordt een leegte.
‫Je pakt een dubbele punt, dubbele punt grijpt haakjes en dan accolades.
‫En ik ga al deze code van de TIC-component verplaatsen omdat we onze startvectoren en al dat soort
‫goede dingen instellen.
‫Laten we helemaal naar beneden gaan en het uitknippen en in de grijper plakken in plaats daarvan waar het zou moeten zijn.
‫Prima.
‫Laten we nu eens kijken of live codering de nieuwe functie in de BP-speler tot stand zal brengen.
‫Laten we naar de BP-speler gaan, onze afdrukreeks verwijderen en laten we die eraf halen.
‫Pak een knoop die we hebben en kijk of we een grijpfunctie kunnen vinden.
‫Oké, dus deze keer was de grijpfunctie voor ons beschikbaar.
‫Dat is geweldig.
‫Laten we nu de ingedrukte uitvoeringspin aansluiten, naar onze kerker gaan, op play drukken en ervoor zorgen dat we naar de
‫onderkant van het uitvoerlogboek scrollen.
‫Ik ga met de rechtermuisknop in mijn kijkvenster klikken en kijk rond en dan druk ik op mijn linkerknop.
‫Er staat Geen acteur hits en dan meteen de release grabber.
‫Dus nu slaat acteur toe en dan laat ik de sleutel los.
‫Geen release grabber.
‫Nu ben ik mijn waterspuwer vergeten.
‫Kijk er eens naar.
‫Ik druk erop en er staat, acteur slaat op Gogol's standbeeld en dan kan ik de grijper loslaten.
‫Dus nu hebben we de juiste soort architectuur op zijn plaats.
‫Om deze waterspuwer te grijpen.
‫Vervolgens moeten we het fysica-gedeelte van deze opstelling behandelen.
‫Tot ziens bij de volgende lezing.