Unity -ympäristöön tutustuminen (Playground project)


Ensimmäisessä Unity-projektissa lataamme projektin pohjat ja toteutamme esimerkkivideon avulla yksinkertaisen 2D-pelin. Tavoitteena on yhä tutustua pelikehityksen terminologiaan, sekä Unity ympäristön ulkoasuun ja toimintalogiikkaan.

Unityn terminologiaa

  • Assets
    • pelin rakennuspalikat (spritet ja muut grafiikat, äänet, koodit, 3d-mallit…)
    • voit tehdä itse, tai ladata valmiita Unityn Asset Storesta
  • Scene
    • esimerkiksi pelin yksi “kenttä” / tapahtumapaikka (level)
    • yleensä pelit koostuvat useasta Scenestä
  • GameObject 
    • muodostavat Scenen.
    • hyödyntävät Assetteja
    • voidaan manipuloida (Move, Rotate, Scale)
  • Component
    • GameObjectit koostuvat Componenteista
    • esimerkiksi Scenessä oleva kohdevalo on GameObject johon on liitetty valo Component
  • Script
    • scriptien avulla luodaan GameObjectien toiminnallisuus – toimivan pelin ehdoton edellytys
    • ei ole ohjelma, vaan toimii vain omassa viitekehyksessään Unityssä
    • tällä kurssilla käytetään C# ohjelmointikieltä Visual Studio -kehitysympäristössä (IDE)
  • Prefab 
    • jos jokin GameObject halutaan monistaa, voidaan siitä tehdä Prefab, eli eräänlainen templaatti, josta voidaan kopioida useita ilmentymiä
  • Project 
    • peliprojektisi rakenne, johon kaikki on tallennettu

Playground project

Aloita lataamalla projektin pohjat tästä linkistä. Seuraa alla olevaa video-ohjetta alusta 38:30 min (katso videota ja toteuta perässä).

Versioeroavaisuuksia:

  • Projektin avaamisen yhteydessä ilmestyvistä viesteistä ei tarvitse välittää
  • Asset Store löytyy kohdasta Window –> General –> Asset Store
  • Skriptin MoveWithKeys nimi on muuttunut –> Move
  • Rigidbody 2D komponentin ominaisuuden Drag nimi on muuttunut –> Friction
  • TimedSelfDestruct ja AutoObjectSpawner -skriptit löytyvät kansiosta Gameplay
  • Videon lopussa olevaa AutoMoveTowardsPlayer skriptiä ei ole kansiossa. Skriptin sijasta voit käyttää FollowTarget skriptiä (raahaa Player kohtaan Target), mutta tämä ei toimi Prefabina (Player objekti ei kopioidu Prefabin Target kenttään).