Svenska

Lär dig skapa ett spel #1 - Installera och lär dig Unity

Skrivet av peligon den 26 mars 2017 kl 23:40

Lär dig skapa ett spel #1 - Installera och lär dig Unity

I denna första riktiga delen av serien går vi igenom hur man installerar Unity, vilket är det enda programmet vi kommer att använda oss av (bortsett från ett annat program som följer med Unity). Vi kommer också bekanta oss lite med Unity och skapa något väldigt, väldigt simpelt.

Instruktioner
Video över processen

1. Gå till Unitys nedladdningssida, välj Personal-versionen som är för hobbyverksamhet, vilket är det vi kommer syssla med. På nästa sida klicka på den gröna knappen för att ladda ned så får du den senaste versionen. Jag kör version 5.5.2, men förmodligen gör det inte om du får en nyare version. Utifall att guiden inte stämmer för nyare versioner så hittar du äldre versioner här.

2. Kör installationsprogrammet. När du kommer till steget där du ska välja mellan 64 bitars- och 32 bitars-arkitektur så tar du det som passar din dator, det gör ingen skillnad vare sig nu eller längre fram i serien då vi endast kommer att göra spel till dator. Har du Windows kan du se vilken arkitektur du har i din dator genom att öppna startmenyn och skriva in "dxdiag", kör programmet och titta vad som står för värde för operativsystem.

3. När du ska välja komponenter så ändrar du ingenting. Om du Visual Studio installerat och vill koda i det så rekommenderar jag att du kryssar i "Microsoft Visual Studio Tools for Unity", men det är inget vi kommer använda oss av i den här guiden. Fortsätt installationen som vanligt.

4. När Unity har installerats så startar du upp det. Skapa en Unity-användare, logga in och gå vidare. Frågar den om vilken licens du har så väljer du återigen "Personal". Första gången du startar dyker det upp en enkät om vad du använder Unity till. Fyll i den hur du vill, den spelar ingen roll för oss.

5. Välj att skapa ett nytt projekt, döp det till "my-first-project" (eller vad som helst annat, spelar ingen roll). Välj att projektet ska vara i 2D. Unity analytics spelar ingen roll, du kan stänga av det om du vill.

6. Välkommen till Unity! Låt det inte skrämma bort dig med sina främmande rutor och genomgående gråbleka färgtema. Den mörkgråa rutan i mitten är scen-vyn. Här ser du din scen, vilket man kan säga är din bana, och det är här du kommer sitta mest. Vi återkommer till den strax.
Till vänster har du en hierarki-vy, här ser du alla objekt som är i en scen. Med objekt så menar jag alla saker och ting som är i spelet, såsom spelare, fiender, plattformar, livsmätare, allt. I nedkanten har vi projekt-vyn och konsol-vyn. Konsolen behöver du inte bry dig om. I projekt-vyn har du en "Assets"-mapp, en mapp som innehåller alla tillgångar du har i projektet, såsom bilder och sprites, ljudfiler och annat du vill importera. Även prefabs sparas här, något vi tar upp i nästa del. Till höger ser du inspektions-vyn, här visas information om det aktiva objektet, alltså det objektet du jobbar med.


Observera
Varje gång vi skapar ett objekt, se till så att inget annat objekt är markerat i hierarki-vyn. Skapar man ett objekt medan ett annat är markerat/aktivt så blir det ett barn till det objektet. Om vi flyttar ett objekt som har barn-objekt så påverkas barnens position. För att undvika detta, klicka någonstans i hierarki-vyn där det är tomt, för att avmarkera objekt, innan varje gång du lägger till ett objekt (förutom vid duplicering, då måste ett objekt vara markerat).

