‫Welkom terug en dit hoofdstuk dat we een fruit-ninja-kloon gaan bouwen, en je kent misschien
‫het spel Fruit Ninja als je het niet kent en bekijk enkele YouTube-video's, het is een heel
‫eenvoudig spel waarin je wat moet snijden fruit en dat doe je gewoon met een swipe en dan snijd je ze in plakjes.
‫Ze vallen eraf en je krijgt wat punten en je doel is om zoveel mogelijk punten te halen.
‫Natuurlijk is er iets dat je ervan weerhoudt punten te maken en dat zijn bommen.
‫Dus zodra je een bom doorsnijdt, verlies je het spel.
‫Oke.
‫Dus dat is het zo'n beetje.
‫Er is niet veel meer dan dat.
‫En we zullen deze basisfunctionaliteiten in dit hoofdstuk bouwen.
‫Dus laten we doorgaan en een nieuw project maken en laten we die Fruit Ninja-kloon noemen en laten we het project
‫maken.
‫In mijn geval noem ik het die ene.
‫Dat hoef je niet te doen.
‫En dat is gewoon omdat ik al een kloon ergens op mijn projecten heb.
‫Oke.
‫Dus daar zijn we.
‫Laten we doorgaan.
‫En verander allereerst de achtergrond van onze camera.
‫Dus ik wil geen skybox.
‫Ik ga gewoon een effen kleur gebruiken en ik ga die kleur veranderen om door te gaan en een kleur te kiezen.
‫En laten we gaan met een bruinachtige kleur.
‫Draag een lichtbruine badge, bijna geweldig.
‫Dat is dus ons uitgangspunt.
‫En laten we nu de activa importeren die we hebben, want er zijn enkele activa die u kunt downloaden die
‫bij deze lezing zijn gevoegd.
‫En laten we doorgaan en ze allemaal naar ons spel slepen.
‫Dus er is banaan gesneden, bananen melange, BAMP, sinaasappel gesneden, sinaasappel melange.
‫Dus al deze blend-bestanden, die blender-bestanden zijn, laten we ze naar onze game sturen.
‫Oke.
‫Dus zoals je kunt zien, zijn de assets rechtstreeks voor ons gemaakt en ook de materialen.
‫Laten we beginnen met het maken van een map voor hen, die ik modellen ga noemen en ik ga ze allemaal in hun
‫map slepen.
‫Zelfs materialen, dus laten we het er allemaal in opdrinken.
‫Oké, dus laten we allereerst beginnen met een sinaasappel.
‫Laten we het in ons spel slepen.
‫Zoals je kunt zien, is dit de sinaasappel en zo groot zou hij zijn.
‫Dus misschien is het een goede keuze om de grootte te verkleinen.
‫Dus hier, ga naar model en verander de schaalfactor om er drie te benoemen en klik dan onderaan op toepassen, zoals je nu kunt
‫zien, het is veel kleiner en dat zal een veel betere maat zijn.
‫Anders is het veel te groot.
‫Laten we nu hetzelfde doen met onze gesneden sinaasappel of sinaasappel, drie openknippen en dan op toepassen drukken.
‫Ik zal de sinaasappelsnijding daar ook naar binnen leiden, eigenlijk hier.
‫Dus nu vraag je je misschien af wat dat betekent.
‫Welnu, we hebben één versie, de volledige sinaasappel, die ongesneden is.
‫En dan is er de gesneden versie, die wordt gemaakt zodra we door een
‫sinaasappel snijden of door een sinaasappel vegen.
‫En het zijn twee stukken.
‫Het bevat dus twee stukken die dan in verschillende richtingen vallen.
‫Dus we krijgen het gevoel van het snijden van een sinaasappel of in het algemeen van het snijden van een vrucht.
‫Oke.
‫Dus laten we de oranje snit weer weg doen, want dat was alleen voor demonstratiedoeleinden.
‫Dus laten we de oranje snede hier verwijderen.
‫Nu, de sinaasappel heeft al een animator, zoals je kunt zien, hij heeft echter geen controller, en die
‫hebben we voorlopig niet nodig.
‫Dus laten we er vanaf komen.
‫Onderdeel verwijderen.
‫Nu hebben we alleen de mesh, render de mesh gefilterd en transformeer de component.
‫En wat we moeten toevoegen, is een fysiek 2D-rigide lichaam.
‫Nu vraag je je misschien af waarom een 2D physics-buddy en waarom eigenlijk niet?
‫Dat komt omdat ik alleen wil dat deze sinaasappel naar de 2D-kamer gaat.
‫Het mag dus niet naar de.
‫Het moet naar de top gaan.
‫Naar links.
‫Naar rechts.
‫Maar het mag niet te diep gaan.
‫Dus het zou niet in het 3D-niveau moeten gaan.
‫Daarom is een starre carrosserie, 2D de juiste starre carrosserie voor ons.
‫Laten we nu nog een component toevoegen, een 2D-cirkelbotser voor natuurkunde, want zoals je zou kunnen raden, heeft onze sinaasappel
‫de vorm van een cirkel.
‫Dus zoals je nu kunt zien, wordt dit de 2D-versneller die nog beter kan zien als we naar de bijkeuken
‫gaan.
‫Nu zien we dat het groene lijntje rond onze sinaasappel de Circle Collider wordt.
‫Nu, de straal van de botser, je kunt het hier vinden en je zou dat kunnen veranderen, zoals je hier kunt zien, door
‫het groter of kleiner te maken.
‫Als je het spel gemakkelijker wilt maken, zou je het groter kunnen maken of je zou zelfs in het algemeen het hele
‫model kunnen opschalen.
‫Maar optie drie is nu de juiste straal voor ons.
‫We zouden zelfs van deze offset af kunnen komen omdat het zo minimaal was.
‫Het is gewoon iets dat eenheid soms doet.
‫Nou, nu is het stijve lichaam in orde.
‫We hebben een mis nodig.
‫We hebben een zwaartekrachtschaal nodig.
‫Maar wat we hier moeten veranderen, is de botsingsdetectie.
‫Het script is in de meeste games prima, maar we wilden supersnel zijn.
‫We willen hier dus een zeer snelle detectie hebben.
‫Botsingsdetectie die zo continu is, is de betere keuze voor ons omdat het een heel snel spel is waarin we
‫de sinaasappel snijden en het heel snel moet reageren.
‫Laten we nu zeggen dat oranje een prefab is, dus laten we een nieuwe prefab-map maken, een prefab-map en
‫de sinaasappel hierheen slepen.
‫En nu we toch bezig zijn, laten we de scène ook redden.
‫Dus sla scènes op en laten we die noemen.
‫En dan hebben we een scriptmap nodig omdat we met scripts gaan werken.
‫Dus laten we dat ook creëren.
‫Scripts en laten we daar naar binnen gaan, een nieuw script maken.
‫Ik zie scherp schrift, om precies te zijn, en noem het fruit.
‫Laten we het nu openmaken.
‫Oke.
‫Hier.
‫Wat we willen doen, is dat we een gesneden fruit willen maken.
‫Daar hebben we dus een stukje prefab voor nodig, dus zodra we onze sinaasappel snijden, willen we
‫de sinaasappelstukjes hebben.
‫Dus de twee zijn de twee delen van onze sinaasappel, die er in twee verschillende richtingen af zullen vallen.
‫En dat is iets dat we hier moeten opzetten.
‫En dat geldt niet alleen voor de sinaasappels, voor elk fruit waar we mee aan de slag gaan.
‫Dus laten we een openbaar spelobject maken met de naam gesneden fruit prefab, omdat we het prefab van het gesneden fruit nodig hebben, dat
‫is bijvoorbeeld de gesneden sinaasappel, en dan hebben we een methode nodig die het fruit in plakjes
‫snijdt.
‫Dus ik noem het gesneden fruit creëren.
‫En wat ik wil doen is gewoon het gesneden fruit instantiëren.
‫Dus op welke positie door de prefab gesneden?
‫Nou, op dezelfde positie als onze sinaasappels en transformeer dan die rotatie.
‫Dus ook dezelfde rotatie die we nu hebben, de volgende.
‫We moeten natuurlijk de hele sinaasappel vernietigen, dus ons game-object, het game-object
‫dat het fruitscript bevat of het fruitscript bevat.
‫Oke.
‫Laten we nu weer in eenheid gaan, want we hebben de prefab nog niet, dus de gesneden prefab hebben we nog niet.
‫Uiteraard hebben we alleen de oranje prefab.
‫Dus laten we teruggaan naar ons model en laten we de sinaasappelsnit weer in ons spel brengen.
‫Nu bestaat de oranje snede uit twee verschillende objecten.
‫Zoals je hier kunt zien.
‫Dit is eigenlijk gewoon een map, die onze oranje snede links en onze oranje snede bevat.
‫Rechts.
‫Er zijn dus twee stukjes sinaasappel.
‫We willen dat ze in verschillende richtingen vliegen zodra deze methode gesneden fruit wordt genoemd.
‫Dus laten we doorgaan en dat doen.
‫Laten we die twee uitgesneden stukken selecteren en een component toevoegen.
‫En nu gaan we een stijf lichaam toevoegen, geen stijf lichaam, omdat we ze niet alleen naar de zijkant willen
‫vouwen, we willen ook dat ze een beetje draaien.
‫Het ziet er dus een beetje realistischer uit omdat het fruit niet altijd perfect aan elke kant zal vallen.
‫Het zal ook een beetje draaien.
‫En dat is iets dat we moeten doen met een star lichaam, 3D.
‫Nu, over de botsingsdetectie, kunnen we het als discreet laten, omdat die stukken niet zo belangrijk
‫zullen zijn in termen van botsingsdetectie.
‫We willen niet dat ze opnieuw worden gesneden, maar we hebben nog steeds een fysica nodig.
‫Doos-botser.
‫Welnu, in dit geval gaan we nu een box-collider gebruiken, natuurlijk, een box-collider, niet een box-collider
‫vandaag, omdat ons starre lichaam een 3D-object is.
‫Dus nu we dat hebben, laten we ze naar de map van onze prefect slepen.
‫Dus laten we de oranje uitsnede als prefab naar onze prefab-map slepen omdat we beide stukken willen hebben en
‫we willen één prefab hebben.
‫Oke.
‫Dus nu kunnen we van onze sinaasappelsnit af.
‫Verwijder dat van hier.
‫Laten we ook onze scene redden.
‫Dus nu de sinaasappel zoals deze sinaasappel en de prefab, ze moeten allebei het script hebben dat we zojuist hebben
‫gemaakt.
‫Dus laten we het onderdeel toevoegen.
‫Laten we het script met de naam fruit toevoegen.
‫Nu, natuurlijk, zie je hier, we hebben een prefab gesneden fruit nodig.
‫En het is perfect omdat orange cut een prefab gesneden fruit is.
‫Dus laten we dat naar binnen slepen en laten we dat toepassen op onze prefab orange.
‫Anders heeft het het script niet.
‫U kunt dus zien dat de prefab een script heeft dat echt belangrijk is.
‫Oke.
‫Dat is nu klaar.
‫Laten we proberen dat voor elkaar te krijgen.
‫Dus laten we proberen een gesneden fruit te maken en we kunnen de update-methode gebruiken voor gebruikersinvoer.
‫Dus als inputs de toets omlaag krijgen, dus zodra de gebruiker op een toets drukt en laten we gewoon de toetscode spatie gebruiken.
‫Dus zodra iemand op de spatiebalk drukt, noemen we dit de methode 'Gesneden fruit maken'.
‫Oke.
‫Dus laten we dat script opslaan.
‫Laten we teruggaan naar de eenheid.
‫En nu is het belangrijk dat we een sinaasappel in onze hiërarchie hebben, want anders hebben we geen
‫sinaasappels om dat op te testen omdat we nog geen spawner hebben.
‫Dus we zullen spawners creëren, die als vruchten zijn geboren en ze de lucht in schieten zodat we ze kunnen snijden.
‫Maar dat hebben we nu nog niet.
‫Dus laten we ervoor zorgen dat er een sinaasappel in ons spel zit en laten we het spel nu starten.
‫Eigenlijk was ik te langzaam, dus laten we het een beetje opvoeren.
‫Laten we naar de Tuti-kamer gaan en hem omhoog trekken zodat ik genoeg tijd heb en laten we maximaliseren en spelen.
‫En de pers, de sleutel en zoals je kunt zien, het gesneden fruit was er, en dat is allemaal goed, maar het ziet
‫er natuurlijk niet erg mooi uit.
‫Het moet op de een of andere manier draaien of in verschillende richtingen bewegen.
‫En dat is wat we kunnen krijgen in onze creaties, gesneden voedsel, omdat we hier een stijf lichaam moeten toevoegen, wat
‫een explosie veroorzaakt.
‫En om dat te doen, moeten we het volgende doen.
‫Laten we dus een star lichaam creëren.
‫En in dit geval hebben we een reeks starre lichamen nodig omdat we te starre lichamen hebben waarmee we
‫praten.
‫Dus die van de links gesneden erwten en die van de rechts gesneden erwten.
‫En ik ga het gewoon rb noemen.
‫S of stijve lichamen op gesneden.
‫En om het te initialiseren, moeten we een game-object gebruiken waarmee is geïnitialiseerd.
‫Laten we dus een game-object maken en het instance of now noemen.
‫De instantiate-methode moet een game-object ervoor krijgen, zodat dit nu niet alleen het game-object zal
‫instantiëren, maar ook een game-object zal maken dat wordt opgeslagen in INST.
‫Nu kunnen we dat in plaats daarvan gebruiken om nu verder te gaan en de component get-component bij kinderen te transformeren en hier het
‫stijve lichaam.
‫Dus ik wil het stijve lichaam van elk van de twee gesneden stukken hebben.
‫En hier is compact klagen omdat het geen component is bij kinderen, maar wel componenten bij kinderen, want hier
‫hebben we een reeks starre lichamen.
‫Het is dus meervoud.
‫Laten we nu alle verschillende stukken die we hebben doornemen.
‫Dus al deze verschillende gesneden stukjes sinaasappel en neem het stijve lichaam genaamd R in onze B in plakjes.
‫Dus we gaan hier door deze array en voor elk van de stukken veranderen we om rotatie te transformeren met een
‫willekeurige rotatie.
‫Dus we maken gewoon een willekeurige rij.
‫TATIAN En dat is mooi, want je ziet dat de willekeurige methode een eigenschap heeft die rotatie wordt genoemd, die
‫ons een willekeurige rotatie geeft.
‫We hoeven hier niet eens een methode te schrijven om hier willekeurige rotaties uit te voeren.
‫Dus dat is best cool met de willekeurige klasse nu.
‫Vervolgens willen we een explosie toevoegen zodat de stukken naar verschillende richtingen gaan en ze gewoon in de verschillende
‫richtingen worden gestraald.
‫En zoals je hier kunt zien, heeft ons stijve lichaam verschillende methoden om kracht toe te voegen, relatieve kracht toe te voegen, explosiekracht
‫toe te voegen.
‫Oke.
‫Dat is precies degene die we willen hebben.
‫Laten we dat dus gebruiken.
‫Zoals je kunt zien, zijn er meerdere overbelastingen en we gaan deze hier gebruiken alleen met een explosiekracht.
‫Dus hoe krachtig moet de explosiekracht dan zijn?
‫De explosiepositie?
‫Dus de positie van waaruit de explosie moet beginnen en dan tenslotte de explosiestraal en
‫de waarde voor explosiekracht moeten willekeurig zijn.
‫Het moet niet altijd dezelfde soort explosie zijn, mag er niet altijd hetzelfde uitzien.
‫Dus soms moet het verder wegvliegen, soms minder ver, enzovoort.
‫Laten we dus een willekeurig gedachtebereik creëren.
‫En de twee waarden die ik hier wil gebruiken zijn vijfhonderd en 1000.
‫Dus ik wil gewoon een explosiekracht tussen 500 en 1000 hebben, wat willekeurig zou moeten zijn.
‫Dan moet de explosiepositie de positie worden getransformeerd.
‫Dus de positie van het spelobject van wat ontplofte.
‫Het is dus in dit geval oranje.
‫Dus het centrum van onze sinaasappel.
‫En tot slot, wat moet de explosieradius zijn?
‫En ik ga er gewoon vijf invoeren.
‫Dat is slechts een waarde die ik heb getest en hier goed werkt.
‫Dus laten we nu vijf F gebruiken.
‫Laten we dat nog eens opslaan en terug naar Unity.
‫En laten we nu op de toets drukken.
‫En zoals je kunt zien, valt onze Frood er nu behoorlijk af als we de sinaasappel dupliceren en elke sinaasappel een klein
‫beetje verplaatsen.
‫Dus laten we de waarden hier veranderen.
‫Dan zul je zien hoe cool onze kleine explosie eruitziet.
‫Oke.
‫En tot slot, deze hier ook.
‫Dus laten we het spel nu opnieuw beginnen.
‫En je zou kunnen zien dat de rotatie willekeurig is en de explosie zelf ook willekeurig, dus ze
‫vliegen naar verschillende richtingen, verschillende mensen, enzovoort.
‫Dus ik vind dit er al heel gaaf uitzien.
‫Dus je ziet, we doen geweldige explosies en ja, ik denk dat dat goed is voor deze video.
‫En in de volgende video gaan we kijken hoe we die vruchten kunnen voortbrengen, want nu moeten we ze naar onze scène
‫slepen en dat is niet de beste oplossing.
‫Dus laten we de scène zoals gewoonlijk opslaan.
‫Vergeet de scène niet op te slaan en tot ziens in de volgende video.