Kolmiulotteinen mallinnus

XR-laitteet mahdollistavat kolmiulotteisen (3D) informaation tarkastelun huomattavasti ”perinteisiä” tietoteknisiä laitteita tarkemmin, luontevammin ja immersiivisemmin. Vaikka XR-sovelluksissa voidaan hyödyntää myös kaksiulotteista informaatiota, kuten kuvia, tekstiä ja videoita, esitetään sekin informaatio XR-sovelluksissa usein kolmiulotteisessa muodossa käyttäjän ympäristössä. Tästä syystä 3D-mallinnus onkin tärkeä osa-alue XR-sovelluskehityksessä. Tällä sivulla kuvataan erilaisia tapoja tuottaa 3D-malleja (3D-skannaus, Gaussian Splatting, 3D-mallinnusohjelmat) sekä tietoa siitä, mitä kannattaa ottaa huomioon mallinnettaessa kohteita XR-sovelluksiin.

3D-skannaus

3D-skannaamalla pystytään luomaan 3D-malli halutusta kohteesta melko automatisoidusti käyttäen 3D-skannaukseen soveltuvaa ohjelmistoa ja laitteistoa. Skannausprosessin aikana laite kerää kohteen pintojen muodot sekä värit ja skannausohjelmisto muodostaa kerätyn informaation perusteella kohteesta 3D-mallin.

3D-skannus voidaan jakaa karkeasti kahteen eri tyyppiin: syvyyssensoripohjaiseen ja valokuvapohjaiseen.

  • Syvyyssensoripohjainen 3D-skannaus käyttää laitteen syvyyssensoria määritelläkseen skannattavan kohteen ja skannerin välisen etäisyyden. Tämän lisäksi skannereissa on myös anturit, jotka mittaavat itse skannerin sijaintia ja asentoa suhteessa skannattavaan kohteeseen. Kun nämä kaksi informaatiota yhdistetään, saadaan skannatusta kohteesta luotua kolmiulotteinen pistepilvi, joka voidaan skannausohjelmiston avulla muuttaa 3D-malliksi.
  • Valokuvapohjainen 3D-mallinnus eli fotogrammetria eroaa syvyyssensorilla suoritetusta skannauksesta siten, että mallinnettavasta kohteesta muodostettava pistepilvi muodostetaan kohteesta otettujen valokuvien perusteella. Kohde kuvataan digitaalisella kameralla mahdollisimman monesta eri suunnasta ja kuvakulmasta, jotta kohteen kaikki yksityiskohdat saadaan kuvattua. Tämän jälkeen kuvat syötetään fotogrammetriasovellukseen, joka muodostaa kuvien perusteella kohteesta ensin kolmiulotteisen pistepilven ja lopuksi pistepilven perusteella 3D-mallin.

Heijastavat ja läpinäkyvät pinnat ovat yleensä haasteellisia 3D-skannata eikä niiden skannaaminen välttämättä onnistu ilman pinnan maalaamista. 3D-skannauksen käytettävyyttä rajoittaa myös skannaamalla tuotettujen mallien suuri datamäärä verrattuna käsin mallinnettuun malliin. Etenkin matalalla suorituskyvyllä varustetut laitteet, kuten älypuhelimet, eivät pysty käsittelemään kovin suuria datamääriä sulavasti. Skannaamalla tuotettuja malleja ei myöskään ole mahdollista animoida eikä niihin voida asettaa erilaisia materiaaleja, joten 3D-skannattua mallia joudutaan monessa tapauksessa jatkojalostamaan erillisellä 3D-mallinnusohjelmalla.

Gaussian Splatting

Gaussian Splatting on uudehko vaihtoehtoinen tapa esittää skannattuja kohteita ja ympäristöjä kolmiulotteisesti. Siinä missä perinteiset skannausohjelmat luovat skannatun pistepilven perusteella kiinteän 3D-mallin, luo Gaussian Splatting pistepilven perusteella kolmiulotteisia ”läiskiä”, joita voidaan tarkastella eri suunnista Gaussian Splatting -malleja tukevalla sovelluksella. Gaussian Splatting toimii erittäin hyvin silloin, kun halutaan visualisoida staattinen kohde mahdollisimman luonnollisen näköisenä, ja se soveltuu 3D-skannausta paremmin etenkin läpinäkyvien ja heijastavien pintojen sekä luontokohteiden mallintamiseen.

Gaussian Splatting on saavuttanut viime vuosina suuren suosion, ja monet 3D-alustat ja -sovellukset tukevatkin jo Gaussian Splatting -malleja. Gaussian Splatting -mallit ovat kuitenkin datan rakenteeltaan ja esitystavaltaan erilaisia kuin ”perinteiset” 3D-mallit, joten niiden käyttökohteet ovat vielä toistaiseksi ”perinteisiä” 3D-malleja rajallisemmat.

3D-mallinnusohjelmat

3D-mallinnusohjelmilla on mahdollista mallintaa kohteita käsin. Perinteisesti pelimoottoreissa ja muissa reaaliaikaista 3D-dataa tukevissa alustoissa on käytetty pääasiassa käsin tehtyjä 3D-malleja, koska malleja pystytään parhaiten optimoimaan haluttuun käyttötarkoitukseen sopiviksi silloin, kun mallit tehdään alusta alkaen käsin. Kokonaan käsin mallintaminen on kuitenkin huomattavasti edellä mainittuja tapoja työläämpää. Mikäli ei haluta tehdä mallia kokonaan käsin, voidaan mallinnus aloittaa esimerkiksi 3D-skannaamalla kohde ja viemällä skannaamalla tuotettu malli sitten 3D-mallinnusohjelmaan, jossa sitä voidaan muokata, animoida ja optimoida haluttuun käyttötarkoitukseen sopivaksi.

3D-mallinnusohjelmia on kahdenlaisia: Mesh-tyyppisiä sekä CAD-tyyppisiä.

  • Mesh-tyyppiset mallit sisältävät informaatiota mallinnetun kolmiulotteisen kohteen muodosta, materiaalista ja väreistä. Lisäksi ne voivat sisältää muutakin informaatiota, kuten animaatiota. Maksimaalisen tarkkuuden sijaan Mesh-mallit on suunniteltu toimimaan mahdollisimman kevyesti, ja useimmat sovellukset, jotka sisältävät reaaliaikaista 3D-visualisointia, käyttävätkin Mesh-tyyppisiä malleja.
  • CAD-mallinnusohjelmia eli tietokoneavusteisia suunnitteluohjelmia käytetään muun muassa erilaisten komponenttien ja rakennusten suunnittelutyössä. Tästä syystä CAD-ohjelmalla tuotetut mallit ovat erittäin tarkkoja. CAD-mallit myös sisältävät 3D-mallin muotojen ja materiaalien lisäksi muutakin tuotteen suunnittelun ja tuotannon kannalta oleellista informaatiota. Suurin osa XR-alustoista ja pelimoottoreista ei suoraan tue CAD-ohjelmilla tuotettuja malleja vaan ne pitää muuntaa Mesh-tyyppisiksi malleiksi ennen käyttöä. Lisäksi CAD-mallien datamäärät ovat yleensä erittäin suuria, joten niiden käyttäminen sellaisenaan XR-sovelluksissa ei välttämättä ole mahdollista, vaikka ne muunnettaisiinkin Mesh-malleiksi.

Materiaalista suoritettu

Materiaalista suoritettu

XR-sovelluskehitys
Sovelluskehitys XR-laitteilleXR-sovelluskehitysalustatKolmiulotteinen mallinnusTyökaluja ja ympäristöjä