Varjostusartefaktien välttäminen normaalikartan beikkaamisessa
Ahonen, Tuomas (2021)
Ahonen, Tuomas
2021
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-202104054210
https://urn.fi/URN:NBN:fi:amk-202104054210
Tiivistelmä
Opinnäytetyössä tutkittiin normaalikarttojen beikkaamista, jossa yksityiskohtaisesta korkearesoluutioisesta 3D-objektista siirretään tietoa matalaresoluutioiseen peliobjektiin normaalikartan muodossa. Kyseinen tekniikka on tärkeä työkalu reaaliaikaisessa peligrafiikassa, jossa prosessoitavan tiedon määrää joudutaan rajoittamaan suorituskyvyn takaamiseksi, mutta halutaan myös visuaalisesti näyttäviä 3D-assetteja.
Normaalikartta on tekstuuri, joka luo illuusion yksityiskohdista ja muodoista kappaleen pinnalla. Yleisimmin käytetyt normaalikartat ovat riippuvaisia 3D-objektin verteksien normaaleista. Niiden käyttäminen ei aina takaa siistiä lopputulosta, ja siksi on tärkeää tietää, miten työnkulun eri vaiheet vaikuttavat lopputulokseen.
Teoriaosuudessa käydään läpi tarvittava taustatieto normaalikartoista ja beikkaamisprosessista, jota sovellettiin myöhemmin työn toteutuksessa. Sitä varten mallinnettiin reaaliaikaiseen renderöintiin tarkoitettu 3D-objekti, johon kuului sekä korkea- että matalaresoluutioiset versiot. Mallintaminen tehtiin Blenderissä ja Zbrushissa. Normaalikartta beikattiin Substance Painterissä, jossa objekti myös teksturoitiin. Vastaan tulleet ongelmat ratkaistiin teoriaa hyödyntämällä ja suurimmat virheet varjostuksessa saatiin korjattua.
Lopputulosta tarkasteltiin reaaliaikaiseen renderöintiin tarkoitetussa ympäristössä. Vaikka pieniä renderöintiartefakteja jäi, niiden havaitseminen oli vaikeaa. Ainoastaan hyvin läheltä ongelmakohtia varjostuksessa pystyttiin erottamaan. Täydellisen siistiin lopputulokseen ei päästy, mutta peliobjekteissa onkin tärkeää tietää, milloin tulos on riittävän hyvä. Tehokas ajankäyttö on myös tärkeä osa artistin työtä, eikä kaikkia pieniä ongelmia ole järkevää lähteä korjaamaan.
Normaalikartta on tekstuuri, joka luo illuusion yksityiskohdista ja muodoista kappaleen pinnalla. Yleisimmin käytetyt normaalikartat ovat riippuvaisia 3D-objektin verteksien normaaleista. Niiden käyttäminen ei aina takaa siistiä lopputulosta, ja siksi on tärkeää tietää, miten työnkulun eri vaiheet vaikuttavat lopputulokseen.
Teoriaosuudessa käydään läpi tarvittava taustatieto normaalikartoista ja beikkaamisprosessista, jota sovellettiin myöhemmin työn toteutuksessa. Sitä varten mallinnettiin reaaliaikaiseen renderöintiin tarkoitettu 3D-objekti, johon kuului sekä korkea- että matalaresoluutioiset versiot. Mallintaminen tehtiin Blenderissä ja Zbrushissa. Normaalikartta beikattiin Substance Painterissä, jossa objekti myös teksturoitiin. Vastaan tulleet ongelmat ratkaistiin teoriaa hyödyntämällä ja suurimmat virheet varjostuksessa saatiin korjattua.
Lopputulosta tarkasteltiin reaaliaikaiseen renderöintiin tarkoitetussa ympäristössä. Vaikka pieniä renderöintiartefakteja jäi, niiden havaitseminen oli vaikeaa. Ainoastaan hyvin läheltä ongelmakohtia varjostuksessa pystyttiin erottamaan. Täydellisen siistiin lopputulokseen ei päästy, mutta peliobjekteissa onkin tärkeää tietää, milloin tulos on riittävän hyvä. Tehokas ajankäyttö on myös tärkeä osa artistin työtä, eikä kaikkia pieniä ongelmia ole järkevää lähteä korjaamaan.