Vihollisen tekoälytilojen ja animaatioiden synkronointi Unityssä
Ojanperä, Lauri (2026)
Ojanperä, Lauri
2026
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202603315343
https://urn.fi/URN:NBN:fi:amk-202603315343
Tiivistelmä
Tässä opinnäytetyössä kehitettiin kolmannen persoonan kuvakulmasta oleva keskiaikainen taistelupeli ja keskityttiin vihollisen tekoälytilojen sekä animaatioiden synkronointiin. Hyvin tehty synkronointi animaatioiden sekä tekoälyn välillä on tärkeää, sillä muuten peli tuntuu epäreilulta tai näytöllä tapahtuva liike ei vastaa täysin pelaajan syötettä.
Opinnäytetyön päätavoitteena oli tutkia tekoälytilojen sekä animaatioiden synkronointia peleissä sekä toteuttaa peli, jossa voisi tutkia asiaa käytännössä. Pelissä vihollisen tekoäly, pelaajan syöte sekä animaatiot toimivat loogisesti sekä ennustettavasti. Löytyneitä synkronointiongelmia, kuten ajoitusongelmia, animaatioiden keskeyttämistä, tilakoneen sekoamista sekä häivytyssiirtymiä tutkittiin sekä testattiin käytännössä.
Projekti tehtiin käyttämällä Unity -pelimoottoria, animaatiot haettiin Mixamo-verkkosivulta sekä joitain 3D-malleja tehtiin Blender-ohjelmalla. Animaatioita ohjattiin käytännössä täysin ohjelmoinnin kautta Unityn visuaalisen tilakoneen sijasta. Tämä salli suuremman kontrollin animaatioiden toistolle, sekä helpotti virheenetsintää suuresti.
Tulokseksi tuli projekti, jossa on toimiva sekä reagoiva taistelumekaniikka. Animaatiot toistuvat silloin kuin niiden pitää, ja ovat synkronoituna hahmojen liikkeisiin. Opinnäytetyön tulosten valossa voidaan todeta, että koodipohjainen animaatiotilojen hallinta voi helpottaa niiden integroimista peliin. Virheenetsintä myös helpottuu, varsinkin jos projekti kasvaa suureksi.
Opinnäytetyön päätavoitteena oli tutkia tekoälytilojen sekä animaatioiden synkronointia peleissä sekä toteuttaa peli, jossa voisi tutkia asiaa käytännössä. Pelissä vihollisen tekoäly, pelaajan syöte sekä animaatiot toimivat loogisesti sekä ennustettavasti. Löytyneitä synkronointiongelmia, kuten ajoitusongelmia, animaatioiden keskeyttämistä, tilakoneen sekoamista sekä häivytyssiirtymiä tutkittiin sekä testattiin käytännössä.
Projekti tehtiin käyttämällä Unity -pelimoottoria, animaatiot haettiin Mixamo-verkkosivulta sekä joitain 3D-malleja tehtiin Blender-ohjelmalla. Animaatioita ohjattiin käytännössä täysin ohjelmoinnin kautta Unityn visuaalisen tilakoneen sijasta. Tämä salli suuremman kontrollin animaatioiden toistolle, sekä helpotti virheenetsintää suuresti.
Tulokseksi tuli projekti, jossa on toimiva sekä reagoiva taistelumekaniikka. Animaatiot toistuvat silloin kuin niiden pitää, ja ovat synkronoituna hahmojen liikkeisiin. Opinnäytetyön tulosten valossa voidaan todeta, että koodipohjainen animaatiotilojen hallinta voi helpottaa niiden integroimista peliin. Virheenetsintä myös helpottuu, varsinkin jos projekti kasvaa suureksi.
