‫Hallo en welkom.
‫In deze lezing introduceren we twee nieuwe soorten activa, de gedragsboom en het schoolbord, twee activa
‫die ons in staat stellen iets heel interessants met lucht te doen.
‫Sta ons toe om het veel ingewikkelder te maken.
‫Ik laat ons er heel gemakkelijk in duiken en kijken hoe we ze gebruiken en instellen.
‫Oké.
‫Dus we willen een aantal geavanceerde A. L. gedrag.
‫De manier waarop we dit doorgaans doen in Unreal, is het gebruik van een systeem dat gedragsbomen wordt genoemd.
‫Wat zijn dit nu?
‫Nou, de beste manier voor ons om erachter te komen, is door er een te maken.
‫Dus laten we doorgaan en rechts klikken en gaan.
‫We kijken hier onder de kunstmatige intelligentie.
‫En er zijn twee opties hier gedrag, boom en schoolbord.
‫We gaan ze allebei willen.
‫Dus laten we beginnen met de gedragsboom.
‫Het voorvoegsel hiervan is B. T. en we gaan dit de vijand noemen.
‫Dus gedrag boom vijand.
‫Ik sluit daar gewoon mee af.
‫Zij gaan.
‫En we moeten ook het andere ding daarbinnen maken, dat een schoolbord was.
‫Wat is in hemelsnaam een schoolbord?
‫Daar komen we zo op.
‫Maar we noemen het gewoon de bb onderstreping vijand is a, b, b voor schoolbord, b, t voor
‫gedragsboom.
‫En nu we toch bezig zijn, we hebben een paar dingen met betrekking tot A. L..
‫Hé, ik ga een nieuwe map maken met de naam A. L. , en we gaan het bord, de gedragsboom,
‫verplaatsen.
‫En ergens hier hebben we onze schutter, A. L. controleur.
‫Dat gaat allemaal in A. L. ga hierheen en dan kunnen we naar die A gaan. L. mappen, behandel alles wat met AI
‫te maken heeft.
‫Laten we eerst onze gedragsboom openen en deze koppelen aan het hoofdvenster.
‫Dus wat is dit in hemelsnaam?
‫Dit stelt ons dus in staat om gedragsstructuren te creëren waarvan je zou kunnen zeggen dat een deel van het gedrag hier
‫voor het najagen is.
‫Een deel ervan is om te trollen.
‫Een deel ervan is voor iets anders, het openen van deuren, al dit soort dingen.
‫Ze structureren gedrag meestal als heel veel gedragsbomen en subbomen enzovoort.
‫We zullen zien dat dit allemaal in detail gebeurt, maar het volstaat te zeggen dat het een geweldige manier is om natuurlijk gedrag in
‫je games samen te brengen.
‫Nu is het niet alles.
‫Er zijn veel A. L. technieken.
‫Dit is misschien niet degene die je wilt gebruiken voor je spel, maar het is een goed begin
‫en je kunt er behoorlijk veel mee bereiken.
‫Het volgende dat we bovenaan kunnen zien, rechts, deze twee activa zijn gekoppeld aan
‫de gedragsboom en het schoolbord.
‫Wat is in hemelsnaam een schoolbord?
‫Nou, het schoolbord is een beetje als de herinnering aan je A. L. Het is in wezen waar u een aantal
‫variabelen opslaat.
‫Je voert ze in vanuit de gameplay, net zoals we deden met
‫het animatiesysteem, waar je deze verschillende eigenschappen hebt die door de gameplay worden ingesteld.
‫We doen hetzelfde met de A. L. we stellen veel eigenschappen in die het
‫informatie geven over zijn spelwereld, en dan maakt de gedragsboom gebruik van die eigenschappen en gebruikt ze om te beslissen wat het gaat
‫doen.
‫Het kan die eigenschappen instellen.
‫Het kan ze gebruiken als geheugen, het kan lezen van die eigenschappen en al die mooie dingen.
‫Dus met dat in gedachten, hoe kunnen we onze gedragsboom in Blackboard zo opzetten dat ze aan elkaar worden
‫gekoppeld?
‫Welnu, we gaan dat uitbreiden in ons detailvenster.
‫Je kunt hier zien dat er deze blackboard asset is en automatisch lijkt deze voor
‫ons zo ingevuld te hebben dat de blackboard asset is gekoppeld aan deze b b b vijand, I blackboard asset.
‫Nu gaan we allemaal een klein beetje van C++ af om deze middelen te
‫gebruiken, omdat gedragsbomen en schoolborden duidelijk volledig binnen de editor vallen.
‫Het zijn geen blauwdrukken als zodanig.
‫Het zijn hun eigen editortools en we kunnen ermee communiceren in C++, maar dat betekent niet dat we de
‫editor de komende paar colleges net zo goed gaan gebruiken als C++.
‫Niet zo veel blauwdruk daar.
‫Dus het is geweldig dat we deze gedragsboom en dit schoolbord hebben, maar hoe gebruiken we
‫het in vredesnaam?
‫Welnu, daarvoor gaan we terug naar onze luchtverkeersleider.
‫Ik, als je het je herinnert, I-controller is volledig verantwoordelijk voor het uitvoeren van ons gedrag en dat is hier geen uitzondering.
‫De gedragsboom is gewoon een ander ding dat de luchtcontroller kan gebruiken of uitvoeren.
‫Dus de manier waarop we dit gaan doen, is dat we naar onze controlepunt gaan en we moeten een
‫manier hebben om in de blauwdruk te verwijzen naar welke gedragsboom we willen dat deze wordt uitgevoerd.
‫Dus het eerste wat ik ga doen, is dat ik naar onze controle
‫van CP ga en de dingen in TTIC becommentarieer, omdat we deze functionaliteit in plaats daarvan gaan vervangen door
‫gedragsboomfunctionaliteit.
‫En dan betekent dat dat ik deze acceptatieradius hier weg kan halen omdat we die niet meer nodig hebben.
‫En in plaats daarvan gaan we een verwijzing naar het nieuwe gedrag gebruiken.
‫En ik moet deze Amerikaanse manierboom en aanwijzer spellen.
‫Dat is de gedragsboom die je daar wilt hebben.
‫En ik moet dit doorsturen met een klasse ervoor.
‫En dan eigenlijk hier, wat ik wil zeggen is dat dit het gedrag is en.
‫Ik ga de Amerikaanse spelling hier houden alleen voor consistentie.
‫Dus dit is het gedrag dat we hier nu willen om het gedrag daadwerkelijk uit te voeren.
‫Het kan niet eenvoudiger.
‫Nogmaals, de A. L. besturing heeft de H hier een ingebouwde functie voor.
‫We hebben deze run-gedragsboomfunctie die een boolean wordt.
‫Of je het nu met succes kunt uitvoeren of niet, begin met het uitvoeren ervan.
‫En het neemt het bèta-item in, wat een verwijzing is naar de jij-gedragsboom.
‫Dus dat is wat we willen gebruiken en we kunnen dit opnieuw doen in het begin van het spel.
‫Dus wat we gaan doen, is allereerst controleren of we hier inderdaad een gedragsboom
‫hebben.
‫Dus we gaan zeggen dat ik gedrag.
‫Is niet gelijk aan nul punten, hè?
‫Omdat we het niet anders willen gebruiken.
‫En wat we dan kunnen doen, is de gedragsboom uitvoeren die luchtgedrag wordt genoemd.
‫Het is echt zo eenvoudig om elk gedrag aan de gang te krijgen en we kunnen doorgaan en compileren.
‫En nog iets dat we met de zware bomen kunnen doen, is dat we ze een beetje kunnen zien draaien tijdens runtime, maar om
‫dat te doen, moet je hier een soort knooppunt hebben.
‫Dus we gaan gewoon een knooppunt toevoegen zonder volledig te begrijpen wat het doet.
‫Ik ga een sequentieknooppunt toevoegen, en ik ga het aansluiten door vanaf het wortelknooppunt naar beneden te slepen, de
‫onderkant van het wortelknooppunt, de markeringen wanneer ik er met de muis overheen ga naar het bit boven het
‫sequentieknooppunt.
‫En dat ga ik redden.
‫Ik ga erheen en druk op play en ga naar mijn gedragsboom-item en je zou hier een drop-down moeten kunnen zien,
‫maar zou niet omdat het momenteel niet actief is.
‫Dus laten we stoppen met spelen.
‫En waarom loopt het niet?
‫Omdat we het niet hebben aangesloten en als shooter-luchtcontroller dus laten we dat doen, kan het een uitdaging voor je zijn
‫om dat aan te sluiten.
‫Hopelijk moet het niet te moeilijk zijn.
‫Oké.
‫Welkom terug.
‫Dus als we hier gaan kijken, zoeken we naar gedrag.
‫Om de een of andere reden moest ik opnieuw worden gecompileerd om voor mij te verschijnen.
‫Maar hier is het.
‫Gedrag is wat we willen.
‫We klikken op de vervolgkeuzelijst.
‫Er is momenteel maar één optie, dus we hebben maar één gedragsboom.
‫Dus selecteer die en compileer en sla op.
‫En als we nu doorgaan en het spel spelen.
‫En ga eens kijken bij Beattie Enemy II.
‫Je kunt zien dat het de notitie markeert die momenteel wordt uitgevoerd en je
‫hebt deze kleine vervolgkeuzelijst naast de pauze-stopknoppen, die je vertelt welke luchtcontroller je momenteel het gedragsspoor
‫observeert.
‫Dus dit is een geweldige functionaliteit voor jou om erin te kunnen springen en te gaan, oké, waarom staat die lucht
‫gewoon stil?
‫Waarom achtervolgt hij de speler niet?
‫Je kunt zien welke delen van het gedrag hij momenteel uitvoert en gaan, Oh, dat zie je, dat ding is
‫fout gegaan.
‫Het is erg handig om te debuggen.
‫Je kunt gaan kijken wat al je lucht in de wereld van plan is door deze vervolgkeuzelijst te gebruiken.
‫Goed spul.
‫Dat is alles voor deze lezing.
‫In de volgende lezing gaan we kijken hoe we vanuit C++ informatie in het schoolbordgeheugen
‫van onze AI kunnen zetten.
‫Ik zie je daar.