Tässä artikkelissa kuvataan Base Camp -hankkeen etäteknologiakokeilun vaatimaa jatkokehitystä virtuaalihologrammien visualisointiratkaisuun. Edellisessä artikkelissa johdettiin trigonometriaa hyödyntäen pistepilven projektioalgoritmin yksinkertainen toteutus. Tässä artikkelissa esitellään menetelmät pistepilven sisältämien pintojen yhtenäistämiseen.
Yhtenäisten pintojen esittäminen pistepilvestä
Visualisointitoteutuksessa kokeiltiin tiheää pistepilveä, jonka pisteet suurennettiin katseluetäisyyteen nähden siten, että malli näyttää yhtenäiseltä. Mikäli tarkastelukulma on lähellä kameran kuvaussuuntaa, lopputulos näyttää varsin kelvolliselta. Useammalla kameralla kuvattuna laatu luonnollisesti paranee. Valitettavasti sivusta katsottuna illuusio yhtenäisestä pinnasta rikkoontuu varsin nopeasti, vaikka pisteitä esittävät neliöt suunnattaisiin katsojaa kohti. Tilanne korostuu erityisesti, kun kuvataan kohteita hivenen kauempaa ja lopputulosta tarkastellaan kuvaussuunnasta poiketen. Yhtenäinen pinta saadaan aikaan, kun projektiopistemallin neliöiden kulmapisteet projisoidaan niitä vastaavien korkeuskartan syvyystietojen perusteella. Ero tekniikoiden välillä on havaittavissa kuvasta 1.
Ongelmana voivat kuitenkin olla syvyysarvojen suuret vaihtelut korkeuskartan pisteiden välillä. Vaikka neljän pisteen virittämä pinta pysyykin aina yhtenäisenä, neliö itsessään voi vääristyä. Kuten kuvasta 2 on nähtävissä, pahimmassa tapauksessa osa neliöistä venyy varsin paljon, eikä lopputulos ole kelvollinen.
Visualisointialgoritmia muunnettiin siten, että se laskee kunkin neliön kulmissa olevat syvyysarvot ja päättelee, mikä neliön venymä on. Mikäli venymä ylittää tietyn raja-arvon, neliön tuottamat kuvapisteet jätetään piirtämättä. Lopputulos on nähtävissä kuvassa 3, jolloin näkyvissä on ainoastaan pintojen yhtenäisemmät osiot.
Eri kameroiden projektioiden toistaminen
Unity-projekti hyödyntää kollisiomalleilla luotua ratkaisua rajatakseen näytettävän striimin projektiopistemallia siten, että katsojalle näytetään aina lähin striimi tallennettuun kameran suuntaan nähden. Tämä auttaa parantamaan hologrammin ulkoasua. Sillä on merkitystä myös ruudunpäivitysnopeuden nostamiseen, joka varsinkin neljän tai useamman yhtäaikaisen kameraprojektion aikana laskisi liian alas. Kun kamera siirtyy kollisiomallin rajaamalle alueelle, vaihdetaan aina kollisiomallin kytketty projektio näkyväksi. Kuvassa 4 näkyvien kollisiomallien välissä olevien aukkojen avulla saadaan aikaan hystereesivaikutus, eivätkä projektiot vaihdu katsojan pienien sijaintimuutosten takia jatkuvasti kolliosiomallien reunoilla.
Yhteenveto
Tässä vaiheessa meillä on tekniset edellytykset tuottaa tarkasteltavia esityksiä Hololens-laitteelle. Hologrammeilla voi esittää kutakuinkin yhtenäisiä pintoja, ja näkymässä olevat kohteet ovat tarkasteltavissa omina kokonaisuuksinaan. Lisäksi useamman kameran projektioiden esittäminen on optimoitu Hololenseä varten. Seuraavassa artikkelissa keskitytään hologrammien havainnointikokemukseen.
Kirjoittaja
Anssi Gröhn, tietojenkäsittelyn lehtori, Karelia-ammattikorkeakoulu
Base Camp – Opiskelijayrittäjyysalustojen kehittäminen -hanke
Artikkelikuva: Kuvaaja ThisisEngineering RAEng palvelusta Unsplash