Lær Unity 2D og Platformer Basics med denne oversigt

Hvis du handler rundt efter en 2D-spilmotor, er du utvivlsomt stødt på Unity. At dyppe din tå i Unity's editor kan være overvældende, hvis du ikke har haft et godt overblik over, hvor alle værktøjerne bor, især hvis det også er din første gang at bruge C # til at skrive scripts.

I denne artikel giver jeg dig en rundvisning i Unitys 2D-funktioner med en oversigt over, hvilke værktøjer du har brug for til at oprette en platformspil - eller enhver form for 2D-spil - og hvor du finder dem i editoren!

Hvis du overvejer Unity blandt andre 2D-spilmotorer, skal du se på denne artikel for nogle muligheder.

Og hvis du foretrækker en visuel rundvisning i Unity, skal du tjekke denne video i stedet (28 minutters overvågning):

I denne oversigt bruger vi Warped City Unity Assets Pack af Ansimuz.

Oversigt

Ved første øjekast vil Unitys redaktør se fortrolig ud, hvis du har brugt en anden "alt-i-en" -spilmotor, men hvis det er din første indgang til spiludvikling, kan det være overvældende. Desuden, hvis du ikke allerede har nogen erfaring med at arbejde i C #, anbefaler jeg stærkt at lave nogle tutorials ved hjælp af Microsofts .NET eller lignende. Enhed har en relativt stejl indlæringskurve, og hvis du kan komme til den med nogle grundlæggende færdigheder med C #, får du en lettere ombord oplevelse.

Meget af din tid vil blive brugt i hierarkiet (1), som giver dig mulighed for at holde styr på alle dine spilobjekter i en given "scene", som er en bestemt del af dit spil (som din "Start" -menu eller en bestemt spilverden i din platformspil). Med det kan du rede objekter under andre, administrere dine kameraer og kanvas og navigere gennem alle de spilobjekter, du har oprettet.

Du vil gerne holde orden i din projektfane (2), som fungerer som et filsystem, som du kan strukturere, som du finder det passende. En bedste praksis er for eksempel at samle alle dine aktiver i en mappe, animationer i en anden, scripts i endnu en osv. Du kan også klikke over til konsolfanen, hvis du har instrueret Unity om at logge ting under omstændigheder, som du dikterer.

Når du klikker på et spilobjekt, enten i hierarkiet eller projektfanen, bliver du mødt med flere detaljer i inspektøren (3). Disse detaljer afhænger af, hvilken type objekt du har klikket på, og hvad du har knyttet til det spilobjekt. Hvis du f.eks. Har oprettet et tomt spilobjekt, vil der ikke være meget der. Men hvis du har lavet en spillerkarakter, der har en sprite knyttet sammen med en animationscontroller, rigidbody2d til at styre fysik, collider2d til at styre kollisioner og et script til at styre brugerinput og interaktivitet, vises alle disse i inspektøren for dig at rode med.

Resten af ​​fast ejendom inden for redaktøren bliver taget op af selve scenen (4), hvor du vil bygge din spilverden, falde i objekter og udløsere og gå videre til din spildesign. Du kan klikke over til spilfanen for at se, hvordan dit spil faktisk ser ud, når det spilles (og spille det ved at trykke på "play" -knappen) eller tjekke Asset Store fra din Unity-klients sikkerhed.

Hvor finder man ting som animatoren

Hvis du har læst noget af min skrivning om spilmotorer, har du hørt mig klynke over, at Unitys 2D-support bliver skovhornet i et 3D-miljø, og om hvor svært det kan være at finde de værktøjer, du har brug for for at få dit arbejde udført.

Lad os bare sige, at nogle ting er vanskelige at opnå i Unity sammenlignet med andre 2D-spilmotorer, men de er alle stadig mulige. Hvis du f.eks. Forsøger at få adgang til animatoren, skal du vælge Vindue> Animation> Animator, som adskiller sig fra placeringen af ​​animationerne, som du omhyggeligt opretter og gemmer i projektfanen.

