Interactiviteit toevoegen met behulp van externe script assets

uit de cursus Starten met Unity

Leuk dat je onze site bezoekt,

Ben jij leergierig?. Jij abonnee en dan ik geef jou 5% korting op de eerste maand! Wat vind je daar van? gebruik als kortingscode: DIEHARD

Geef een reactie of stel een vraag

Geef een reactie

Registreer als je wilt reageren.

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

Starten met Unity

perm_identity Hans Wichman | video_library 21 video's | query_builder 01:33

Snel op weg met Unity

Unity is een populaire game engine, gratis voor persoonlijk gebruik, om 2D en 3D games mee te maken. In dit uitgebreide en complexe pakket kun je vrijwel alles maken wat je maar kan bedenken op game gebied, maar dat zorgt er vaak ook voor dat je als nieuwkomer geen idee hebt waar je moet beginnen. In deze bijna 1,5 uur durende cursus neem ik je in vogelvlucht mee door alle beginstappen en basisprincipes, terwijl je bouwt aan je eerste eigen Unity product.

 

Wat ga je leren?

In deze cursus leg ik je stap voor stap uit:

  • Wat Unity is en wat je met Unity kan.
  • Waar je Unity kunt vinden en hoe je Unity kunt installeren.
  • Wat de basis kennis & vaardigheden zijn die je minimaal nodig hebt om met Unity aan de slag te gaan:
    • Hoe de Unity interface werkt.
    • Wat Scenes, GameObjecten, Componenten, Assets en Prefabs nou precies zijn.
    • Hoe je zelf een eenvoudige omgeving kunt maken waar je in rond kunt lopen.

Alles wat je leert, pas je direct in de praktijk toe en daarvoor hoef je op dit moment nog helemaal niets van Unity af te weten.

In deze video ga ik je laten zien,

hoe je met behulp van Script assets,

interactiviteit toe kunt voegen aan je Scene.

Daarbij leg ik je uit:

wat een script is,

hoe je een script maakt,

en hoe je bestaande scripts gebruikt.

Laten we beginnen met wat een script precies is.

Een script is een stuk tekst ook wel broncode genoemd,

waarmee je functionaliteit toe kunt voegen aan je spel.

Sterker nog, met scripts kun je niet alleen functionaliteit aan je spel toevoegen,

maar ook aan Unity zelf.

In Unity schrijf je deze scripts in een zogeheten programmeertaal, genaamd C#.

Hier zie je een voorbeeld van zo een script.

Bij het schrijven van een script moet je je aan bepaalde regels houden wat betreft de opbouw.

Bij een gewone taal hebben we t dan over grammatica,

bij een programmeertaal hebben we het over syntax.

De syntax van een taal bepaalt bijvoorbeeld hoe je aan kunt geven,

dat een blok tekst documentatie is, met instructies voor jou als lezer.

Ook bepaalt de syntax hoe je de instructies definieert die wel voor de computer zijn,

zoals dit blok hier waarmee je je GameObject laat draaien.

Tot slot bestaat syntax in de praktijk vooral uit veel & veel verschillende haakjes.

Maak je een foutje in die syntax,

bijvoorbeeld door een haakje te vergeten,

dan noemen we dat een syntax error.

En zo een syntax error is helaas al voldoende om ervoor te zorgen,

dat je je spel niet meer kunt starten.

Daarnaast zijn er ook nog een aantal ongeschreven regels,

bijvoorbeeld of je je Scripts zoveel mogelijk in het Engels schrijft of niet.

Het antwoord daarop is eigenlijk ja,

maar die regel heb ik voor deze Nederlandse cursus zoals als je ziet direct al gebroken.

Hiermee komen we aan bij het tweede punt en dat is:

Hoe maak je zo een script eigenlijk?

Je kunt een Script direct vanuit Unity aan maken

via de Create button in de ProjectWindow.

Unity maakt dan een bijna leeg script voor je aan,

waarin je direct zou kunnen beginnen met programmeren.

Nou kun je dit, ook al heb je nog nooit eerder geprogrammeerd,

prima leren, maar niet in video.

Daarom maken we in deze video gebruik van bestaande, oftewel externe, script assets.

Deze kun je terug vinden in de oefenbestanden voor dit hoofdstuk, in de Scripts folder.

Hier zie je verschillende scripts staan, een BestuurScript, een DraaiScript, etc.

De eenvoudigste manier om al deze Scripts aan je project toe te voegen,

is door ze allemaal in keer te selecteren,

en ze vanuit je verkenner rechtsstreeks in je Asset folder in Unity te slepen.

Hiermee worden al deze Scripts naar je project gekopieerd.

Ze staan dan dus zowel hier als hier.

