Opprette en enkel 2D-plattform i Unity
I denne opplæringen vil vi lage en grunnleggende 2D-plattformer i Unity. Dette vil innebære å lage en spillerkarakter som kan bevege seg, hoppe og samhandle med plattformer. Vi vil også legge til noen grunnleggende spillelementer som hindringer og samleobjekter.
1. Sette opp prosjektet
La oss starte med å sette opp et nytt Unity 2D-prosjekt:
- Åpne Unity og lag et nytt 2D-prosjekt.
- Gå til Fil > Ny scene og velg 2D-modus.
- Lagre scenen som MainScene.
2. Opprette spillerkarakteren
Vi vil først lage en enkel spillerkarakter ved å bruke en sprite og legge til bevegelsesfunksjonalitet:
- Høyreklikk i Hierarchy-vinduet og velg Create Empty. Gi dette objektet et navn Spiller.
- Legg til en Sprite Renderer-komponent til Player-objektet ved å klikke Add Component i Inspector.
- Velg en sprite du vil bruke som karakter, enten ved å lage din egen eller importere et 2D-element fra Unity Asset Store.
- Legg til en Rigidbody2D og en BoxCollider2D til Player-objektet for fysikk og kollisjonsdeteksjon.
3. Å skrive Player Movement Script
La oss nå skrive et skript som lar spilleren bevege seg og hoppe. Følg disse trinnene:
- Høyreklikk i Project-vinduet og velg Create > C# Script. Gi det navnet PlayerController.
- Fest dette skriptet til spillerobjektet ved å dra det fra prosjektvinduet til spilleren i hierarkiet.
Erstatt innholdet i skriptet med følgende:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 7f;
private Rigidbody2D rb;
private bool isGrounded = true;
void Start()
{
rb = GetComponent();
}
void Update()
{
// Player movement
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
// Jumping
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
isGrounded = false;
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
// Check if player is touching the ground
if (collision.collider.CompareTag("Ground"))
{
isGrounded = true;
}
}
}
4. Skape plattformer og miljø
Nå skal vi lage plattformer for spilleren å hoppe på:
- I hierarkiet høyreklikker du og velger Opprett tom, og gir den navnet Plattform.
- Legg til en BoxCollider2D og Sprite Renderer til plattformen.
- Velg en sprite for plattformen (f.eks. et flatt rektangel).
- Dupliser plattformen ved å trykke Ctrl+D (eller Cmd+D på Mac) og plasser kopiene for å lage et nivå.
- Merk disse objektene som Ground i Inspector for spillerens hopplogikk.
5. Legge til hindringer
For å gjøre spillet mer utfordrende, la oss legge til noen hindringer:
- Lag et nytt tomt GameObject og gi det navnet Obstacle.
- Legg til en BoxCollider2D og Sprite Renderer til dette objektet.
- Velg en sprite for hindringen (f.eks. en pigg eller fare).
- I spillerens OnCollisionEnter2D-metode kan du oppdage kollisjoner med hindringer og starte spillet på nytt eller trekke fra helse.
6. Legge til samleobjekter
Vi kan også legge til samleobjekter, for eksempel mynter eller power-ups:
- Lag et nytt tomt GameObject og navngi det Collectible.
- Legg til en CircleCollider2D (sett den som en trigger) og en Sprite Renderer for å representere samleobjektet.
- Skriv et enkelt skript for å oppdage når spilleren samler en gjenstand:
using UnityEngine;
public class Collectible : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
// Add points or other effects here
Destroy(gameObject); // Remove the collectible from the scene
}
}
}
7. Testing og tilpasning av spillet
Nå som den grunnleggende mekanikken er på plass, kan du teste spillet ved å trykke på Play-knappen. Prøv å justere følgende:
- Endre verdiene moveSpeed og jumpForce for å justere hvor raskt spilleren beveger seg og hopper.
- Dupliser plattformer og hindringer for å lage forskjellige nivåer.
- Legg til bakgrunnselementer eller dekorasjoner for å gjøre spillet visuelt tiltalende.
8. Forbedre plattformen
For å ta plattformspillet ditt til neste nivå, vurder å legge til:
- Animasjoner for spilleren, for eksempel gå- og hoppeanimasjoner.
- Lydeffekter for å hoppe, samle gjenstander og treffe hindringer.
- Et kamera som følger spillerens bevegelser for en mer dynamisk visning av spillet.
Konklusjon
Med dette enkle 2D-plattformspilloppsettet har du nå en grunnleggende spillstruktur som kan utvides med flere funksjoner, nivåer og polering. Eksperimenter med forskjellige mekanikker og lag din egen unike plattformspiller.