Rigidbody-fysiikkapohjainen hahmonohjain 3D-peliin Unity-pelimoottorilla
Pirinen, Jerry (2025)
Pirinen, Jerry
2025
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-2025110427078
https://urn.fi/URN:NBN:fi:amk-2025110427078
Tiivistelmä
Opinnäytetyössä selvitettiin rigidbody-pohjaisen hahmonohjaimen luomista pelihahmolle Unity-pelimoottorilla. Luotaessa hahmon liikkumista Unity-pelimoottorilla, kehittäjän tulee alkuvaiheessa päättää, luoko liikkumisen fysiikat itse vai käyttääkö pelimoottorin sisäistä fysiikkamoottoria ja rigidbody-fysiikoita, joita pystytään hyödyntämään käyttämällä rigidbodyja. Opinnäytetyössä selvitettiin, miten pelaajahahmolle annettavaa tietoa käsitellään ja millaista on luoda pelaajahahmolle liikettä hyödyntäen Unity-pelimoottorin omia rigidbody-fysiikoita.
Aluksi opinnäytetyössä määriteltiin tarkalleen, mitä ”hahmonohjain” tarkoittaa. Lisäksi selvitettiin, miten kehittäjät hyödyntävät pelihahmon liikuttamiseen yksinkertaista kapselipohjaista liikettä tai jotain fysiikka-pohjaisempaa, kuten ragdoll-liikettä. Tämän jälkeen analysoitiin, miten pelaajahahmon ohjaaminen toimii suosituissa peleissä, joissa liike on suuri osa pelattavuutta.
Käytännön työn osuudessa luotiin oma hahmonohjain tuoden rigidbody-fysiikat parrasvaloon. Samalla opit-tiin asioita, mitä pitää ottaa huomioon rigidbody-pohjaisen liikkeen tekemistä. Tehty hahmonohjain toimisi pohjana erilaisiin tasohyppely- ja toimintapeleihin. Hahmonohjaimen teorian käsitellyistä aiheista ja analysoiduista peleistä otettiin joitain suunnittelumenetelmiä, joiden perusteelta oma hahmonohjain luotiin.
Lopputulokseksi saatiin hyvin toimivan hahmonohjaimen pohja, jonka päälle on helppo lähteä rakentamaan oikeaan peliprojektiin määriteltyä pelaajahahmon ohjaamista. Tehdyllä hahmonohjaimella on tilakone, joka määrittää, miten pelaaja toimii, ja syötteiden hallitsija, joka puskuroi ja seuraa pelaajan antamia syötteitä. Tämän lisäksi pelaajahahmolle on tehty rigidbody-pohjainen liikkuminen, jossa on aktiivitila, missä pelaaja liikkuu simppelin muodon avulla, ja ragdoll-tila, missä pelaaja liikkuu vapaasti ragdoll-luurangon liikkeen mukaan.
Aluksi opinnäytetyössä määriteltiin tarkalleen, mitä ”hahmonohjain” tarkoittaa. Lisäksi selvitettiin, miten kehittäjät hyödyntävät pelihahmon liikuttamiseen yksinkertaista kapselipohjaista liikettä tai jotain fysiikka-pohjaisempaa, kuten ragdoll-liikettä. Tämän jälkeen analysoitiin, miten pelaajahahmon ohjaaminen toimii suosituissa peleissä, joissa liike on suuri osa pelattavuutta.
Käytännön työn osuudessa luotiin oma hahmonohjain tuoden rigidbody-fysiikat parrasvaloon. Samalla opit-tiin asioita, mitä pitää ottaa huomioon rigidbody-pohjaisen liikkeen tekemistä. Tehty hahmonohjain toimisi pohjana erilaisiin tasohyppely- ja toimintapeleihin. Hahmonohjaimen teorian käsitellyistä aiheista ja analysoiduista peleistä otettiin joitain suunnittelumenetelmiä, joiden perusteelta oma hahmonohjain luotiin.
Lopputulokseksi saatiin hyvin toimivan hahmonohjaimen pohja, jonka päälle on helppo lähteä rakentamaan oikeaan peliprojektiin määriteltyä pelaajahahmon ohjaamista. Tehdyllä hahmonohjaimella on tilakone, joka määrittää, miten pelaaja toimii, ja syötteiden hallitsija, joka puskuroi ja seuraa pelaajan antamia syötteitä. Tämän lisäksi pelaajahahmolle on tehty rigidbody-pohjainen liikkuminen, jossa on aktiivitila, missä pelaaja liikkuu simppelin muodon avulla, ja ragdoll-tila, missä pelaaja liikkuu vapaasti ragdoll-luurangon liikkeen mukaan.
