‫Hallo en welkom.
‫In deze lezing krijgen we lucht om ons te volgen en over de wereld te navigeren, obstakels te
‫vermijden en over het algemeen een beetje vervelend te zijn.
‫Laten we erin duiken en kijken hoe dit mogelijk is.
‫Dus het volgende meest voor de hand liggende, voor de hand liggende stukje van de puzzel dat we hier moeten oplossen, is ervoor zorgen
‫dat ons leger naar ons toe komt.
‫Het is niet goed dat ze daar blijven staan.
‫Ze moeten ook bewegen en dan moeten ze schieten.
‫Laten we eerst eens kijken hoe we aan beweging kunnen doen.
‫Als je met Ally gaat verhuizen, moet ik iets weten over obstakels.
‫Het moet iets doen dat pathfinding wordt genoemd.
‫Want laten we zeggen, ik verstop me in deze gang hier en het wil bij mij komen.
‫Het moet weten dat het niet zomaar door de muur kan bewegen.
‫Het zal zijn routes moeten plannen om om de obstakels heen te komen en naar mij toe te komen.
‫De manier waarop dit typisch werkt in games in het algemeen en specifiek hier in Unreal, is dat we
‫een mesh genereren die ons vertelt waar beloopbaar is binnen een niveau en vervolgens verschillende algoritmen gebruiken, waarvan er één
‫een sterpadvinding wordt genoemd.
‫Je kunt op deze mesh navigeren en een routeplan maken, en de bondgenoot gebruikt dit routeplan om verder te gaan.
‫Dus dat is het soort schets van het proces.
‫Gelukkig wordt er veel voor ons gedaan.
‫We hoeven dit niet helemaal opnieuw te coderen.
‫Dus wat we moeten doen is in de eerste plaats het NAF-net kunnen zien en op dit moment kunnen we
‫een NAF-net gedeeltelijk niet zien omdat er geen is.
‫Dus wat we moeten doen, is hier in ons geplaatste acteursvenster kijken.
‫Stel ook een raam voor en zoek naar geplaatste plaatsacteurs.
‫We moeten zoeken naar een nav mesh en we zijn op zoek naar de NAF mesh grenzen van het volume.
‫Dit creëert een volume, een soort doos, en alles in die doos wordt gecontroleerd op hoe
‫bevaarbaar het is.
‫Of het nu vlak is, of het niet te steil is, eigenlijk of er een muur is, je kunt niet door
‫muren gaan, je kunt niet over muren lopen omdat ze te steil zijn.
‫Dus als we een NAF mesh bounce-volume slepen en het hier
‫brengen en het lichtjes door de vloer steken, zodat de vloer deel kan uitmaken van die navigatieberekening.
‫Wat we dan moeten doen, is de zichtbaarheid van NAF-mazen mogelijk maken.
‫Dit doe je door op de toon knop linksboven in je viewport te klikken en vervolgens op
‫navigatie te klikken of de snelkoppeling te gebruiken.
‫P Dus ik ga de snelkoppeling gebruiken.
‫P En selecteren of je hoeft niet eens het bounce-volume te selecteren.
‫Je kunt meteen zien dat het schermgaas binnen het limietvolume is verschenen, wat ons vertelt dat dit
‫een beloopbaar gebied is.
‫Dus als we onze vijand in dit gebied hadden en zijn doelwit was ook in het gebied, dan zou hij het
‫pad langs dit gaas kunnen vinden.
‫Laten we nu eens kijken wat er gebeurt als we dit verplaatsen naar een obstakel.
‫Je kunt zien dat het gaas een beetje uitsnijdt rond dit obstakel.
‫Dus wat we eigenlijk willen doen, is dat dit volume ons hele niveau omvat en je kunt ervoor kiezen om het niet te
‫doen of alleen in bepaalde segmenten, maar de gemakkelijkste manier is om gewoon de grenzen van dit volume te verhogen,
‫wat je kunt doen.
‫Als je naar het detailvenster aan de rechterkant gaat, zijn er de penseelinstellingen.
‫Je kunt de grootte van het penseel veranderen, zodat je kunt zien dat we het groter kunnen maken, we kunnen het
‫breder maken en het wordt rood wanneer het opnieuw wordt berekend.
‫Je kunt zien dat het bezig is met het bouwen van NAF-gaas en hoe groter het wordt, hoe moeilijker het zal zijn
‫om het NAF-gaas te bouwen, hoe langer het zal duren.
‫Maar je kunt zien dat dit werkt.
‫Het snijdt de gangen weg, het snijdt de obstakels weg waar we niet omheen kunnen lopen.
‫Het tweede deel van deze puzzel is het hebben van een A. L. in staat zijn root-algoritmen op deze mesh uit te voeren.
‫Laten we nu doorgaan en de BP-shooter, luchtcontroller openen, want ik wil je iets laten zien
‫dat hier in zit.
‫Ik ga hier de volledige blauwdruk-editor openen en hier kijken.
‫Er is een component genaamd de path volgende component.
‫Dat onderdeel is verantwoordelijk voor het vinden van een RF-gaas en stelt ons vervolgens in staat om paden te creëren en
‫deze te volgen en er automatisch langs te bewegen.
‫We hoeven die functionaliteit dus niet in te bouwen.
‫We hoeven alleen maar een functie te gebruiken die beschikbaar is op onze luchtcontroller.
‫Als je gaat zoeken naar de luchtregelaar punt H en zoekt naar de verplaatsing naar functie, laten we dan naar
‫gaan met een open haakjes.
‫Dan zijn er hier een aantal opties.
‫We hebben een actie op aanvraag.
‫Er zijn hier ook enkele andere opties, maar die zouden een andere naam moeten hebben.
‫Nu, in latere versies op het spoor, hebben we een verschuiving naar acteur en een verschuiving naar
‫locatie, die hetzelfde onderscheid hebben als onze instellingsfocus.
‫Je kunt de focus instellen op iets dat beweegt als een acteur, of je kunt de
‫focus instellen op een specifieke bestemming, zoals een waypoint in je patrouilleroute, bijvoorbeeld een verplaatsing naar een locatie.
‫Dus ik zou graag willen dat je een poging doet om te verhuizen naar als je wordt uitgedaagd.
‫Dus zorg voor een NAF-mesh in je scène, zorg ervoor dat het zoveel van de scène beslaat als je nodig hebt om
‫te kunnen bewegen en de.
‫Ik volg je op alle locaties en noem die beweging dan ofwel verhuizen om te handelen of verhuizen naar locatie.
‫U beslist welke in het beginspel de A krijgt. L. ons achtervolgen.
‫Dus pauzeer de video en probeer het.
‫Oké.
‫Welkom terug.
‫Laten we dit eens proberen.
‫Dus eerst dingen eerst.
‫We gaan hebben dat ik een overstap naar acteur ga gebruiken en we zullen het doel acteur moeten stellen.
‫Dus laten we naar onze shooter, air controller, dot, CP gaan en daar beginnen met spelen.
‫We kunnen wel naar acteur gaan en we hebben al een acteur om een pion te spelen die we hebben van
‫de laatste lezing en laten we eens kijken.
‫Zijn hier nog andere nuttige eigenschappen?
‫We hebben een acceptatieradius.
‫Op dit moment heeft het geen acceptatieradius.
‫In principe komt het zo dichtbij als het maar kan.
‫Ik denk dat dat misschien een beetje opdringerig is.
‫Ik geef hem een acceptatiestraal van twee meter, dus hij zal proberen binnen twee meter van ons te
‫komen.
‫Dus laten we doorgaan en dat bouwen.
‫En als dat eenmaal klaar is, ga je naar de motor en laten we eens kijken.
‫Ik ga het bounce-volume hier niet uitbreiden om je een idee te geven waarom we het bounce-volume überhaupt
‫nodig hebben.
‫Dus laten we beginnen met een alt p.
‫En hier zijn we.
‫We bevinden ons op het navigatienetwerk en deze man is automatisch naar ons toe bewogen.
‫Maar als ik dat NAF-net verlaat, kan hij niet meer dichter bij me komen omdat hij de route niet kan vinden.
‫Hij kan geen manier vinden om bij mij te komen.
‫Dus wat we gaan doen is dat we in feite, ik weet niet zeker of dat hier echt aan de
‫hand is, want wat er waarschijnlijk gebeurt, is dat hij binnen de acceptatiestraal van mij komt en dan niet opnieuw
‫probeert.
‫Dus een manier om dat te controleren zou zijn om deze acceptatieradius te verwijderen en opnieuw te compileren en dan kunnen we kijken of
‫dat is wat er aan de hand is.
‫Dus ja, hij komt naar me toe als ik wegga.
‫Nou, hij vergat eigenlijk dat bevel.
‫Dus wat we willen doen is dit in tic doen, want als hij me eenmaal bereikt, geeft hij het idee op om
‫me te achtervolgen.
‫Dus laten we dit overnemen om over te nemen.
‫Dit is niet de ideale manier om het te doen, maar dat is wat we gaan doen.
‫Voor nu ga ik de handtekening van tic kopiëren van rechts van de acteur, en ik weet dat het in het openbare gedeelte
‫komt, dus ik ga een openbaar gedeelte bovenaan maken.
‫Kopieer de handtekening, maak er een override van alleen voor de veiligheid en implementeer het dan in de C ++ en verplaats en
‫verplaats acteur naar binnen om aan te vinken en de acceptatieradius nog steeds van twee meter, probeer dit nu en het is duidelijk dat we
‫klagen dat we dat niet hebben een speler -- daar.
‫Dus laten we gaan en ervoor zorgen dat we deze regel herhalen die de eerste speler te
‫pakken krijgt -- ook in een vinkje.
‫En nu zouden we het goed moeten kunnen testen tot een altpiek en de wereld die het komt en ons binnen
‫twee meter brengt.
‫Ik ga bij hem vandaan en kijk ernaar.
‫Hij mikt deze keer niet eens goed op mij, maar hij probeert mee te doen.
‫Maar zodra ik dat navigatiesysteem verlaat, weet hij me niet meer te vinden.
‫Dus laten we dat oplossen, zullen we?
‫We gaan naar een nav mesh bounce volume.
‫Als ik het kan selecteren.
‫Daar gaan we.
‫En dan willen we hier echt uitzoomen om te proberen ons hele niveau te omvatten.
‫Aan de buitenkant ziet dit niveau er een beetje janky uit, maar dat is gewoon hoe dingen vaak werken, is dat
‫je een niveau bouwt dat van binnenuit kan worden bekeken, niet van buitenaf.
‫Dus laten we dit veel breder maken.
‫Laten we het veel groter maken zodat het het hele niveau omvat en het gewoon naar buiten slepen zodat alle
‫delen van het niveau hier bedekt zijn.
‫Maak het gewoon een beetje breder, een beetje langer ook, en zorg ervoor dat dit alles volledig wordt
‫omvat.
‫En je kunt zien dat het groen is verschenen zoals het is berekend, de navigatie heeft elkaar
‫ontmoet en laten we er gewoon voor zorgen dat het nav-bericht zo laag gaat dat het de laagste delen van onze kaart bedekt, het nu lijkt
‫te dekken.
‫Dus als we doorgaan en we kunnen mesh verbergen en navigeren nu we het allemaal hebben ingesteld en we kunnen een alt p doen om door
‫te gaan en te spelen en hij kan ons vinden en ons vrijwel overal volgen waar we binnen dit niveau gaan.
‫Je kunt zien dat ik erop vertrouwde dat een dienaar ons achtervolgt waar we ook heen gaan.
‫Hij volgt ons gewoon en volgt ons, wat erg vervelend is.
‫Maar hij is daartoe in staat.
‫Geweldig spul.
‫Dus in deze lezing hebben we gezien hoe we meshes kunnen maken en hebben en hoe we ze kunnen gebruiken om onze
‫bondgenoot ons door het level te laten volgen.
‫Vervolgens gaan we terug naar dit probleem, repareer de bug en controleer de zichtlijn,
‫zodat we de speler niet altijd achtervolgen.
‫Zie dat?
‫En ik heb zojuist een dwaze kleine fout opgemerkt die ik hier heb gemaakt, namelijk dat ik
‫niet bel om de code op tech te verminderen.
‫Dus dat is eigenlijk de reden waarom je soms deze rare onverklaarbare bugs krijgt.
‫Als je niet naar super belt en dan werken de dingen niet altijd zoals verwacht, daarom was
‫de focus gestopt met werken, omdat we in wezen tech hadden uitgeschakeld op een hoge controller, wat niet goed is.
‫Als je bent ingeschakeld, zou alles normaal moeten werken met de instellingsfocus.