Uudelleenkäytettävän taistelupelihahmon toteutus Unityssä
Koivuniemi, Petteri (2019)
Koivuniemi, Petteri
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019052311520
https://urn.fi/URN:NBN:fi:amk-2019052311520
Tiivistelmä
Tässä opinnäytetyössä selvitettiin taistelupelien yleisiä ominaisuuksia ja perehdyttiin niiden toteuttamiseen Unity-pelimoottorissa sekä syvennettiin tekijän henkilökohtaista osaamista Unity-kehittäjänä. Työn tarkoituksena oli esitellä taistelupelihahmojen yleisiä toimintoja ja niiden variaatioita, käydä läpi keinoja miellyttävän pelikokemuksen rakentamiseen ja lopulta toteuttaa yksinkertainen taistelupelihahmo Unityssä. Työhön kerättiin tietoa muun muassa Unityn dokumentaatiosta, pelialan ammattilaisten blogeista ja videoista sekä aihepiiriä käsittelevistä artikkeleista ja kirjoista.
Työn osana toteutettiin yksinkertainen taistelupelihahmo Unityssä. Pelimoottorin Mecanim-animaatiotilakonetta hyödynnettiin hahmon ohjaamiseen yhdessä hahmon pohjaluokan ja usean muun C#-skriptikomponentin kanssa. Työn olennaisimmat piirteet kuvaillaan opinnäytetyössä vaiheittain. Työtä varten mallinnettiin ja animoitiin yksinkertainen humanoidihahmo Blender-ohjelmalla.
Opinnäytetyössä havaittiin, että monet taistelupelihahmojen toiminnallisuudet kytkeytyvät tiiviisti hahmoanimaatioihin. Unityn animation event -funktiokutsujen ja Mecanimin avulla hahmon toiminnallisuuksien rakentamiseen vaadittu ohjelmointityö on suhteellisen yksinkertaista. Huomioita pidettiin yllättävinä.
Unityn kattavilta dokumentaatiosivuilta löytyi vastaus lähes kaikkiin työssä kohdattuihin ohjelmointiongelmiin. Taistelupelien terminologian pelaajalähtöisyyden vuoksi hahmojen toiminnallisuutta käsittelevän, tieteellisesti validin lähdeaineiston hakeminen koettiin haasteelliseksi.
Työn osana toteutettiin yksinkertainen taistelupelihahmo Unityssä. Pelimoottorin Mecanim-animaatiotilakonetta hyödynnettiin hahmon ohjaamiseen yhdessä hahmon pohjaluokan ja usean muun C#-skriptikomponentin kanssa. Työn olennaisimmat piirteet kuvaillaan opinnäytetyössä vaiheittain. Työtä varten mallinnettiin ja animoitiin yksinkertainen humanoidihahmo Blender-ohjelmalla.
Opinnäytetyössä havaittiin, että monet taistelupelihahmojen toiminnallisuudet kytkeytyvät tiiviisti hahmoanimaatioihin. Unityn animation event -funktiokutsujen ja Mecanimin avulla hahmon toiminnallisuuksien rakentamiseen vaadittu ohjelmointityö on suhteellisen yksinkertaista. Huomioita pidettiin yllättävinä.
Unityn kattavilta dokumentaatiosivuilta löytyi vastaus lähes kaikkiin työssä kohdattuihin ohjelmointiongelmiin. Taistelupelien terminologian pelaajalähtöisyyden vuoksi hahmojen toiminnallisuutta käsittelevän, tieteellisesti validin lähdeaineiston hakeminen koettiin haasteelliseksi.