Visualiseringsprosjekt – 6

VRML-test

Da jeg satte meg ned å skulle starte på skogen, som vokser i flere områder av tettstedet, fant jeg ut jeg at det ikke ville være mulig å modellere hvert enkelt tre. Dette vil gjøre filstørrelsen veldig stor og upraktisk til web-bruk. Jeg må istedet modellere skogholtene som en slags skjermbrett-lignende objekter, hvor teksturen viser bilder av skog. Utenfor disse «skjermbrettene» skal jeg plassere noen enkelt tre for å øke realismen. Skjermbrettet ble modellert ved å opprette et plan-objekt i front-view. I edit-modus ble deretter de 2 vertexene i ene enden av planet gjort aktive, og så ble planet forlenget vha. extrude-funksjonen (‘E’-tasten på tastaturet, extrude only egdes). Dette ble gjentatt flere ganger helt til skjermbrettet var ferdig.

Skogholt modllert som en "skjermbrett"-mesh

Skogholt modelert som en skjermbrett-mesh

For å se om dette vil fungere måtte jeg først lage noen enkle test-filer i VRML-formatet. Flere justeringer måtte gjøres i modellen av tettstedet for å få en akseptabel VRML-fil.
Lyset ble fjernet fra modellen, fordi den (i første omgang) ga for kraftig lys: alle objektene mistet for mye av dybden pga. det kraftige lyset. Når modellen ble eksportert til VRML-formatet, førte dette til at noden (koden) for ‘headlight’ i wrl-fila ble satt til ‘TRUE’. Det vil si at avataren selv lyser opp modellen, og dette ga et akseptabelt lys.
Noen av hus-objektene bestod av flere ulike mesher (modellerte boks-objekter) som var plassert sammen. Disse husene måtte enkeltvis gjøres til én enkelt mesh, for at wrl-fila skulle bli oversiktelig og enkel å lese. Jeg tok derfor å aktiverte hver av meshene i hver og en av de aktuelle husene; og brukte funksjonen ‘Object -> Join Objects’ (Ctrl+J) (Join Selected Meshes) for å lime sammen de enkeltstående meshene til én mesh.
Jeg hadde ikke gitt hvert enkelt objekt noe egen ‘material’-egenskap, og dette førte til at alle objektene ble helt hvite og dybdeløse i wrl-fila. Jeg måtte derfor gi alle objektene et standard-materiale for at de skulle vises som 3d-objekter i modellen.

Vegnettet ble også endret fra en bezier-kurve til en mesh (Object -> Convert Object Type), og i wrl-fila ga jeg vegnett-meshen en (midlertidig) rød markant farge, slik at den ville være lett å observere.
I wrl-fila måtte jeg også justere ned størrelsen på avataren, fordi den var alt for stor i forhold til bygningene, så i noden ‘avatarSize’ ble størrelsen satt til [0.1, 0.05, 0.1], slik at avataren (altså kameraet) kunne bevege seg mellom husene uten å sette seg fast. Avatar-moduset ble også satt til ‘WALK’, slik at avataren beveget seg langs bakken på en naturlig måte. Standard-moduset på wrl-fila var ‘STUDY’, dvs. at hele modellen roterer. Ved å kode wrl-fila slik at brukeren slipper å justere innstilingene selv i VRML-browseren, blir modellen mer intuitiv i bruk.
Avatarens posisjon ble manuelt tilpasset i Blender, ved rett og slett å plassere kameraet der hvor brukeren skal starte vandringen i modellen.

Noen av flatene til noen av objektene ble usynlige når de ble eksportert til VRML-formatet. Dette kommer av at noen av vertexene ble «vrengt» da enkelt-meshene ble forent til én mesh, og jeg ordnet dette i Blender ved å gjøre de aktuelle objektene aktive, og i edit-modus velge ‘mesh -> normals -> recalculate outside’.

Skogholt «skjermbrettet» fikk en bilde-tekstur i Blender. Denne teksturen ble ikke lagt inn i wrl-koden, så dette måtte jeg gjøre selv manuelt i wrl-fila, ved å legge til koden:

texture ImageTexture {
url «skog.jpg»
}

Bildet som ble brukt som tekstur ble lagt i samme mappa som wrl-fila, slik at VRML-browseren fant teksturen under kjøring av koden.

Tettsted sett fra avatar-posisjon, skogholt med test-tekstur

Tettsted sett fra avatar-posisjon, skogholt med test-tekstur

Jeg måtte også passe på at vegnettet og selve bakken ligger så nært hverandre som mulig;
dersom dette ikke gjøres, så velter avataren og kommer ut av stilling pga. den lille høydeforskjellen.
Det jeg nå må gjøre er å endre toppen på skogholt-skjermbrettene slik at meshen får en mer naturlig «skogform».
Det må igjen nevnes at det er svært viktig å navngi objektene i Blender slik at de er lett å finne igjen i wrl-fila! Dersom dette ikke gjøres, så vil en bare se en liste med endeløse ‘DEF OB_Cube_148 Transform’ … og redigering av wrl-fila blir et sant nightmare!  🙂

(Se siden ‘3d-visualiseringsprosjekt’ for mer info).

Del 1Del 2Del 3Del 4Del 5Del 6Del 7 |  Del 8Del 9Del 10Del 11 | Del 12 |