7. Det är dags att ta ett steg in i Unity. I scen-vyn finns inte mycket förutom en ikon i form av en kamera, och en ram som visar kamerans synfält. Kameran finns i hierarkivyn med namnet "Main Camera". Detta är ju inte särskilt spännande, så vi lägger till ett objekt. Högerklicka i hierarki-vyn, någonstans under "Main Camera" och välj "Create Empty", vilket skapar det simplaste av objekt som vi kan ha: tomma objekt. Objektet dyker upp i hierarki-vyn samt scen-vyn, och får namnet "GameObject", spelobjekt. Objektet är markerat i scen-vyn med en grå cirkel, och det ligger precis där kameran är, mitt i bild. Objektet är dock så pass innehållsfattigt att det inte har något som säger hur det ska ritas ut, och är därför osynligt. Med vårt spelobjekt markerat (om du råkat avmarkera det så är det bara att klicka på det i hierarki-vyn) tar vi en titt i inspektions-vyn. Där ser vi en transform-komponent.

Kort om "GameObject", spelobjekt i Unity
"Empty"s, tomma spelobjekt, har enbart en så kallad transform, som säger var någonstans i världen ett spelobjekt befinner sig, samt objektets rotation och eventuella skalning. Transform är en komponent. Spelobjekt är en samling komponenter. Alla spelobjekt i Unity består minst en transform-komponent. Komponenter är saker som beskriver spelobjektet: hur spelobjektet ska ritas ut, dennes fysiska attribut, hur det är format, med flera. Allt i din scen är spelobjekt, klicka på kameran så ser du att den inte är mycket mer än en transform-komponent och kamera-komponent.