Tilsvarende, hvis du under alle omstændigheder vil have adgang til Physics 2D-indstillinger, skal du klikke på Rediger> Projektindstillinger, der adskiller sig fra dine personlige præferencer, placeret under Rediger> Indstillinger. Og hvis du ønsker at tinker med builds, skal du gå til File> Build Settings.

På samme måde, hvis du bare vil oprette et almindeligt ol-spilobjekt, skal du gå til GameObject> Opret tom (eller 2D-objekt, hvis du ved hvad du leder efter). Hvis du omvendt forsøger at tilføje en stiv krop til et eksisterende spilobjekt, skal du gå til Komponent> Fysik 2D> Stivkrop 2D (eller klikke på "Tilføj komponent" i inspektøren, når du har valgt spilobjektet i hierarkiet).

Jeg synes det er klart på dette tidspunkt at finde de ting, du har brug for for at få dit arbejde udført, kan være kompliceret, indlejret, da de er inden for forskellige menuer. Det hjælper ikke, at nogle af selve værktøjerne, som f.eks. Animatoren, er klodset i forhold til deres kolleger i andre 2D-spilmotorer, men når du først har fået et greb om, hvordan de fungerer, finder du dem til at være perfekt brugbare.

Visual Studio og C # Scripting

Unity understøtter C # til at skrive scripts, og du kan parre det med Visual Studio for et relativt smertefrit integreret udviklingsmiljø.

Scripts er let tilgængelige via editoren, og du bliver nødt til at vedhæfte dem til dine spilobjekter for at få dit spil til at gøre stort set alt. En sjov funktion er at erklære en offentlig variabel i et script - sig et heltal kaldet "jumpSpeed" - og derefter vedhæfte dette script til et spilobjekt i inspektøren. Du vil se, at variablen er eksponeret i Unity-editoren og kan ændre den i farten, mens dit spil kører for at se, hvordan dine ændringer fungerer i aktion.

Præfabrikker

Endelig udnytter Unity brugen af ​​det, de kalder "præfabrikerede" for at strømline din arbejdsgang. I princippet er en præfabrik en type genanvendeligt objekt, som du har oprettet, så du kan droppe det i din spilverden igen og igen uden behov for gentilpasning.

Lad os sige, at du opretter et monster i dit top-down 2D-eventyrspil som et tomt spilobjekt, og vedhæft derefter et sprite, rigidbody2d, collider2d, animationer og et controller-script. Du kan trække det monster ind på din projektfane for at gøre det til en præfabrik, som giver dig mulighed for at bruge det igen og igen i din spilverden uden at skulle gå igennem hele processen hver gang.

Enhed har flere flere funktioner, der understøtter 2D-spiludvikling, hvoraf nogle jeg dækker i videoen ovenfor, og det ville gøre for at se et par tutorials om specifikke aspekter af editoren, hvis du overvejer at bruge det til dit næste spil. Jeg vil især anbefale at børste op på C #, før du tackler selve editoren, da det vil give en mere blid læringskurve.

Håber, at denne oversigt er nyttig til dit næste spil!

Hvis du kunne lide denne artikel, kan du overveje at tjekke mine spil og bøger, abonnere på min YouTube-kanal eller deltage i Entromancy Discord.

MS Farzan, Ph.D. har skrevet og arbejdet for højt profilerede videospilvirksomheder og redaktionelle websteder som Electronic Arts, Perfect World Entertainment, Modus Games og MMORPG.com og har fungeret som Community Manager for spil som Dungeons & Dragons Neverwinter og Mass Effect: Andromeda . Han er Creative Director og Lead Game Designer af Entromancy: A Cyberpunk Fantasy RPG og forfatter af The Nightpath Trilogy . Find MS Farzan på Twitter @sominator.