3D-pelien visuaalinen optimointi
Nojosaho, Eero (2022)
Nojosaho, Eero
2022
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-2022090920044
https://urn.fi/URN:NBN:fi:amk-2022090920044
Tiivistelmä
Työn tavoitteena on tutkia 3D-peleissä käytettäviä yleisimpiä optimoinnin keinoja ja niiden tehokkuutta. Työssä toteutetaan demonstraatio, jossa optimoidaan 3D-peli. Työn tarkoitus on näyttää, kuinka voidaan optimoida 3D-videopeli mahdollisimman hyvin yksinkertaisia visuaalisia keinoja käyttäen, kuitenkaan menettämättä liikaa visuaalisia yksityiskohtia.
3D-mallinnukseen käytetään ilmaista Blender-mallinnusohjelmaa. Joihinkin tekstuureihin liittyviin menetelmiin käytetään lisäksi ilmaista GIMP-kuvankäsittelyohjelmaa. Demonstraatio tehtiin Unity-pelimoottorilla.
Jokaisen optimointimenetelmän hyötyjä testattiin ja analysoitiin peliprojektissa käyttämällä Unityn Profiler-työkalua. Profilerin antamien tietojen avulla vertailtiin optimointimenetelmien käyttämisen aiheuttamaa kuormitusta pelissä kuormitukseen, joka aiheutui, kun pelissä ei ollut käytetty optimointimenetelmiä. Joidenkin optimointimenetelmien käyttämisestä oli hyötyä, mutta osasta oli jopa haittaa peliprojektissa ja osan toteutuksessa kesti liian kauan saavutettuihin hyötyihin nähden.
Lopputuloksena saatiin selville, kuinka tehokkaasti visuaaliset optimointimenetelmät toimivat peliprojektissa. Normal map -menetelmän ja läpinäkyvien tekstuurien käyttäminen paransivat suorituskykyä parhaiten. PVS-menetelmä paransi suorituskykyä sitä paremmin, mitä enemmän pintoja scenessä oli. Valaistuksen optimointi paransi suorituskykyä selvästi. LOD-, Mipmaps- ja Portal rendering -menetelmät vaikuttivat suorituskykyyn heikoiten. Kaikkia optimointimenetelmiä käytettäessä samaan aikaan suorituskyky parani erittäin paljon, ruudunpäivitysnopeus kasvoi kymmenkertaiseksi ja virrankulutus laski. Pelissä ei myöskään menetetty liikaa visuaalisia yksityiskohtia.
Joidenkin menetelmien hyödyt kuitenkin korostuivat liiallisesti menetelmien luonteen vuoksi. Tuloksista voidaan silti päätellä, että visuaalinen optimointi on kannattavaa, kunhan oikeita menetelmiä käytetään oikeassa paikassa.
3D-mallinnukseen käytetään ilmaista Blender-mallinnusohjelmaa. Joihinkin tekstuureihin liittyviin menetelmiin käytetään lisäksi ilmaista GIMP-kuvankäsittelyohjelmaa. Demonstraatio tehtiin Unity-pelimoottorilla.
Jokaisen optimointimenetelmän hyötyjä testattiin ja analysoitiin peliprojektissa käyttämällä Unityn Profiler-työkalua. Profilerin antamien tietojen avulla vertailtiin optimointimenetelmien käyttämisen aiheuttamaa kuormitusta pelissä kuormitukseen, joka aiheutui, kun pelissä ei ollut käytetty optimointimenetelmiä. Joidenkin optimointimenetelmien käyttämisestä oli hyötyä, mutta osasta oli jopa haittaa peliprojektissa ja osan toteutuksessa kesti liian kauan saavutettuihin hyötyihin nähden.
Lopputuloksena saatiin selville, kuinka tehokkaasti visuaaliset optimointimenetelmät toimivat peliprojektissa. Normal map -menetelmän ja läpinäkyvien tekstuurien käyttäminen paransivat suorituskykyä parhaiten. PVS-menetelmä paransi suorituskykyä sitä paremmin, mitä enemmän pintoja scenessä oli. Valaistuksen optimointi paransi suorituskykyä selvästi. LOD-, Mipmaps- ja Portal rendering -menetelmät vaikuttivat suorituskykyyn heikoiten. Kaikkia optimointimenetelmiä käytettäessä samaan aikaan suorituskyky parani erittäin paljon, ruudunpäivitysnopeus kasvoi kymmenkertaiseksi ja virrankulutus laski. Pelissä ei myöskään menetetty liikaa visuaalisia yksityiskohtia.
Joidenkin menetelmien hyödyt kuitenkin korostuivat liiallisesti menetelmien luonteen vuoksi. Tuloksista voidaan silti päätellä, että visuaalinen optimointi on kannattavaa, kunhan oikeita menetelmiä käytetään oikeassa paikassa.