Reaaliaikaisen pelihahmon toteutus
Tapanainen, Teemu (2013)
Tapanainen, Teemu
Metropolia Ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013121621413
https://urn.fi/URN:NBN:fi:amk-2013121621413
Tiivistelmä
Tässä opinnäytetyössä toteutettiin reaaliaikainen pelihahmo jota pelaajan on mahdollista liikuttaa yksinkertaisessa peliympäristössä. Tavoitteena oli ottaa selville mitkä ovat keskeisiä osa-alueita pelihahmon toteutuksen kannalta ja minkä laista työnkulkua tulisi käyttää.
Pelihahmon toteutus aloitettiin luovalla suunnitteluprosessilla ja luonnosten teolla. Pelihahmosta lähdettiin tekemään realistista naishahmoa jolla on pieniä karikatyyrisiä piirteitä. Hahmo mallinnettiin ja animoitiin Autodeskin 3ds Maxilla. Opinnäytetyössä käsitellään low-poly ja high-poly -mallien ominaisuudet ja puhutaan polygonimäärien merkityksestä reaaliaikaisissa 3D-malleissa. Mallinnus luvussa käydään läpi topologian ja edge loopien merkitys. UV-kartoituksen yhteydessä tutustutaan TexTools liitännäiseen ja käydään läpi miten tekseli tiheys vaikuttaa tekstuurien resoluutioon.
3ds Maxin sisällä mallinnettu low-poly vietiin Autodeskin Mudbox ohjelmaan jota käytettiin digitaaliseen veistämiseen. Mudboxin sisällä low-poly mallista tehtiin high-poly ja siitä voitiin luoda normaalikartta.
Adoben Photoshopilla tekstuurit viimeisteltiin Unreal Engine 3 pelimoottoria varten. Tekstuureista materiaaliksi luvussa käsitellään gammatilaa ja sen merkitystä näyttölaitteisiin. Luvussa myös kerrotaan mitä väriprofiilia tulee käyttää kun tekstuuri viedään Unreal Engine 3 pelimoottorin sisään. Tämän jälkeen käydään läpi miten alpha kanavaa hyväksi käyttäen saadaan pelihahmolle läpinäkyviä pintoja. Kerron myös miten kaksi normaalikarttaa voidaan yhdistää Photoshopin kuvatasoja käyttäen. Tutkin myös mitä tulee ottaa huomioon kun toteutetaan diffuse- ja specularkarttoja. Tekstuurit yhdistettiin lopuksi Unreal Development Kit editorissa materiaaliksi.
Kerron myös mitä rajoitteita on otettava huomioon kun rigataan ja skinnataan. Toteutin pelihahmolle neljä juoksuanimaatiota jotka yhdistin Unreal Development Kit editorin sisällä ja lopulta lähdekoodin avulla sain reaaliaikaisen pelihahmon toiminta valmiiksi.
Liitteenä on kuvia ja video mistä valmista pelihahmoa voi katsoa.
Pelihahmon toteutus aloitettiin luovalla suunnitteluprosessilla ja luonnosten teolla. Pelihahmosta lähdettiin tekemään realistista naishahmoa jolla on pieniä karikatyyrisiä piirteitä. Hahmo mallinnettiin ja animoitiin Autodeskin 3ds Maxilla. Opinnäytetyössä käsitellään low-poly ja high-poly -mallien ominaisuudet ja puhutaan polygonimäärien merkityksestä reaaliaikaisissa 3D-malleissa. Mallinnus luvussa käydään läpi topologian ja edge loopien merkitys. UV-kartoituksen yhteydessä tutustutaan TexTools liitännäiseen ja käydään läpi miten tekseli tiheys vaikuttaa tekstuurien resoluutioon.
3ds Maxin sisällä mallinnettu low-poly vietiin Autodeskin Mudbox ohjelmaan jota käytettiin digitaaliseen veistämiseen. Mudboxin sisällä low-poly mallista tehtiin high-poly ja siitä voitiin luoda normaalikartta.
Adoben Photoshopilla tekstuurit viimeisteltiin Unreal Engine 3 pelimoottoria varten. Tekstuureista materiaaliksi luvussa käsitellään gammatilaa ja sen merkitystä näyttölaitteisiin. Luvussa myös kerrotaan mitä väriprofiilia tulee käyttää kun tekstuuri viedään Unreal Engine 3 pelimoottorin sisään. Tämän jälkeen käydään läpi miten alpha kanavaa hyväksi käyttäen saadaan pelihahmolle läpinäkyviä pintoja. Kerron myös miten kaksi normaalikarttaa voidaan yhdistää Photoshopin kuvatasoja käyttäen. Tutkin myös mitä tulee ottaa huomioon kun toteutetaan diffuse- ja specularkarttoja. Tekstuurit yhdistettiin lopuksi Unreal Development Kit editorissa materiaaliksi.
Kerron myös mitä rajoitteita on otettava huomioon kun rigataan ja skinnataan. Toteutin pelihahmolle neljä juoksuanimaatiota jotka yhdistin Unreal Development Kit editorin sisällä ja lopulta lähdekoodin avulla sain reaaliaikaisen pelihahmon toiminta valmiiksi.
Liitteenä on kuvia ja video mistä valmista pelihahmoa voi katsoa.
