‫Welkom terug.
‫In deze video houden we ons bezig met het afspelen van geluiden.
‫We willen wat geluiden spelen als we het projectiel afvuren.
‫Wanneer het projectiel iets raakt en wanneer een van onze pionnen sterft.
‫Dus laten we er meteen in springen.
‫Nu ben ik hier in de ED, en als ik naar de activamap ga, hebben we deze audiomap en we
‫hebben twee verschillende geluiden en deze zullen goed zijn voor als ons projectiel iets raakt.
‫We gebruiken de plof en wanneer een van onze pionnen sterft, gebruiken we de explosie-audio.
‫En we kunnen het plofgeluid ook hergebruiken als we een projectiel lanceren.
‫Nu willen we dat ons projectiel twee variabelen heeft die die geluidselementen vertegenwoordigen.
‫Nu, hier beneden in het privégedeelte, ga ik een paar variabelen toevoegen en ik ga deze
‫klasse verder declareren.
‫Nu, de les die ik ga gebruiken, is je geluidsbasis en dat zal een aanwijzing zijn.
‫Nu ga ik dit startgeluid noemen.
‫Dit gaat het geluid vertegenwoordigen dat we spelen als we een projectiel lanceren.
‫Je klankbasis is een klasse die we voor klanken kunnen gebruiken.
‫Als we dit nu blootstellen aan blauwdrukken, kunnen we dit instellen met behulp van onze geluidsmiddelen die we in onze map geluiden
‫hebben.
‫Dus ik ga door en geef dit een U-eigenschap zodat we het kunnen ontmaskeren.
‫En ik laat het overal bewerken en plaats het in de categorie gevechten.
‫Dus het zit erin met onze andere gevechtsvariabelen.
‫Nu zou ik graag een andere, op geluid gebaseerde variabele willen gebruiken voor wanneer het projectiel iets raakt.
‫Dit wordt dus weer een op U-geluid gebaseerde aanwijzer.
‫En ik ga dit hitgeluid noemen en ik ga dit dezelfde eigenschap geven als startgeluid.
‫Merk nu op dat ik niet naar voren ga om je soundbase voor hitgeluid te verklaren, dat komt omdat ik je soundbase
‫hier al naar voren heb verklaard.
‫Dus als je eenmaal een type op een regel hebt gedeclareerd, kan dat type erna in het bestand worden gebruikt.
‫Om deze reden plaatsen sommige mensen hun verklaringen helemaal bovenaan hier.
‫Dat is een andere manier om het te doen.
‫Dus als ik klasse zei, je klinkt base hier, dan zorgt dit voor forward declaratie en ik kan het
‫use sound base type overal in dit bestand gebruiken na de forward declaratie.
‫Dus dat is een andere manier om het te doen.
‫Dus om je beide manieren te laten zien, ga ik naar voren om je sound base hier bovenaan te verklaren in plaats van
‫het naar voren te verklaren hier beneden.
‫Dus we moeten nu geluidsbasisvariabelen gebruiken op projectiel h.
‫Ik wil graag een goede basis toevoegen aan de basispionklasse en dit is voor wanneer de basispion wordt vernietigd.
‫Dus dit zal in het privégedeelte zijn en ik ga het hier
‫naar voren verklaren en het wordt een goede basisaanwijzer en ik ga dit death sound noemen en dit krijgt een jij-eigendom.
‫Ik ga naar beneden scrollen zodat je het beter kunt zien, je eigendom.
‫Het wordt overal toegevoegd.
‫En ik plaats dit in de categorie.
‫Gevechten.
‫Dus nu onze basis -- en ons projectiel geluidsbasisvariabelen hebben gebruikt, laten we deze gaan
‫compileren en deze variabelen bekijken in Blueprint.
‫En natuurlijk krijg ik een compilatiefout omdat ik je eigendom iets te haastig heb getypt.
‫Die kleine letter y moet een hoofdletter y zijn.
‫Deze dingen zijn hoofdlettergevoelig, dus door die typfout te corrigeren en opnieuw te compileren, heb ik nu een succesvolle
‫compilatie.
‫Dus laten we teruggaan naar de editor, nu hier de editor, ik ga door en open de acteursmap en het
‫BP-projectiel en ik ga de volledige blauwdrukeditor openen. Ik geef er gewoon de voorkeur aan dat te doen.
‫Het maakt het voor mij gemakkelijker om te zien waar alles nu is.
‫Ik heb het startgeluid en het hitgeluid hier en omdat deze overal kunnen worden bewerkt, kunnen we geluidsitems selecteren
‫in de vervolgkeuzelijst en het laat me alleen de geldige opties zien die ik heb.
‫Waar ik nu naar kijk, is het startgeluid en ik ga hiervoor de plofaudio gebruiken.
‫Nu ga ik ook Thud-audio gebruiken voor het hitgeluid.
‫Maar ik heb twee variabelen gemaakt.
‫Dus als je meer geluidseffecten te pakken krijgt, kun je een ander geluid gebruiken voor de lancering dan voor
‫het hitgeluid.
‫Dit is dus voor u ingesteld voor het geval u dat graag doet.
‫Dat zorgt nu voor lanceergeluid en slaggeluid op het projectiel.
‫Dus ik ga dit compileren en opslaan en afsluiten.
‫Vervolgens ga ik vijvers openen en de BP-vijvertank openen.
‫En hier is mijn doodsgeluid in de gevechtssectie.
‫Ik ga op de vervolgkeuzelijst klikken en explodeer audio gebruiken en death sound instellen op de explode audio sound
‫asset.
‫Ik ga dat compileren en opslaan en sluit de BP-vijvertank af en open de BP-vijvertoren omdat we
‫deze variabele op de basisvijverklasse zetten waarvan de toren ook erft.
‫Dus ik ga doodsgeluid instellen om hier ook audio te laten exploderen.
‫Dus nu hebben we goede middelen en ze zijn opgeslagen in variabelen, zowel in onze vijvers als op het projectiel.
‫Het enige dat overblijft is om deze geluiden daadwerkelijk te spelen.
‫Nu heeft je gameplay-statistieken nog een handige functie.
‫Geluid afspelen op locatie heet dat.
‫Nu kunnen we naar beneden scrollen en zien dat er nogal wat invoerparameters nodig zijn, maar zoals
‫de meeste van deze functies zijn er een aantal optionele parameters die standaardwaarden hebben.
‫Dus we kunnen in de code graven om dit te zien.
‫Dus ik spring in projectiel CP en hier en begin met spelen.
‫Ik ga je gameplay-statistieken typen, geluid op locatie afspelen en daar de haakjes openen en ik zal zien dat
‫er een van twee staat.
‫Nu deze eerste versie die het me laat zien, heeft een wereldcontextobject nodig.
‫We weten dat we dit daarvoor kunnen doorgeven.
‫En vervolgens is er een gebruiksgeluidsbasis nodig.
‫We hebben dus geluidsbasisvariabelen en vervolgens is er een F-vector nodig voor de locatie.
‫Als we nu het geluid op de locatie van het projectiel willen afspelen, kunnen we de locatie van de acteur
‫gebruiken en de rest van deze invoer is optioneel.
‫Dus als je daar naar wilt kijken, kijk dan nog eens op de documentatiepagina voor deze functie en doe
‫wat meer onderzoek.
‫Maar we houden ons alleen bezig met de eerste drie ingangen, dus we weten hoe we geluiden moeten spelen op locaties waar we u
‫kunnen gebruiken.
‫Gameplay-statistieken spelen geluid op locatie af, waarvoor een wereldcontextobject nodig is, een geluid waarvoor we onze geluidsbasis
‫kunnen gebruiken en een locatie waarvoor we de locatie van een acteur kunnen gebruiken.
‫Dus jouw uitdaging zal zijn om geluid op locatie af te spelen en geluiden af te spelen voor de verschillende aspecten van
‫onze gameplay die geluiden nodig hebben.
‫Dus noem je gameplay-statistieken speel geluid op locatie in de projectielklasse eerst in de on hit-functie
‫en gebruik onze hit-geluidsvariabele.
‫Doe dit in de if-controle wanneer we controleren of een andere actor geldig is en zorg ervoor dat de andere actor
‫niet deze of de eigenaar is.
‫Maar noem het voordat we het projectiel vernietigen en roep speelgeluid op locatie en begin te spelen
‫voor het projectiel en gebruik het startgeluid.
‫Op die manier krijgen we het geluid dat wordt afgespeeld wanneer het projectiel wordt uitgezet en wanneer het
‫projectiel vervolgens iets raakt.
‫Ga naar de basis pong-klasse en roep speelgeluid op locatie en behandel vernietiging.
‫En je gaat het doodsgeluid gebruiken.
‫Dat is de explosie.
‫Dus pauzeer de video en voeg deze oproepen toe om nu geluid op locatie af te spelen.
‫Oké.
‫Dus eerst zijn we hier in Projectile CP en ik ga in volgorde van de uitdaging.
‫Dus eerst ga ik naar beneden om het geluid hier beneden af te spelen.
‫Nu heb je waarschijnlijk gecontroleerd of het geluid nul was en als je dat deed, geef ik je een pluim
‫omdat je die goede programmeergewoonten al krijgt.
‫Nu, als je dat niet deed, is dat oké.
‫Ga je gang en doe het.
‫Nutsvoorzieningen.
‫We gaan controleren of het hitgeluid geldig is voordat we de nieuwe gameplay-statistiekfunctie aanroepen.
‫Dus jij gaat het zijn.
‫Gameplay-statistieken spelen geluid af op locatie en we hebben eerst een wereldcontextobject nodig dat dit gaat
‫worden.
‫Vervolgens hebben we het hitgeluid zelf nodig en gaan we dit spelen op de acteurslocatie.
‫Dus de locatie van de acteur zal aan die derde parameter voldoen.
‫Oké, ideaal.
‫Vervolgens moeten we een geluid spelen en beginnen met spelen.
‫Dus laten we terug gaan om te beginnen met spelen.
‫En voor deze gaan we controleren of het startgeluid geldig is.
‫Dus we gaan zeggen dat als het startgeluid je gameplay-statica speelt geluid op locatie speelt en natuurlijk hebben we
‫het wereldcontextobject nodig.
‫Dat is dit, de geluidsbasis wordt het startgeluid en we gaan dit spelen op de
‫acteurslocatie.
‫Dus zoek de locatie van de acteur en dat zorgt voor het spelen van het geluid en begin met spelen.
‫Dus het laatste wat je moet doen, is het geluid op de basis spelen - klasse en vernietiging afhandelen.
‫En nu we met visuele en geluidseffecten werken, hoeven we hier niet te zeggen dat we het moeten doen, omdat we dit
‫hebben gedaan.
‫Dus eerst gaan we controleren of death sound geldig is.
‫Als dat zo is, kunnen we je gameplay-statistieken noemen, geluid afspelen op locatie met het wereldcontext-object.
‫Dat wordt de geluidsbasis die death sound zal zijn en de locatie van de acteur zal voldoen aan
‫de locatie voor deze death sound.
‫Ok Geweldig.
‫Laten we doorgaan en onze code compileren met een succesvolle compilatie.
‫We springen hier terug in de editor en laten we dit testen.
‫Dus ik druk op play en wacht op de timer.
‫Kortom, we hebben nu geluid.
‫We spelen een geluid voor het projectiel bij treffer en bij lancering, en we spelen een geluid voor de pion
‫bij dood.
‫Dus als we terugkijken op ons sectieplan, zien we dat we hier zowat elk afzonderlijk item hebben afgevinkt.
‫We zijn nog steeds bezig met de speciale effecten, we hebben de rook, de explosies en de geluiden.
‫Er zijn maar een paar dingen die je moet doen om dit spel op te poetsen en ervoor te zorgen dat het er goed
‫uitziet en aanvoelt voordat we verder gaan en dit gedeelte afronden.
‫Dus ik zie je in de volgende video.