8. Med vårt spelobjekt markerat, klicka på "Add Component" under transform-komponenten. Klicka på "Rendering" och sedan "Sprite Renderer"-vips så dyker en Sprite-renderings-komponent (lite långt att skriva så vi nöjer oss med "Sprite-komponent" upp. Den innehåller en del attribut. Det vi är intresserade av är Sprite-attributet. Vi klickar på cirkeln längst till höger. I menyn finns det en fåtal sprites att välja på. De är egentligen skapta för GUI, men vi norpar den vid namn "Knob", helst utan att fnissa. Voilà, vårt objekt ritas nu ut i scen-vyn. Om du inte ser det så behöver du zooma in eftersom kamera-ikonen är i vägen, så scrolla för att zooma in manuellt eller så dubbelklickar på objektet i hierarki-vyn så slipper du göra jobbet.
Luta dig tillbaks ett tag och känn dig stolt över din skapelse, för att sedan gå vidare till nästa steg.

9. Nu börjar det likna något. Klicka på play-knappen i menyn ovanför scen-vyn, och scen-vyn byts mot spel-vyn. Vårt första spel är äntligen klart! Tack och hej, serien är över! Nej då, så mycket har vi inte åstadkommit ännu, och det ändå vi möts av i spel-vyn är en vit liten prick i ett hav av blått. Ingenting händer, men spelet är igång, det är bara det att vi inte sagt hur något ska fungera. Avsluta spelet och gå tillbaka till scen-vyn genom att klicka på play-knappen igen.

Det första vi vill är att få till lite rörelse på skärmen. Vi gör det enkelt med hjälp av lite gravitation. I inspektions-vyn så lägger vi till ytterligare en komponent, en av typen "Physics 2D" -> "Rigidbody 2D". Detta är en komponent som beskriver ett 2D-objekts fysik, och har en massa läskiga attribut. Som tur är behöver vi inte ändra något, så vi nöjer oss med att observera att där finns ett attribut vid namn "Gravity Scale" som är satt till 1, alltså normal gravitation. Klicka på startknappen, och förundras av den ca 1 sekund långa åsynen av din fallande boll. Aj då, vi behöver lite gränser i världen. Avsluta spelet.

10. Det är dags att skapa ett nytt spelobjekt, vi högerklickar i hierarki-vyn och lägger till en "2D Object" -> "Sprite". Detta bevarar oss från mödan att lägga till Sprite-renderings-komponenten själva, den följer med denna typ av objekt. Vi klickar återigen på cirkeln till höger om Sprite-komponentens Sprite-fält och väljer en sprite som finns i menyn.

Om du är ambitiös så kan du högerklicka på "Assets" i projektvyn och välja "Create" -> "Sprites" -> "Square". Spara den som "platform_sprite" (vi håller oss till namnsättning på engelska), markera ditt nya objekt och dra din sprite från projekt-vyn upp till Sprite-fältet och släpp.

Flytta ner din kub genom att aktivera flyttverktyget i uppe till vänster (det till höger om handen), eller tryck på W. Ditt objekt har nu omringats av färgglada pilar. Dra i den gröna pilen för att ändra positionen endast i Y-axeln, alltså låst vertikalt. Färgerna är: grönt för Y, rött för X och blått för Z (vi bryr oss inte om Z-axeln då vi jobbar i 2D). Observera att värdet för Y-position ändras i transform-komponenten. Vill man så kan man skriva in värden manuellt, för precisa flyttningar.

Flytta ned objektet så att det är i nedkanten av kamerans synfält, utan att vara utanför. Var exakt du placerar dina objekt spelar ingen roll. Tryck sedan på knappen för skalning, näst längst till höger i samma meny, eller tryck R. Här ser vi något liknande, fast med kuber istället för pilar. Dra i ren röda kuben för att skala objektet i x-led, horisontellt. Dra tills den blir bred nog att täcka bredden i kamerans synfält. Grattis, du har skapat en plattform!
Klicka på plattformen i hierarki-vyn, högerklicka och välj "Rename", alternativt tryck F2 (Windows) eller Enter (OS X). Skriv "Platform" och tryck enter. Så, lite bättre namn. Gör detsamma för det andra objektet, döp det till "Ball".

11. Nu har vi kommit en bit, bäst vi sparar vårt arbete. I menylisten allra längst upp väljer vi "File"->"Save Scenes" (CTRL/CMD+S). För att spara måste vi namnge vår scen. Döp den till "test-scene". Framöver kan vi snabbt spara scenen. Spara ofta så slipper du förlora ditt arbete om något skulle hända.

12. Sätter vi igång spelet nu kommer bollen falla igenom plattformen som om den inte vore där. De hade inte vetat att de skulle kollidera med varandra. För att de ska kunna krocka måste de båda ha en beskrivning på hur de är formade. Vi börjar med plattformen, och lägger till "Physics 2D" -> "Box Collider 2D". Du ser nu en grön rektangel kring din plattform. Det är så omvärlden kommer uppfatta ditt objekt, så även om sprite:n för plattformen går utanför rektangeln eller innanför så är den gröna rektangeln som bestämmer. Om du vill kan du anpassa variablerna Size X och Y för att få den att stämma någorlunda bättre med din plattform.
Vi gör detsamma för bollen, fast med en "Circle Collider 2D". Anpassa "Radius" under komponenten tills den gröna cirkeln är ungefär i samma storlek som din boll, det behöver inte vara så noggrant gjort. Starta spelet med startknappen. Bollen faller och landar på plattformen. Sådär ja!

13. Vi avslutar med att göra det lite mer intressant. Markera din plattform, högerklicka och välj "Duplicate" för att skapa en kopia av plattformen (CTRL/CMD+D). Flytta upp plattformen (W) och välj rotationsverktyget (E), rotera det genom att dra i någon av de yttre cirklarna. Sätt det lite snett någonstans en bit under bollen så att den studsar lite åt sidan när de krockar, duplicera plattformen och lägg den någonstans där bollen kommer krocka med den. Lägg till så många du vill. Starta och se vad som händer.

Det var allt för den här gången, se till att spara när du är klar.
Den här delen blev lite försenad, i framtiden ska jag försöka släppa delar senast 20:00, men förhoppningsvis eftermiddagen. Några frågetecken? Lämna en kommentar eller skicka ett meddelande så hjälper jag till.
Nästa gång blir det att fixa så att vi kan styra bollen.

Tidigare delar
#0 - Introduktion

HQ