In tegenstelling tot Materialen,

moet je er voor zorgen dat je een Script niet per ongeluk

meerdere keren importeert of dupliceert.

Doe je dat wel dan krijg hieronder een foutmelding.

Eventueel kun je daar ook nog op klikken om de zogeheten Console te openen

voor meer informatie over de desbetreffende foutmelding.

Totdat je het aangegeven probleem verholpen hebt, kun je je spel niet meer starten.

De enige manier om dat op te lossen

is door eerst de dubbele assets weer te verwijderen met delete.

De Console window gaat daarbij niet vanzelf weg,

maar die kun je handmatig weer verbergen met t kruisje rechtsboven.

Nu doet je spel het ook weer in PlayMode.

Nu dat je een aantal script assets hebt toegevoegd,

zie je dat je ProjectWindow al redelijk snel onoverzichtelijk wordt.

Dit kun je verhelpen met behulp van folders.

Maak hiervoor eerst via Create een Materials en een Scripts folder aan.

Zoals je ziet worden nieuwe folders altijd aangemaakt in de folder

die je geselecteerd hebt en daarom zit de Scripts folder nu in de Materials folder.

Om dat te voorkomen kun je of tussendoor de Assets folder opnieuw selecteren,

maar ook achteraf is dit eenvoudig te corrigeren door de folder gewoon alsnog

naar de juiste plek te slepen.

Sleep tot slot ook alle materialen en scripts naar de juiste folder.

Dat kan voor , maar het is sneller om met de Ctrl of Shift toets ingedrukt,

eerst meerdere bestanden te selecteren en ze daarna allemaal in keer te verplaatsen.

Het is daarbij heel belangrijk dat je deze project bestanden

alleen vanuit Unity verplaatst en hernaamt.

Doe je dat niet dan raakt Unity in de war,

en heb je grote kans dat er iets stuk gaat in je project.

Nu zijn je assets goed geimporteerd en opgeruimd,

waarmee we aankomen bij het laatste onderdeel van deze video,

namelijk hoe je deze scripts gebruikt.

Dat kan ten eerste op precies dezelfde manier als bij materialen.

Maak hiervoor eerst even een kubus aan en pas indien nodig de schaal aan.

Pak vervolgens het DraaiScript op met je linkermuisknop

en sleep deze uit de projectwindow over je kubus.

Laat tot slot je muisknop weer los.

Het grote verschil met het slepen van materialen,

is dat je hierbij helemaal niets in je SceneView ziet veranderen.

Dat komt doordat ons spel nog niet gestart is.

Zet hiervoor indien nodig eerst je Camera goed,

zodat je je game object ook daadwerkelijk ziet in de GameView, en druk dan op Play.

Nu zie je duidelijk het effect van je Script op dit GameObject.

Een andere manier waarop je kunt zien, welk GameObject - welk Script heeft,

is via de InspectorView.

Ga hiervoor eerst terug naar EditMode en selecteer indien nodig je GameObject.

Via deze InspectorView hier rechts,

heb je volledige controle over alle details van je object.

In de volgende video kom ik hier uitgebreid op terug, maar wat deze scripts betreft,

beperk ik me nu even tot dit onderste deel.

Hier kun je ten eerste zien welke scripts je object heeft,

en ten tweede je scripts weer verwijderen met behulp van dit uitklapmenu hier rechts.

Nu dat we een beetje weten hoe Scripts werken,

gaan we op dezelfde manier een speler toevoegen aan ons spel.

Maak hiervoor eerst indien nodig je plane wat groter en zet je Camera goed,

zodat je genoeg ruimte hebt om rond te lopen,

maak dan weer een nieuwe kubus aan, en voeg daar het Bestuurder script aan toe.

Druk daarna op play en test je script uit met de pijltjes toetsen.

Zoals je ziet kun je zelfs of wel of niet door objecten heen kunt, vastleggen in je Script.

Tot slot kunnen we ook meerdere scripts toevoegen aan en hetzelfde GameObject.

Om je speler bijvoorbeeld ook sneeuwballen te laten gooien met de linkermuisknop,

ga je eerst weer terug naar EditMode,

sleep je het SneeuwBallenGooiScript op dezelfde kubus

en druk je weer op play.

Je hebt nu de basis van Scripts geleerd

en hoe je deze toevoegt aan de GameObjecten in je Scene.

Probeer voordat je doorgaat naar de volgende video

op dezelfde manier een aantal ronddraaiende kubussen te maken,

die je op kunt pakken met je muis,

een sneeuwbal of door er doorheen te lopen.

Gebruik hiervoor deze verschillende PakOp... scripts en vergeet niet,

dat je hier rechts meer kunt lezen over hoe je deze moet gebruiken.