Så har turen kommet til teksturene til bygningene.
Jeg må ærlig talt si at jeg var noe spent på om det ville være mulig å overføre en UV-tekstur fra Blender til wrl-fila.
En UV-tekstur er et spesialtilpasset bilde, som er klippet til slik at det passer nøyaktig til 3d-objektet.
Denne tekstur-metoden passer perfekt til tekstureringen av bygningene, hvor vinduer, tak og dører mm. må plasseres nøyaktig i 3d-modellen. Som forklart tidligere i denne artikkel-serien, så skal jeg lage detaljene i bygningene vha. teksturer, slik at wrl-fila blir så liten og nedlastings-vennlig som mulig.
Jeg har nå gjennomført en test av dette på utviklingsbygget.
Først ble overflaten til utviklingsbygget brettet ut vha. UV-Unwrap funksjonen i Blender (Se denne artikkelen på nettestedet Gimp.no om hvordan UV-Unwrap funksjonen brukes).
Deretter eksporterte jeg overflate-mønsteret som en tga-fil, og åpnet den i Gimp:
Jeg ønsket nå bare å teste hvordan en UV-tekstur laget i Blender ville oppføre seg i den eksporterte wrl-fila, så jeg fyllte bare overflaten med et enkelt standard-mønster hentet fra Gimp:
Deretter satte jeg rett og slett bare bilde-url´en inn i wrl-fila (i objekt-noden til utviklingsbygget) jeg hadde fra før av, uten å eksportere en ny wrl-fil fra Blender:
DEF OB_Utviklingshus Transform {
translation -1.748594 0.099591 -2.073627
rotation 0.000000 1.000000 0.000000 0.781346
scale 0.099201 0.071265 0.355729
children [
DEF ME_Utviklingshus Group {
children [
Shape {
appearance Appearance {
material USE MA_Material_001
texture ImageTexture {
url «utviklingbygg.jpg»
}
}
geometry IndexedFaceSet {
solid TRUE
coord DEF coord_Utviklingshus Coordinate {
Teksturen ble ikke bra. Jeg hadde glemt å rotere bildet! (se illustrasjonen over her, hvor bildet er rotert 90 grader til venstre, på riktig måte). Jeg måtte også eksportere en ny wr-fil fra Blender, for Blender lagret UV-teksturens koordinater i wrl-fila.
Etter roteringen ble teksturen vist på riktig måte i den nye wrl-fila. Som forventet var teksturen strukket på feil måte. På noen vegger ble bildet gjengitt med rette proposjoner, men på andre vegger var bildet strukket for langt ut, slik at motivet ble utydelig.
Jeg trodde først at forvrengingen var et resultat av at avataren kom nært innpå huset, men når jeg bevegde avataren langt fra hus-modellen var teksturen like utydelig og forstrukket. Forvrengingene måtte altså komme av utseende på selve overflate-mønsteret laget i Blender.
I UV/Image Editoren til Blender kan man endre på overflate- mønsteret.
For å se hvilke seksjoner i mønsteret som tilhørte de respektive veggene til bygningene, malte jeg på mønsteret med «Texture Painting» i UV/Image Editoren (Image > Texture Painting). Dette ble gjort mens husmodellen ble vist i «Object Mode» (med «Viewport Shading» slik at teksturen ble vist) i 3d-scenen. Når jeg tegnet på mønsteret i «UV/Image Editor»-vinduet, ble malearbeidet også vist i 3d-scenen i sanntid, slik at jeg kunne se hvilke vegger jeg malte på.
(Det er også mulig å lagre malearbeidet i den orginale jpg-fila ved å velge ‘Image > Save’ i ‘UV/Image Editoren’-vinduet).
Etter at jeg hadde funnet ut hvilke deler av mønsteret som hadde gale proposjoner, endret jeg bredden på disse mønster-delene. Det viste seg at de måtte strekkes ut i lengde-retningen (se ill. ovenfor).
Dette ble gjort ved å først endre 3d-scenens modus til «Edit Mode», slik at mønsteret i «UV/Image Editor»-vinduet også ble vist i Edit Mode, og vertexene til mønsteret kom fram. (Pass på at «UV vertex select mode» er valgt i «UV/Image Editor»-vinduet).
Deretter ble vertexene flyttet på vanlig måte (valgte vertexene og flyttet dem i x-retningen vha. G+x).
Endringene på mønsteret ble vist i sanntid i 3d-scenen, slik at jeg kunne se hvor mye mønsteret måtte strekkes.
Etter at jeg hadde justert mønsteret slik at det så bra ut i 3d-scenen, eksporterte jeg hele scenen som en wrl-fil.
Teksturen ble nå vist på nøyaktig samme måte i wrl-browseren!
Fordi tekstur-koordinatene lagres i wrl-fila, behøver jeg altså ikke å endre på teksturens proposjoner i Gimp.
Dette er bra for da blir det mindre arbeid med tekstureringen, siden jeg bare behøver å endre og vri på teksturen i Blender.
(Se siden ‘3d-visualiseringsprosjekt’ for mer info).
Del 1 | Del 2 | Del 3 | Del 4 | Del 5 | Del 6 | Del 7 | Del 8 | Del 9 | Del 10 | Del 11 | Del 12 |
Du må være logget inn for å legge inn en kommentar.