Desenvolupament d'aplicacions de realitat virtual

PID_00150733
Cap part d'aquesta publicació, incloent-hi el disseny general i la coberta, no pot ser copiada, reproduïda, emmagatzemada o transmesa de cap manera ni per cap mitjà, tant si és elèctric com químic, mecànic, òptic, de gravació, de fotocòpia o per altres mètodes, sense l'autorització prèvia per escrit dels titulars del copyright.

1.Guionatge i disseny d'interacció

Igual que passa amb la resta dels mitjans de comunicació audiovisual, en el plantejament d'una experiència nova de realitat virtual hi ha l'alternativa sobre la manera de començar el procés, és a dir, pel guionatge o bé pel disseny de la interacció o disseny interactiu (Ribas i d'altres, 1998). Pensar la realitat virtual (RV) en paraules (guió) o pensar-la en imatges (dissenyant un storyboard) són, segons el nostre parer, processos paral·lels que es complementen i que s'han de mantenir comunicats en l'equip durant tot el procés de conceptualització i en les fases inicials del desenvolupament.
En aquest apartat aportem una adaptació i una ampliació dels principis bàsics de disseny d'interacció i del guió multimèdia que va descriure Carles Sanabre (Sanabre, 2000) a les peculiaritats de la realitat virtual.

1.1.Principi d'usabilitat

Invertir l'ordre de prioritats amb relació al guionatge i el disseny és imprescindible per a posar en pràctica aquest principi, segons el qual la presa de decisions parteix de la comprensió dels interessos de l'usuari i no de la "genialitat" del dissenyador. Podem afirmar que aquest principi permet de distingir entre dues generacions de dissenyadors i guionistes en el món de la comunicació audiovisual: la generació de la comunicació de massa, en la qual s'accentua la subjectivitat i es premia l'originalitat del dissenyador, i la generació de la comunicació interactiva, en la qual s'accentua l'estudi del destinatari final i es premia la innovació si aquesta innovació facilita el desenvolupament del factor humà. El disseny centrat en l'usuari i la personalització que permeten algunes aplicacions interactives és una mostra dels èxits d'aquest principi.

1.2.Principi d'adequació

Segons aquest principi no hi ha ni aplicacions bones ni dolentes sinó adequades i inadequades. L'adequació té alguna cosa a veure amb la usabilitat en la mesura en què l'aplicació s'ha d'orientar vers les necessitats i les habilitats de cada persona, però es refereix, sobretot, al criteri que permet de decidir si l'RV és la manera més adequada de resoldre la nostra aplicació. L'esperit de complementarietat de mitjans i el coneixement de les propietats específiques de cada mitjà són garanties per a l'adequació.

1.3.Principi d'accessibilitat

Es tracta d'aplicar criteris d'ergonomia per a evitar que les experiències d'RV repeteixin els errors de discriminació que han comès l'arquitectura, el mitjà imprès i, fins i tot, la publicació electrònica. Si es pensa en una RV sense barreres per a discapacitats, es poden arribar a construir prototips d'espais públics digitals que, com Internet, han de ser accessibles a tothom. Per a més detalls, consulteu Web Accessibility Initiative, http://www.w3.org/WAI/.

1.4.Principi d'entrada múltiple

Es tracta de tenir presents els factors cognitiu, afectiu i d'experiència prèvia que determinen la nostra metacognició, és a dir, la manera com aprenem. L'observació de la manera com prenem decisions, la manera com un color, un so o un moviment desencadenen les nostres emocions i la manera com establim relacions amb el nostre coneixement previ són les claus d'aquest principi.

1.5.Principi d'interactivitat

És important tenir en compte que l'RV s'assembla més al futbol que al cinema. Si som capaços d'oferir unes regles justes, un terreny de joc en condicions bones i una sèrie de possibilitats d'acció atractives, traurem profit de la característica més destacable d'aquest mitjà. Quan la influència recíproca entre la persona i el sistema flueix com si es tracés d'una xerrada amistosa o d'un volt amb moto, som davant l'èxit més important de l'aplicació correcta d'aquest principi. De la mateixa manera que la música es basa en el temps, i l'arquitectura, en l'espai, l'RV es basa en la interactivitat entre persona i ordinador.

1.6.Principi del plaer

De moment, per fortuna, la realitat virtual és una cosa a la qual una persona entra voluntàriament. Les expectatives amb què s'hi accedeix solen ser altes pel que fa a emoció, intensitat i entreteniment –més físic que no pas intel·lectual–, és a dir, la gent que la prova espera "sentir una cosa diferent". Encara que l'RV no ha de respondre pas sempre a aquesta expectativa, considerem que és oportú destacar el principi de plaer on s'uneixen el factor afectiu i el principi d'interactivitat. De la mateixa manera que una ploma estilogràfica pot convertir el fet d'escriure en una experiència rica en matisos emotius, o que una peça de roba pot transcendir la necessitat d'abrigar per a proporcionar-nos sensacions agradables que reverteixen en la nostra autoestima, la interacció en l'RV ha de tenir present aquest principi de plaer.

1.7.Principi d'interès

De la mateixa manera que el nostre principi de plaer fa referència al com, més que no pas al què, el principi d'interès es basa també en la manera com es planteja alguna cosa i no pas tant en què es planteja. La capacitat de seducció intel·lectual per sobre de la importància de les idees.

1.8.Principi de dinamisme

Pensar l'RV com un mitjà i jugar amb el temps. Deixar que les coses passin de la manera que decideix l'usuari però sense que ens faci l'efecte de ser en un mausoleu. El principi del dinamisme promou la sensació de vitalitat. L'RV permet d'introduir certs graus d'aleatorietat i altres factors que diversifiquen les experiències. El repte d'aquest principi de dinamisme és aconseguir que algú acabi una experiència d'RV amb la sensació que no ha exhaurit les seves possibilitats.

1.9.Principi de necessitat

Sia producte o servei, una aplicació d'RV respon a una necessitat. El producte sol partir d'un disseny centrat a omplir el buit que és la necessitat, mentre que el servei sol partir del guió de la manera de sadollar la necessitat. En tots dos casos (producte i servei) la dificultat de guionatge i de disseny es presenta en el compromís entre l'eficiència i el plaer amb què es cobreix la necessitat.

1.10.Principi de consistència

Com sol passar en els videojocs, en els quals, de sobte, estem en una situació límit i desconeguda, hem arribat més lluny que mai però hi hem arribat sense vides. Les situacions a les quals estem a punt de fer front ens semblarien ben absurdes i frustradores si no es respectava mínimament aquest principi de consistència, segons el qual les accions similars tenen conseqüències semblants.

1.11.Principi d'especificitat

La prova de foc per a aquest principi és demanar-se si allò que s'ha guionat i dissenyat es pot fer més bé sense l'RV. Si allò que hem elaborat es resol més bé amb una pel·lícula, un text, un partit de futbol o un caixer automàtic (per posar quatre exemples), hem fallat en el procés de presa de decisions i, en conseqüència, hem mancat al principi d'especificitat.
L'aplicació d'aquests principis és el que distingeix un guió i un disseny d'interacció bons en una aplicació de realitat virtual. No es tracta, però, d'aplicar-los tots sempre com un conjunt de manaments que cal complir, sinó més aviat d'anar-s'hi familiaritzant i anar madurant un criteri personal que ens permeti de saber què portem entre mans i quins d'aquests principis hem de prioritzar en cada cas.
No som partidaris de les guies d'estil que pretenen ser lleis universals. Si n'hi hagués, no faria falta aquest curs. El cert és que la realitat virtual evoluciona com a mitjà en gran manera gràcies a la suma d'experiències de les persones que, atentes a aquests principis generals, prenen decisions de guionatge i de disseny que empenyen els límits d'allò que és acceptable i d'allò que no ho és. Tal com hem vist en l'àmbit de producció del nostre esquema general de la realitat virtual, cada programador, cada guionista i cada dissenyador aporta els seus coneixements, les seves vivències, les seves aptituds i les seves visions del món. Fruit de les diferències entre aquests punts de vista sorgeix la diversitat, que hem de valorar com un dels factors més gratificants del sistema de treball en equip i d'autoria compartida que caracteritza la realitat virtual.
En vista de la relativa joventut que té, la realitat virtual és un mitjà que ofereix al guionista i al dissenyador d'interacció una via molt àmplia de treball i bones oportunitats d'innovació. Ara bé, aquesta mateixa joventut del mitjà és la que obliga a fer passos que ningú no ha fet mai i a desenvolupar un treball en què la intuïció i l'estudi tenen un paper decisiu. Estudiar la realitat virtual no és, sens dubte, com estudiar el dret canònic. Hi ha un nombre limitat de textos en castellà o català, d'aquests textos, amb prou feines n'hi ha cap que es refereixi als processos de presa de decisions implícits en el guionatge i el disseny.
Hem començat aquest apartat referint-nos a l'alternativa sobre la manera de començar el procés, és a dir, pel guionatge o bé pel disseny de l'aplicació. Hem dit que el guionista tendeix a pensar l'RV en paraules i que el dissenyador tendeix a pensar-la en imatges, sons, etc. Per a tots dos és imprescindible tenir en compte que l'èxit de la seva feina en equip depèn de saber-se comunicar mútuament i, sobretot, de ser capaços de comunicar-se amb l'enginyer informàtic que s'encarrega paral·lelament de l'anàlisi i la programació de l'aplicació. Si pensem en aquesta triple relació de feina, potser ens adonarem que hi ha motius per què el guionista hagi de tenir una comunicació més bona amb l'enginyer que el dissenyador, ja que tots dos comparteixen la necessitat d'escriure, i que, segons com, escriure codi no és tan diferent d'escriure un guió com ho és el fet de pensar en estímuls. Evidentment, aquesta afirmació s'ha d'agafar amb cautela, ja que el guionista escriu segons una tradició humanística en què allò que s'escriu és tan important com allò que no s'escriu, mentre que l'escriptor de codi (l'enginyer informàtic) parteix d'una tradició científica en què les expressions són estrictes, unívoques i no hi ha lloc per a allò que és implícit. En aquest sentit, al guionista i al dissenyador, els uneix la seva feina en els matisos i en allò que és implícit, en els silencis i en els buits. El dissenyador desconfia sovint del guionista, en part pel principi d'especificitat, segons el qual, si una experiència d'RV pot ser substituïda per un bon guió, ja no fa falta desenvolupar-la. En aquest sentit, el guionista ha d'admetre que la seva feina té més relació amb el fet de saber alçar una base estructural sobre la qual es puguin desenvolupar esdeveniments i relacions que no pas tant amb el de construir una narració detallada de fets. El guionista que pensa experiències d'RV ha de fer un esforç gran per a aportar amb l'escriptura elements que serveixin de pistes sensorials que pugui agafar el dissenyador. El guionista ha d'estar familiaritzat amb les regles de l'hipertext (Kahn, Peters, Landow, 1995) i ha d'explorar la relació que té amb un mitjà multisensorial com l'RV. El dissenyador, al seu torn, ha de tenir ben present que l'efectisme que comporta l'ús d'eines estàndard de modelatge, de texturat, d'il·luminació, de síntesi i espacialització d'àudio, etc., ha de tenir un contrapunt en la subtilesa de les relacions entre objectes que formen l'entorn, el subjecte virtual i la persona que interactua amb el sistema. El fet de partir de la base que tot volt dir alguna cosa és una premissa excel·lent per al dissenyador; no s'hi posa res de manera gratuïta, perquè tot allò que s'hi posa de més acaba rebaixant l'atenció que es fa a allò que és essencial.
El disseny d'interacció i el disseny d'informació van plegats en la realitat virtual. La interactivitat no és un vehicle per a obtenir o dipositar informació en un sistema d'RV, sinó que és la base mateixa de l'experiència. No es tracta, doncs, de dissenyar uns continguts i després veure com es fiquen en una aplicació d'RV. Es tracta més aviat que la interacció mateixa sigui significativa, i això no és fàcil d'aconseguir.
En cas que la feina d'equip entre guionista i dissenyador d'interacció estigui ben coordinada, es pot mirar de començar per fer sessions de pluja d'idees, en les quals, segons un límit de temps establert prèviament, s'aporten idees entorn de la feina que s'ha de fer, però amb el compromís de no desqualificar cap via de treball fins que no s'ha exhaurit el temps. En les primeres sessions es pot seguir una metodologia de blue sky thinking, és a dir, tenir el pensament obert i sense obstacles ni límits de cap mena, deixar que flueixin les idees i no esperar que madurin i estiguin estructurades correctament per a proposar-les. En aquesta etapa inicial només s'han de tenir en compte els principis de plaer, d'interès i d'especificitat. Les idees es poden anar apuntant en un paper de manera molt escarida i per ordre d'aparició. Aquests documents de treball poden tenir un format informal, però és important que apareguin els noms dels participants en la pluja d'idees i la data i el lloc en què s'ha dut a terme. Aquests memoràndums de les sessions s'arxiven, ja que són una bona referència interna de documentació: s'hi pot rastrejar l'evolució dels conceptes fonamentals, dels referents i de les intencions que ha anat prenent el treball. En aquesta primera fase de conceptualització, el guionista i el dissenyador d'interacció poden aportar referents de tota mena i organitzar sessions de visionament d'imatges i vídeos, d'escoltar música o de fer lectures que aportin alguna pista de la direcció que es pretén fer agafar a la feina. Tots aquests referents culturals, tant si són pròpiament referents de la realitat virtual com si no ho són, tenen un gran valor en la mesura en què aporten el substrat o el brou de cultiu en què han de germinar les idees. En aquest punt és aconsellable tenir entrevistes amb l'enginyer informàtic que s'ha d'ocupar de desenvolupar l'aplicació. La intervenció d'aquest enginyer en qualitat d'analista és molt profitosa des d'aquests moments primerencs de conceptualització. Aquesta primera fase s'acaba quan s'ha pactat un títol provisional per al projecte i s'han redactat un parell de línies amb la descripció de l'aplicació d'RV que es desenvoluparà.
Més endavant, en les sessions intermèdies, s'ha de canviar de metodologia i entrar en una dinàmica més estructurada, en què les aportacions ja tenen una direcció concreta i en què no és bo qüestionar ni el títol ni la primera descripció del treball, sinó que s'ha de procurar de fer esquemes i descripcions més detallats, en els quals es pugui comprovar si les idees del començament es poden desenvolupar satisfactòriament en el termini de lliurament fixat i amb els mitjans i els coneixements tecnològics disponibles. Sense deixar de banda els tres principis amb què s'ha començat la conceptualització (plaer, interès i especificitat), en aquesta etapa nova s'ha de parar molta atenció als principis d'usabilitat, d'adequació i de necessitat. En aquesta etapa es pot continuar treballant en sessions conjuntes, però és important que entre aquestes sessions hi hagi una bona dedicació dels equips de guionatge i de disseny d'interacció a les seves tasques de taller i d'estudi. En les sessions de treball conjunt d'aquesta etapa hi ha un objectiu principal, que és el de consensuar un pla de treball pautat per un calendari que tothom pugui assumir. Si el calendari és massa exigent o no el pot assumir tothom, és ben probable que tot plegat s'acabi en un fracàs general o que, com a mínim, algú de l'equip es desentengui de les seves obligacions i causi algun contratemps. Aquesta fase s'acaba, doncs, amb la redacció del pla de treball, en el qual es detallen les diverses actuacions de cada integrant de l'equip, és a dir, que a partir de la definició ampliada de la proposta es reparteixen les tasques, començant per un primer nivell d'esbossos d'objectes que han de formar els diversos entorns, amb idees de les formes, les funcions i els comportaments que han de tenir. Un primer guió general d'interacció que es pot fer partint d'un esquema d'interacció persona-ordinador (IPO) que es desenvolupa segons el tipus d'aplicació, el context d'aplicació, el tipus de plataforma que s'ha d'utilitzar per al desenvolupament (àmbit de producció) i per a l'ús (àmbit de recepció), etc. En la definició d'aquest pla de treball és imprescindible haver tingut reunions amb l'enginyer informàtic responsable, que n'ha de garantir la viabilitat.
Com hem dit en diferents mòduls anteriors, l'RV és una experiència basada a generar estímuls, a diferència de l'aplicació multimèdia, que es basa a integrar mitjans. Aquesta diferència és molt notòria en la tercera fase del guionatge i el disseny d'interacció ja que, a diferència d'altres mitjans en què es poden separar les tasques de guionatge i de disseny, en el cas de l'RV és aconsellable mantenir una dinàmica de feina conjunta en reunions en què es posen en joc mentalment o amb senzilles maquetes els elements que es defineixen. En aquesta fase es poden aplicar totes les estratègies de treball: des de pluges d'idees noves sobre aspectes concrets, fins a representacions basades en les situacions que es treballen en el guió, passant per tota mena d'esbossos, de maquetes i d'esquemes que ajudin l'equip a tenir clar a tota hora l'esperit del projecte i el progrés de treball de les persones que hi estan implicades. Aquesta etapa s'acaba quan el guió s'ha ben concretat en els diversos aspectes que implica la definició dels entorns, detallada amb les qualitats de cada objecte, les lleis que regeixen el conjunt, la definició dels subjectes virtuals que es proposen a l'usuari, etc. Tota aquesta fase és marcada pels principis d'interactivitat, de dinamisme i de consistència, que se sumen a la resta a fi d'anar tancant el guionatge i el disseny d'interacció i passar a les fases de disseny d'interfícies, de programació de comportaments i de modelatge, de les quals consta la producció de realitat virtual pròpiament dita.

2.Interfícies

Tal com s'ha descrit en el mòdul 2, els estadis de disseny d'una interfície es divideixen en tres parts essencials:
  1. decidir quins canals externs es comuniquen amb els interns i de quina manera ho fan: d'això, se'n diu mapatge;

  2. establir els elements que actuen d'enllaç a l'exterior de l'aplicació: les interfícies físiques o interfícies de maquinari;

  3. determinar els elements que actuen d'enllaç a l'interior de l'aplicació: les interfícies lògiques o interfícies de programari.

L'elecció de les interfícies no és en absolut trivial. Encara que estem molt acostumats a veure els ratolins i els teclats, els monitors i les palanques de control, i no ens parem a pensar per què s'usen i si són adequats o no per a les aplicacions més utilitzades, això no vol dir que siguin unes interfícies universals que valguin per a tot. El casc, com s'ha indicat, tampoc no és la solució òptima per a totes les aplicacions de realitat virtual.
És molt important tenir una bona especificació de l'aplicació que s'ha de desenvolupar, sia pel tema concret en què es basa l'aplicació o per la mena d'interacció que es vol hi hagi. A partir d'una bona especificació es poden avaluar una sèrie de punts relacionats amb el disseny d'interfícies per a l'aplicació. De tota manera, no hi ha fórmules màgiques ni receptes miraculoses per a determinar les interfícies adequades per a una aplicació. Per aquesta raó s'aprecia tant quan es troba una aplicació amb una interfície adequada.
D'altra banda, el desenvolupador ha de ser conscient que la intuïció o la interfície intuïtiva de què tant es parla no existeix. Aquesta noció d'intuïció és completament dependent del context cultural i social dels usuaris i, així, una aplicació que pot funcionar molt bé en un lloc del món pot ser un fracàs en un altre.
A continuació, s'analitzen algunes de les premisses necessàries per a un bon disseny d'interfícies. En cada cas es veu com s'apliquen a quatre aplicacions concretes de les que s'han vist en el mòdul 5:
  • Una aplicació de visualització: el túnel de vent virtual (TVV).

  • Una aplicació mèdica: la de cirurgia laparoscòpica (CLP).

  • Una aplicació lúdica: l'atracció d'Aladí de Disney (ALA).

  • Una aplicació artística: la d'El ball del fanalet o Lightpools (BFL).

2.1.Premisses de perfil d'usuari

Per començar per un element que se sap que és segur que intervé en l'experiència, sempre és bo començar per l'usuari. És necessari saber definir perfectament el tipus d'usuari a qui s'adreça l'aplicació, i això dóna una bona visió del tipus d'interfícies físiques i lògiques que es poden usar.
Per exemple, és imprescindible determinar l'experiència de l'usuari:
  • És, l'usuari, el públic en general que s'acosta a l'aplicació sense cap coneixement del tema de l'aplicació i sense cap experiència en aplicacions de realitat virtual?

  • És un expert en el tema, de manera que coneix perfectament els elements, les accions i les qüestions implícites?

  • És un expert en aplicacions de realitat virtual, encara que no del tema, però se li poden proposar perifèrics sofisticats?

Una altra mena de preguntes que es poden fer respecte a l'usuari fan referència al temps que pot dedicar a l'aplicació:
  • Pot passar un temps d'aprenentatge i d'adaptació a l'aplicació?

  • És un transeünt casual en un lloc públic que ha de fer cua per a accedir a l'aplicació i ha de poder interactuar immediatament en el moment en què li toqui?

  • Disposa de diverses sessions d'ús de l'aplicació, de manera que es va convertint en expert?

El perfil de l'usuari també determina si les interfícies poden ser delicades respecte a la manipulació o han de ser resistents i pensades per a un ús intensiu. Una interfície pot ser molt adequada a l'aplicació pel que fa a la funcionalitat d'interacció i al contingut, però, en canvi, si davant un ús intensiu o massiu s'espatlla de seguida deixa de ser útil.
Finalment, també és important conèixer el context cultural, social i laboral dels usuaris de l'aplicació. Com s'ha avançat, la utilització de l'aplicació i de les interfícies i l'èxit del conjunt pot dependre en gran manera del fet que aquest conjunt estigui adaptat i preparat a les convencions culturals, a les imatges icòniques de cada context, a les qualitats laborals, a les qüestions pràctiques de cada societat, etc.
Les respostes que se n'obtenen comencen a restringir les moltes opcions de què es parteix al començament, tal com s'ha vist en aquesta assignatura.

2.2.Exemples

  • TVV: en aquest cas, l'usuari és segurament un expert en realitat virtual, ja que pel tema de l'aplicació ha de conèixer les tecnologies avançades. També és un usuari expert en el tema de l'aplicació i disposa de temps d'entrenament i, sobretot, de molt de temps d'utilització de l'aplicació fent proves i experiments. Per aquestes raons, les interfícies poden ser tan complexes i delicades com faci falta.

  • CLP: en aquest cas, l'usuari segurament és un expert en el tema de l'aplicació, però no en el de realitat virtual. No obstant això, és un usuari curós, que pot passar una fase d'entrenament i que utilitza l'aplicació durant períodes bastant llargs. Les interfícies li han de recordar les seves eines habituals perquè se senti dins el seu context de treball.

  • ALA: en el cas d'una atracció, el tipus d'usuari és el més obert i indefinit que hi ha. Per aquesta raó, les interfícies s'han de pensar de manera que siguin a prova de vandalismes, mals usos o accidents. Habitualment, els usuaris no disposen d'un temps d'entrenament, tampoc no utilitzen l'atracció gaire estona i, a causa de les cues, segurament hi tornen poques vegades. Això obliga a utilitzar interfícies que són molt senzilles, que es poden entendre en poca estona, que no tenen massa càrrega d'un determinat context i que són molt resistents.

  • BFL: en el cas d'aquesta aplicació artística, el perfil d'usuari és bastant obert, ja que es mostra en espais de museus amb públic molt heterogeni, però el context d'un museu o una sala d'exhibicions, en principi, no dóna lloc a usos indeguts. L'usuari, habitualment, té bastant de temps per a interactuar amb l'aplicació, encara que no es pot pretendre que passi per un entrenament específic. En aquest context és probable que l'usuari no torni a provar l'aplicació. Així, el tipus d'interfícies pot ser relativament complex, ja que l'usuari té temps d'explorar-les.

D'aquesta manera hi ha quatre perfils diferents d'usuari que determinen quatre filosofies diferents de disseny d'interfícies.

2.3.Premisses tècniques

Pel que fa a les qüestions tècniques de caire general, es poden analitzar dues qüestions bàsiques. En primer lloc, si se sap si l'aplicació està basada en una sèrie de propietats físiques, s'han de trobar els models subjacents a aquestes propietats per a tenir els mapatges adequats. Si no se sap el model o si es dissenya una aplicació que no es basa en propietats físiques, s'han d'inventar els mapatges.
En segon lloc, és important estudiar els graus de llibertat que requereix l'aplicació mentre se'n fa ús. Per exemple, si se sap que l'usuari ha de navegar en un espai 3D, no sembla que sigui adequat utilitzar una interfície física de tipus ratolí que només aporta 2 graus de llibertat. Això, que sembla tan lògic, en general no es compleix quan es treballa amb eines de modelatge 3D. En efecte, habitualment es modelen objectes en espai 3D en aplicacions de tipus 3D Studio MAX utilitzant un ratolí i el teclat. D'aquesta manera és necessari fer servir tota mena de combinacions de tecles i de botons del ratolí per a guanyar graus de llibertat, que no és gaire pràctic de fer. En canvi, és realment útil tenir sempre un ratolí 3D de tipus Magellan o de tipus Spaceball, amb els quals hi ha garantits els sis graus de llibertat de transformacions geomètriques en l'espai 3D.
Analitzant com queden afectats els exemples que se segueixen per aquestes premisses, ens adonem del següent:
2.3.1.Exemples
  • TVV: en aquest cas, és molt clar que se simulen processos i fenòmens físics i, per tant, s'han de tenir ben clars els models que ha determinat la ciència. Això afecta les interfícies en el sentit que, d'alguna manera, han de permetre de controlar les variables involucrades en aquests models: en aquest cas concret, la interfície lògica és l'element que genera els filets de fum virtuals que indiquen si hi ha irregularitats en els models aerodinàmics. D'altra banda, els graus de llibertat són determinats, principalment, per la forma com s'ha de manipular aquesta interfície lògica: en aquest cas concret, sis graus de llibertat en l'espai 3D. Una altra consideració és que, en aquest cas, la interfície física no ha de tenir pas cap relació de semblança amb la interfície lògica. Aquesta interfície física tan sols ha de permetre el posicionament i l'orientació correctes de la interfície lògica.

  • CLP: aquí també se simulen processos físics. En aquest sentit, aquest exemple no difereix de l'anterior. En el que sí que difereix és en el fet que les interfícies físiques han de ser anàlogues a les lògiques, i a les que utilitza el cirurgià en condicions d'operació real, ja que és imprescindible donar al cirurgià la funcionalitat i les sensacions que té en una operació real.

  • ALA: aquí no se simula res en concret, ja que, de catifes màgiques, no n'hi ha. Per tant, l'únic que es pot tenir en compte és que la interfície ens ha de remetre a allò que la fantasia ha inventat i que ha anomenat catifa màgica. Els graus de llibertat, en aquest cas, són molt trivials, ja que la interfície que controla el moviment de la catifa ha de permetre de pujar, de baixar, de girar a la dreta i a l'esquerra; és a dir, dos graus de llibertat. Així, doncs, la interfície és extremament simple, i compleix amb el que hem observat com a restriccions en l'apartat anterior amb les observacions del perfil de l'usuari.

  • BFL: en aquest cas, es pot dir que tampoc no se simula cap fenomen físic. Per això, tot el que són metàfores i referents per a les interfícies són inventats o contextualitzats a partir d'un cas particular. D'altra banda, s'observa que els usuaris han d'interactuar a partir d'una exploració de l'entorn projectat al terra. En aquesta exploració es controla un focus de llum virtual (lightpool) i, per tant, es requereixen els tres graus de llibertat de les translacions 3D.

2.4.Premisses d'entrada i sortida de dades

L'adequació al format de les dades d'entrada i sortida que s'utilitzen en l'aplicació també és una bona manera d'analitzar els tipus d'interfícies físiques i lògiques que són útils. Per exemple, en cas d'haver de captar la veu de l'usuari per a fer un reconeixement de la parla, és evident que s'ha de fer servir un micròfon com a interfície física. L'adequació, no obstant això, no és sempre tan òbvia. Per exemple, quan s'ha de decidir si les imatges de l'aplicació es presenten a l'usuari mitjançant un monitor, una pantalla de format gran, un casc de visualització, etc. En aquests casos la discriminació de les interfícies s'ha de fer per altres vies. A més, de vegades aquestes entrades i sortides no són determinades a priori, sinó que són determinades per l'elecció d'interfície. En aquests casos aquest estudi no té sentit.
2.4.1.Exemples
  • TVV: és clar que, en aquest cas, les dades d'entrada són les dades de manipulació dels filets de fum virtual. El sol fet de parlar de manipulació ja ens remet a uns tipus concrets d'interfícies físiques que permeten a l'usuari de treballar amb la mà. Per exemple, per a detectar la posició de la mà, algun tipus de sensor de posicionament espacial (per exemple, magnètic). Amb relació a les sortides, és clar que, essent una aplicació de visualització científica, han de ser principalment visuals, però encara no hi ha elements de judici per a saber de quin tipus.

  • CLP: pel que fa a les dades d'entrada, el fet d'analitzar-les no aporta res, ja que abans s'ha vist que les interfícies han de ser anàlogues a les que usa en una operació real. En canvi, amb relació a les sortides, s'observen unes qüestions interessants. Encara que la sortida d'imatges es pot apreciar que és important en aquesta aplicació, s'observa que una bona quantitat d'informació que rep l'usuari cirurgià ve del tacte més que no pas de la imatge. Per aquesta raó, és molt important que les interfícies físiques tinguin una sortida de force feedback.

  • ALA: en aquest cas, l'anàlisi de les dades d'entrada tampoc no aporta res que no hagi aportat l'anàlisi de les premisses anteriors. Amb relació a les sortides, s'observa que pot ser convenient aïllar l'usuari del seu entorn físic i permetre-li de mirar en la direcció que vulgui sense haver d'utilitzar les mans. Per aquesta raó, sembla que és adequat utilitzar una interfície de tipus casc amb un sensor d'orientació. D'aquesta manera, té les mans lliures per a navegar i controlar la catifa màgica.

  • BFL: de la mateixa manera que en l'apartat anterior s'ha dit es tracta d'un cas especial que es veu en detall més endavant, aquí tampoc no podem analitzar aquest exemple amb les mateixes premisses. De fet, es pot observar que ni les dades d'entrada ni els de sortida no ens aporten realment res.

2.5.Premisses de contingut

Quan s'analitza el tema de fons de l'aplicació, és ben lògic de mirar d'adequar les interfícies als elements protagonistes de l'aplicació. D'això, se'n diu metàfora. Aquestes metàfores poden definir certes propietats de les interfícies que ajudin a definir-les. Encara que les metàfores tant poden ser un destorb com un ajut. Un ajut perquè ens permeten de contextualitzar les interfícies i ens donen una representació en l'entorn virtual i una analogia amb la interfície física.
2.5.1.Exemples
  • TVV: encara que aquesta aplicació té un contingut molt clar, aquest exemple no es beneficia de la metàfora utilitzada. En efecte, pel fet de ser una simulació, més que no pas una metàfora, es té una representació literal: maqueta d'avió o ala - model d'avió o ala, vent físic - vent virtual, fils de fum físics - fils de fum virtuals. Així, la interfície ha de ser literal també.

  • CLP: aquest exemple també té un contingut clar però també planteja una situació de simulació, de manera que la interfície ha de ser, també, literal. I, de fet, així com la literalitat en l'exemple anterior es dóna respecte a la interfície lògica, en aquest exemple es dóna tant respecte a la interfície lògica com respecte a la física.

  • ALA: el cas de la catifa voladora també està contextualitzat en un contingut molt definit: la història d'Aladí. D'altra banda, la catifa com a suport de vol i els dos extrems davanters (segons la direcció de l'usuari) donen lloc al fet que la metàfora de conducció no té com a interfície física adequada un volant (que ens remet més a un cotxe) ni una palanca de control (que ens remet a la palanca de vol d'un helicòpter). Així, doncs, la interfície física ha de semblar més al fet d'agafar les dues puntes de la catifa i estirar en una direcció o una altra. Per a això es pot veure que fa falta una interfície feta a mida.

  • BFL: tal com veurem més endavant, en el procés de desenvolupament d'aquesta aplicació no es disposava d'un contingut concret a priori. Per aquesta raó, aquesta anàlisi no és rellevant aquí.

2.6.Premisses d'interacció

L'anàlisi del tipus d'interacció és essencial en certes aplicacions per a determinar com han de ser les interfícies. Per exemple, saber si la interacció és d'un usuari o de multiusuari. També saber si la interacció és sobre una taula o en un entorn reduït, o bé si és una interacció en un espai obert. Això es relaciona amb qüestions de motricitat de l'usuari (o usuaris). El desplaçament virtual és determinat per un desplaçament físic o no. Finalment, també és important saber si la interacció amb els objectes virtuals és una interacció directa o una observació a distància.
2.6.1.Exemples
  • TVV: les característiques de la visualització en aquesta aplicació són, principalment, que l'usuari ha de tenir la percepció de profunditat per a saber exactament on situa els elements i per a detectar fàcilment on hi ha les turbulències. Això determina que la visualització que s'ha deixat pendent en apartats anteriors aquí es veu clar que ha de ser estereoscòpica. A més, però, ha de poder moure el punt de vista amb facilitat per a veure el conjunt des de l'angle més adequat. D'aquesta manera, fer una visualització amb monitor o projecció requereix una interfície extra que li permeti de navegar. En canvi, si la visualització es fa amb un sistema de tipus Boom, que ja porta la interfície de navegació de manera natural, es tenen les dues qualitats en un sol dispositiu. El fet que la interacció es faci en un laboratori de proves fa que, encara que no són necessaris uns desplaçaments físics gaire grans per a dur a terme els experiments, sí que és possible de fer els desplaçaments que requereix un sistema de tipus Boom.

  • CLP: encara que en la visualització de la interacció amb el cos virtual seria molt útil d'oferir a l'usuari una visualització en estèreo, això seria falsejar el tipus de visualització del cas real. Així, com que les sortides visuals del cas real són en format vídeo sobre un monitor sense capacitat estèreo, les de l'aplicació han de ser iguals. D'altra banda, la interacció en aquesta aplicació es desenvolupa amb l'usuari estàtic en un mateix lloc. Això determina que no fa falta cap mena d'interfície sense fil.

  • ALA: si analitzem qüestions com el tipus d'interacció de l'usuari amb l'entorn i la distància mitjana a la qual hi ha els objectes respecte al punt de vista virtual, es pot veure que, en aquest cas, encara que sembla que, efectivament, fa falta utilitzar un casc, no és necessari que la visualització sigui estereoscòpica. També es pot observar que l'usuari s'està assegut durant tota la interacció. Per tant, aquí tampoc no es requereix una atenció especial als dispositius sense fil.

  • BFL: en aquesta aplicació l'anàlisi de la interacció és essencial. D'una banda, no hi ha un usuari i prou sinó que n'hi pot haver fins a quatre alhora. De l'altra, els usuaris fan desplaçaments físics relativament grans (es mouen en un cercle de 6 metres de diàmetre). Això determina que en la seva exploració de l'espai físic i virtual la posició de l'usuari ha de ser detectada constantment i que els sensors han de ser sense fil tant per raons de mida d'espai com per raons d'embulls amb els altres usuaris.

3.Comportaments

La definició de comportaments en una aplicació de realitat virtual té una importància vital tant per a proveir la funcionalitat necessària als objectes de l'entorn com per a descriure les potencialitats del subjecte virtual. Els comportaments són els que descriuen com es desenvolupen els objectes dins de l'experiència, com s'interrelacionen amb altres objectes i com reaccionen a les accions de l'usuari.

3.1.Comportaments passius

Hi ha comportaments que són passius en el sentit que són uns mers bucles de moviment completament aliens al que passa a l'entorn. Per exemple, si es té un entorn en què hi ha un molí de vent dins d'un paisatge i aquest molí és una mera decoració, les aspes es poden moure per a crear l'efecte que l'entorn no és "mort", però aquest moviment no respon o no reacciona a un vent virtual. Aquest tipus de comportaments són regits per fórmules matemàtiques que descriuen el moviment respecte al pas del temps, o bé són interpolacions de posicions i orientacions definides per les quals es vol assegurar que passi l'objecte. Aquestes funcionalitats s'acostumen a associar a l'objecte i s'actualitzen a cada cicle del bucle principal de l'aplicació.

3.2.Per fórmules

L'exemple del molí és molt clar en aquest sentit. La fórmula que regeix el moviment del molí està basada en la rotació de les aspes de manera directa. És a dir, que la geometria de les aspes ha de tenir una transformació de rotació d'X graus cada vegada.
Comportament definit per una fórmula (en aquest cas tan sols una rotació).
Comportament definit per una fórmula (en aquest cas tan sols una rotació).

3.3.Per interpolació

Un exemple d'aquest tipus de comportaments és el moviment d'un cotxe per una trajectòria definida. Aquesta mena de comportaments s'acostumen a definir exactament igual que en les animacions fetes amb qualsevol eina d'animació de tipus 3D Studio MAX. És a dir, es decideix la taxa d'actualització de l'animació (per exemple, 20 imatges per segon), es decideixen els fotogrames que dura tota l'animació, es marquen unes cotes o key frames que especifiquen punts concrets de l'animació en què l'objecte ha d'adoptar una posició o una orientació concretes i llavors es posa en marxa l'animació, que duu a terme la interpolació en els fotogrames que hi ha entre dues cotes.
Esquerra: punts i direccions de les cotes del comportament; al mig: interpolació lineal; dreta: un altre tipus d'interpolació: interpolació de Bezier
Esquerra: punts i direccions de les cotes del comportament; al mig: interpolació lineal; dreta: un altre tipus d'interpolació: interpolació de Bezier

3.4.Comportaments per regles

Els comportaments realment interessants i complexos són els que reaccionen davant de l'entorn. Són comportaments actius que descriuen el context instantani de l'objecte i defineixen una sèrie d'accions que s'han de seguir depenent de la manera com queden afectats per factors externs. Aquest tipus de comportaments es poden definir de diverses maneres, de les quals aquí es descriuen les dues principals: per regles i per autòmats.
En aquest tipus de definició de comportaments, el desenvolupador defineix una sèrie de regles que s'han de seguir segons si s'està en una situació o en una altra. Aquest sistema és, segons com, molt intuïtiu, ja que obeeix sobretot a la manera en què raonem nosaltres. Les regles tenen una de les estructures següents:
  • si "l'objecte és en un context C" i "passa un esdeveniment E" llavors "s'ha de fer l'acció A";

  • si "l'objecte és en un context C" i "passa un esdeveniment E" llavors "s'ha de canviar a context C1".

A continuació, es posa un exemple que il·lustra aquesta manera de descriure comportaments.
Exemple: comportament d'un nen que segueix el pare.
En aquest exemple tenim un nen virtual que camina al costat de l'usuari (el pare) i que el segueix a tot arreu. Per simplificar, diem que l'usuari camina sempre en línia recta cap endavant.
Les regles que regeixen aquest comportament són les següents:
  • si {nen cames juntes} i {distància nen usuari} és més gran que màxim llavors {nen avança cama dreta};

  • si {nen cama esquerra davant} i {distància nen usuari} és més gran que màxim llavors {nen avança cama dreta};

  • si {nen cama dreta davant} i {distància nen usuari} és més gran que màxim llavors {nen avança cama esquerra};

  • si {nen cama esquerra davant} i {distància nen usuari} és més petita que màxim llavors {nen ajunta cames};

  • si {nen cama dreta davant} i {distància nen usuari} és més petita que màxim llavors {nen ajunta cames}.

Aquestes regles, llavors, s'han de programar en l'aplicació mitjançant un llenguatge.
Aquest tipus de descripció de comportaments és molt poc clara per a algú que no té experiència programant. A més, és bastant fàcil d'oblidar-se d'especificar alguna de les opcions possibles, especialment quan el comportament és complex i el conjunt de regles és molt gran.
Possiblement una manera més bona de descriure comportaments és mitjançant un diagrama d'autòmat finit (Hopcroft, 1979). Un autòmat finit és un conjunt d'estats en què es pot trobar un objecte/personatge. Aquests estats s'enllacen amb arestes que descriuen les transicions d'un estat a l'altre. Les transicions es fan quan es compleix una condició o passa algun esdeveniment concret. L'objecte/personatge es manté en un estat mentre no es compleix alguna de les condicions o no passa algun dels esdeveniments que produeixen una transició de sortida que el forcen a canviar a un altre estat. Aquests estats i aquestes arestes formen el que s'anomena graf dirigit. Això vol dir que les transicions són unidireccionals, és a dir, que defineixen una transició en una direcció, d'un estat a un altre, però no a la inversa.
D'aquesta manera, l'exemple anterior descrit mitjançant un graf d'estats d'un autòmat finit és el següent:
Autòmat d'exemple: Dnen és la distància del nen virtual a l'usuari (pare).
Autòmat d'exemple: Dnen és la distància del nen virtual a l'usuari (pare).
La descripció per regles i la d'autòmats finits són equivalents. En l'exemple es pot apreciar que les regles són implícites en el context d'un estat i en una transició des d'aquest estat cap a un altre.
Encara que els grafs també s'han de programar en l'aplicació mitjançant un llenguatge de programació, tenen l'avantatge de ser molt compactes com a eina de disseny. Per aquesta raó, és més fàcil de detectar possibles transicions oblidades, errors en l'evolució de l'objecte/personatge, inconsistència d'estats, etc.
A més, com que és una representació tan visualitzable del comportament, es presten a ser utilitzats com a metàfora de descripció de comportaments en aplicacions de desenvolupament d'experiències de realitat virtual. Per exemple, el Motivate de Motion Factory proveeix un llenguatge visual que utilitza estats i transicions per a descriure els comportaments dels objectes de l'entorn. Quan el desenvolupador ha descrit visualment el comportament, el Motivate s'encarrega de traduir-lo de manera automàtica a un llenguatge de programació i de posar-lo en marxa.

4.Modelatge d'objectes

Encara que s'han vist eines de modelatge en el mòdul sobre fonaments tecnològics, les propietats que tenen i el tipus d'optimitzacions que fan falta en gràfics generats en temps real, aquí es vol fer ressaltar aquestes optimitzacions en el procés de desenvolupament. En efecte, com que el modelatge d'objectes és tan crític i delicat pel que fa a l'adequació dels models a les capacitats de càlcul i de generació del sistema, aquesta part és molt important en el procés de desenvolupament d'una aplicació de realitat virtual i s'ha de tenir en compte que absorbeix una bona part del temps i els recursos del desenvolupament.
Modelatge amb una eina 3D
Modelatge amb una eina 3D

4.1.Modelatge algorítmic

D'altra banda, hi ha la possibilitat de modelar els objectes de manera algorítmica. És a dir, no amb una eina de modelatge sinó amb algoritmes que, sense tenir-lo premodelat, modelen l'objecte en temps real per mitjà de fórmules. Aquest és el cas d'objectes "naturals" que es poden modelar, per exemple, amb geometria fractal. Aquests objectes fractals poden ser muntanyes, arbres, núvols, etc., i es caracteritzen pel fet que són tots diferents els uns dels altres. D'aquesta manera, si s'ha de modelar un bosc d'arbres amb una eina de modelatge, és una tasca laboriosa i lenta. En canvi, si es modela en temps real amb algoritmes fractals, es pot definir a cada arbre unes propietats diferents de manera aleatòria i generar el bosc molt més de pressa.
Dos arbres fractals
Dos arbres fractals
Tres muntanyes fractals
Tres muntanyes fractals

4.2.Objectes de biblioteques

Finalment, també hi ha la possibilitat d'utilitzar objectes de biblioteques. En efecte, hi ha biblioteques extenses d'objectes que han premodelat modeladors experts. Models que ja estan optimitzats, probablement amb diferents LOD. D'aquesta manera el desenvolupador pot triar del catàleg l'objecte que s'ajusta més bé a les seves necessitats i després el pot modificar per a donar-li el detall que acaba d'adequar-lo a l'aplicació. Evidentment, els tipus d'objectes premodelats acostumen a ser objectes extrets del nostre entorn físic: cotxes, avions, edificis, animals, arbres, mobles, persones, paisatges, etc. Això fa que la utilització de biblioteques sigui més fàcil en aplicacions de tipus simulació que en aplicacions en què l'entorn no té cap referent físic o natural.
Biblioteques de figures humanes
Biblioteques de figures humanes
Biblioteques de plantes
Biblioteques de plantes
Biblioteques de vehicles militars
Biblioteques de vehicles militars
Biblioteques de vehicles civils
Biblioteques de vehicles civils

5.Fases de desenvolupament

El desenvolupament d'aplicacions de realitat virtual ha evolucionat clarament de les estratègies de desenvolupament d'aplicacions informàtiques en general. Les fases de desenvolupament sembla que són clares quan el contingut del tema en què es basa l'aplicació guia tot el procés de desenvolupament (Kalawsky, 1993; Waxelblat, 1993; Loeffler, Anderson, 1994; Bryson, 1995; Earnshaw, Vince, Jones, 1995). El tema defineix un context i el context és determinant en l'elecció de la metàfora utilitzada, en els elements d'interacció i en la interfície (Erickson, 1990). Aquesta estratègia, anomenada content-driven (o dirigida pel contingut), s'adapta de manera natural al desenvolupament d'aplicacions de realitat virtual en un ventall ampli d'àmbits: des de simulacions científiques fins a dissenys arquitectònics.
No obstant això, l'aproximació content-driven té limitacions quan s'experimenta amb aproximacions noves al disseny d'interfícies o quan s'exploren les propietats específiques de la realitat virtual com a mitjà de producció audiovisual (i artística) (Parés, Parés, 1993; 1994.a-b; 1995; 1996.a-b; 1997). Restriccions que veurem més endavant, però que, per a superar-les, s'ha definit una estratègia anomenada interaction-driven (o dirigida per la interacció) (Parés, Parés, 2000; Parés, 2001) que planteja l'anàlisi de l'aplicació partint del tipus d'interacció que el desenvolupador vol aconseguir i de la manera en què l'usuari es relaciona amb l'experiència.
En aquest apartat es defineixen les fases de desenvolupament d'una aplicació de realitat virtual segons les estratègies content-driven i interaction-driven, i posteriorment es comparen i s'analitzen les diferències entre l'una i l'altra.
Abans, però, s'expliquen les fases per a ordenar-les després segons cada estratègia. N'hi ha que ja s'han vist i, per tant, només es llisten. N'hi ha d'altres, en canvi, que encara no s'han vist i per això s'expliquen amb més detall. Unes d'aquestes darreres s'engloben dins una estructura essencial de qualsevol aplicació.

5.1.El bucle principal de l'aplicació (simulation loop)

Aquesta estructura és la que repeteix una sèrie d'accions durant la vida d'una experiència de realitat virtual. La repetició de les accions té un significat molt important, ja que pot determinar la mesura temporal de l'aplicació i definir cicles d'una certa durada o bé aquests cicles del bucle es poden adaptar a un rellotge intern concret que determina l'evolució temporal de l'aplicació. Aquestes accions gestionen el control de tota l'aplicació a cada cicle, és a dir, en cada unitat de temps. Les parts essencials són les següents:
  • Gestionar els sensors: llegir les dades d'entrada provinents dels sensors que detecten els moviments i les decisions de l'usuari.

  • Renovar l'estat de l'usuari: modificar les propietats, la situació i l'estat general del subjecte virtual, a partir de les dades que han captat els sensors.

  • Renovar l'estat dels objectes: modificar les propietats, la situació i l'estat general dels objectes virtuals, a partir dels algoritmes de comportament i les decisions que ocorren.

  • Determinar les interaccions: detectar si en les modificacions de l'usuari i dels objectes virtuals hi ha hagut alguna interacció que ha provocat una modificació de l'estat de l'aplicació i els elements de l'aplicació.

  • Gestionar les sortides sensorials: generar tots els estímuls que intervenen en l'experiència (imatges, sons, moviments, etc.) perquè l'usuari rebi el feedback adequat que el context instantani demana.

Aquesta estructura es manté constant en qualsevol tipus d'aplicació de realitat virtual i s'estructura entorn d'un conjunt de fases importants de desenvolupament que inclou les següents:
  • Identificar els tipus i procedències de les dades utilitzades.

  • Identificar els processos involucrats en l'aplicació.

Respecte a les fases que ja s'han vist, es té el següent:
  • El disseny de les interfícies (físiques, lògiques i mapatges).

  • El modelatge dels objectes.

  • El disseny de comportaments i el disseny d'estímuls.

5.2.Aproximació per contingut

Tenint clares les fases de desenvolupament que s'han vist, es pot apreciar que són fases de nivell relativament baix, en el sentit que descriuen accions que són molt de producció final i que no inclouen tota l'estructuració ni del contingut ni del context ni del guionatge. Les fases que sí que l'estructuren són fases d'alt nivell que se solen fer abans que les de baix nivell, i, a causa d'aquesta organització, defineixen una estratègia anomenada content-driven. És a dir, precisament perquè es comença per un nivell d'abstracció alt, analitzant el contingut i el context de l'aplicació, i es baixa fins a la implementació i la posada en marxa. En aquesta estratègia la seqüència de fases que defineix el procés de desenvolupament és el següent:
  • Definir el tema concret de l'aplicació: per exemple, entrenament de vol d'un Airbus, entrenament de cirurgia laparoscòpica, anàlisi de les turbulències generades per un perfil d'ala, etc.

  • Definir el tipus d'aplicació: interacció explorativa, manipulativa o contributiva.

  • Identificar el tipus d'usuari: per exemple, un expert en el tema, algú que ja en sap una mica, el públic en general, etc.

  • Identificar els objectes virtuals necessaris: per exemple, objectes del paisatge (vegetació, edificis, etc.), òrgans interns, model d'una ala, etc.

  • Identificar les dades de treball: dades d'entrada, resultats intermedis, resultats finals, tipus de dades, etc.

  • Identificar els processos: algoritmes, càlculs, comportaments, lleis subjacents, etc.

  • Identificar els tipus d'interfícies d'entrada: tipus de sensors, interfícies d'usuari, enllaços i mapatges, etc.

  • Identificar els tipus d'interfícies de sortida: presentar els resultats, els tipus de perifèrics de visualització, d'audició, etc.

  • Identificar les eines de modelatge d'objectes: modelatge geomètric, algoritmes generatius, eines CAD, escàner, etc.

  • Identificar les eines de desenvolupament: biblioteques de programació, entorns de desenvolupament, programes controladors de perifèrics, etc.

Aquest tipus de desenvolupament s'adapta ben bé a qualsevol aplicació informàtica basada en un cert contingut o tema, perquè (a) s'ajusta a l'anàlisi de tota l'aplicació informàtica en general, (b) té una semblança notable amb les fases de disseny d'una simulació i (c) és guiat per un objectiu concret, és a dir, el tema de l'aplicació.
Es pot ressaltar que aquests passos no són necessàriament seqüencials. N'hi ha que es poden fer en paral·lel amb d'altres que tenen al voltant en la llista.

5.3.Aproximació per interacció

Encara que hi ha moltes aplicacions de realitat virtual –una bona majoria, de fet– que segueixen l'estratègia content-driven, hi ha molts casos en què pot ser útil de desenvolupar una aplicació centrant-se en la manera en què l'usuari ha d'interactuar amb l'aplicació. És a dir, analitzant les interfícies, la interacció amb els objectes, l'exploració, la manipulació i la contribució de l'usuari, de manera que els resultats obtinguts permetin que aflori de manera espontània el tema, el contingut, l'atmosfera, el to, l'"aroma", etc., de l'experiència.
Aquest és el cas, per exemple, quan els desenvolupadors estan interessats a comprovar certes teories d'interacció mitjançant una sèrie d'experiments. Les experiències resultants només es contextualitzen quan s'ha de formatar l'aplicació per a presentar-la als usuaris. Un altre cas en què aquesta estratègia pot ser útil és en produccions artístiques en què l'artista vol exposar conceptes i relacions mitjançant la interacció proposada, en comptes d'exposar un tema concret o de treballar un cert valor estètic.
Aquesta estratègia interaction-driven és, segons com, una inversió de la content-driven, ja que comença identificant interfícies, sensors i mapatges, i també processos i comportaments, en comptes de començar definint el tema de l'aplicació.
Així, doncs, els passos de l'estratègia de desenvolupament interaction-driven s'organitzen en l'ordre següent:
  • Identificar els tipus d'interfícies d'entrada: tipus de sensors, d'interfícies d'usuari, d'enllaços i mapatges, etc.

  • Identificar els tipus d'interfícies de sortida: presentar els resultats, el tipus de perifèrics de visualització, d'audició, etc.

  • Identificar el tipus d'usuari: per exemple, un expert en el tema, algú que ja en sap una mica, el públic en general, etc.

  • Definir el tipus d'aplicació: interacció explorativa, manipulativa o contributiva.

  • Definir el tema concret de l'aplicació: analitzant el tipus d'interacció, es troba una metàfora que hi està relacionada.

  • Identificar els processos: algoritmes, càlculs, comportaments, lleis subjacents, etc.

  • Identificar els objectes virtuals necessaris: objectes relacionats amb la metàfora d'interacció, encara que aquests objectes poden ser completament abstractes.

  • Identificar les dades de treball: dades d'entrada, resultats intermedis, resultats finals, tipus de dades, etc.

  • Identificar les eines de modelatge d'objectes: modelatge geomètric, algoritmes generatius, eines CAD, escàner, etc.

  • Identificar les eines de desenvolupament: biblioteques de programació, entorns de desenvolupament, programes controladors de perifèrics, etc.

Aquesta estratègia facilita de dissenyar interfícies lògiques que no representen necessàriament interfícies físiques, ja que no hi ha un conjunt que les determini a priori. Això també obre la possibilitat de definir mapatges que no es corresponen amb models d'esdeveniments del nostre entorn físic.
La llibertat de disseny d'aquests dos elements d'una aplicació de realitat virtual facilita de desenvolupar interaccions innovadores, fins a l'extrem de dissenyar experiències amb estímuls que no estan formats com a sistema coherent en el sentit que forçaria una aplicació content-driven.
En aquest cas, la metàfora i el context de l'aplicació per a la interacció ha d'emergir a partir d'un estudi detallat de la interacció proposada, que esbossa analogies traçades des d'aquesta interacció fins al context del qual s'ha extret la metàfora.

5.4.Avaluar la diferència

La idea que hi ha al darrere de l'estratègia interaction-driven és la de concentrar-se en la interacció de l'usuari en comptes de fer-ho en un contingut especificat pel tema de l'aplicació. De fet, en l'estratègia interaction-driven no hi ha a priori un tema per a l'aplicació. Això aporta una gran llibertat de disseny d'interfícies i de relacions d'interacció als desenvolupadors, de manera que es poden estudiar les maneres en què els usuaris s'acosten i reaccionen a les aplicacions de realitat virtual.
Fixem-nos en els quatre exemples de l'apartat d'interfícies:
  • Una aplicació de visualització: el túnel de vent virtual (TVV).

  • Una aplicació mèdica: la de cirurgia laparoscòpica (CLP).

  • Una aplicació lúdica: l'atracció d'Aladí de Disney (ALA).

  • Una aplicació artística: la d'El ball del fanalet o Lightpools (BFL).

Es pot veure clar en les tres primeres que el contingut guia el disseny.
5.4.1.TVV
  • Definir el tema concret de l'aplicació: la simulació d'un túnel de vent.

  • Definir el tipus d'aplicació: interacció contributiva.

  • Identificar el tipus d'usuari: expert en el tema.

  • Identificar els objectes virtuals necessaris: model d'una ala o un buc.

  • Identificar les dades de treball: dades sobre el flux del vent, dades sobre les posicions d'emissió dels fils de fum, dades de la forma del model.

  • Identificar els processos: algoritmes de dinàmica de fluids, càlculs d'aerodinàmica, comportaments dels fils de fum, lleis subjacents de resistència i dinàmica de partícules.

  • Identificar els tipus d'interfícies d'entrada: sensors de posició de la mà (com a posicionador dels emissors de fils de fum i com a modificadora del perfil del model), emissors de fils de fum virtual com a interfícies d'usuari.

  • Identificar els tipus d'interfícies de sortida: visualització sobre un boom de tots els processos d'aerodinàmica.

  • Identificar les eines de modelatge d'objectes: modelatge geomètric per al model d'ala o de buc, algoritmes generatius per als fils de fum.

  • Identificar les eines de desenvolupament: biblioteques de programació.

5.4.2.CLP
  • Definir el tema concret de l'aplicació: la simulació d'una operació quirúrgica per laparoscòpia.

  • Definir el tipus d'aplicació: interacció contributiva.

  • Identificar el tipus d'usuari: expert en el tema.

  • Identificar els objectes virtuals necessaris: model d'un cos humà amb òrgans interns.

  • Identificar les dades de treball: dades sobre la forma, la consistència i la posició dels òrgans interns, dades sobre la posició de les eines virtuals, dades sobre el dany que s'ha de reparar, etc.

  • Identificar els processos: comportaments de deformació, d'incisió, etc., lleis subjacents de resistència.

  • Identificar els tipus d'interfícies d'entrada: sensors per a les eines físiques i mapatges a les eines virtuals.

  • Identificar els tipus d'interfícies de sortida: visualització sobre un monitor, com passa en les operacions reals.

  • Identificar les eines de modelatge d'objectes: modelatge geomètric per a tots els objectes.

  • Identificar les eines de desenvolupament: biblioteques de programació.

5.4.3.ALA
  • Definir el tema concret de l'aplicació: un recorregut pel poblat d'Aladí.

  • Definir el tipus d'aplicació: interacció explorativa.

  • Identificar el tipus d'usuari: públic en general.

  • Identificar els objectes virtuals necessaris: models dels edificis del poblat, dels personatges que es troben, de la catifa màgica, etc.

  • Identificar les dades de treball: dades sobre els àmbits del poblat (on passen coses diferents).

  • Identificar els processos: algoritmes de moviment de la catifa màgica, comportaments dels personatges.

  • Identificar els tipus d'interfícies d'entrada: sensors perquè l'usuari controli la catifa màgica, sensors d'orientació del cap.

  • Identificar els tipus d'interfícies de sortida: visualització sobre un casc.

  • Identificar les eines de modelatge d'objectes: modelatge geomètric per a tot l'entorn.

  • Identificar les eines de desenvolupament: biblioteques de programació.

En canvi, en el darrer cas, encara que sembli que el tema del ball del fanalet (un ball de festa català en què les parelles ballen amb un fanalet de paper amb una espelma encesa) és el que va guiar el desenvolupament, aquesta aplicació es va desenvolupar amb l'estratègia interaction-driven. És a dir, no es tenia cap tema de fons, sinó que, partint de la interacció dissenyada, el tema va sortir de manera espontània. Com que aquesta estratègia és menys coneguda que la content-driven, analitzem l'exemple següent amb més deteniment:
5.4.4.BFL
Identificar els tipus d'interfícies d'entrada i sortida: l'objectiu principal era el de dissenyar una aplicació multiusuària que permetés d'establir interacció social entre els usuaris i els aïllés com fan la majoria d'aplicacions de realitat virtual multiusuària.
D'aquesta manera es va desenvolupar una interfície en què l'entorn fos projectat sobre el terra des del sostre i fos, també, prou gran per a encabir-hi fins a quatre usuaris. Els usuaris havien d'explorar l'entorn tenint-ne una visió parcial i havent-se de moure per tot l'espai per a descobrir els elements. Per tant, feien falta uns sensors de posicionament espacial, sense fil.
Alhora, les interfícies lògiques havien de ser una "finestra" d'exploració a través de la qual cada usuari descobrís l'entorn. La idea d'exploració i de "finestra" va donar lloc a la interfície lògica d'un focus de llum virtual.
  • Identificar el tipus d'usuari: públic en general.

  • Definir el tipus d'aplicació: interacció contributiva: es volia que els usuaris poguessin modificar l'entorn de manera que les seves accions afectessin els altres usuaris.

  • Definir el tema concret de l'aplicació: fins a aquest punt, no apareix el tema de fons en l'aplicació. Basant-se en els raonaments de les fases anteriors, es va considerar que la metàfora de la pista de ball era apropiada per a aquesta experiència multiusuària. Es va triar el ball del fanalet per les raons següents:

    • És un ball social –promovia la interacció entre els usuaris.

    • La parella aguanta un fanalet de paper amb una espelma encesa –aporta la metàfora adequada per al focus de llum virtual o lightpool, de manera que els usuaris poden explorar l'entorn.

    • La llum virtual del fanalet servia com a energia per a desencadenar canvis en l'entorn, i actuava d'element d'interacció.

  • Identificar els processos: els algoritmes principals són els dels comportaments dels lightpools i dels objectes de l'entorn. Es van desenvolupar a partir d'una descripció mitjançant autòmats finits.

  • Identificar els objectes virtuals necessaris: encara que no pretenien representar res en concret (formes abstractes), els objectes de l'entorn es van modelar en un modelador 3D. No obstant això, aquests objectes experimenten transformacions en temps real dins de l'entorn.

  • Identificar les dades de treball: les dades d'entrada són, principalment, les dades de posició dels sensors, mitjançant els quals l'usuari pot explorar i alterar l'entorn.

  • Identificar les eines de modelatge d'objectes: com s'ha dit, es va utilitzar un modelador 3D estàndard.

  • Identificar les eines de desenvolupament: es van utilitzar biblioteques de programació per a llenguatge C.

D'aquesta manera es pot veure que la metàfora i el contingut temàtic de l'aplicació apareixen a mig camí del desenvolupament, quan s'han especificat i dissenyat la interacció i les interfícies.
Queda clar que es treballa sobre marcs de referència molt diferents quan s'està en content-driven que quan s'està en interaction-driven. Pràcticament s'inverteix tot el plantejament. No es pot dir que una estratègia sigui millor que l'altra en general. Cada estratègia és adequada en situacions diferents segons allò que es vol prioritzar: el tema i el contingut o la interacció i les interfícies.
És important de remarcar que aquestes estratègies no són les úniques que es poden utilitzar. Simplement s'ha de dir que són les úniques que fins ara s'han formalitzat.

6.Equip de producció

La complexitat de producció d'una aplicació de realitat virtual (una producció audiovisual digital interactiva, generada en temps real) és, en molts casos, la mateixa que una producció cinematogràfica. Per exemple, la producció d'un videojoc pot durar d'un a dos anys, amb una quantitat de personal i de recursos involucrats que és realment impressionant.
Una producció d'una experiència de realitat virtual complexa és inaccessible a un sol desenvolupador o a un sol creatiu. S'ha de muntar un equip realment interdisciplinari per a aconseguir controlar els múltiples aspectes que s'han vist en aquesta assignatura. Els diversos experts han de treballar coordinats sota una estratègia de desenvolupament i les ordres d'un director de projecte.
Aquest equip ha de constar dels experts següents:
  • Guionista o guionistes: defineix el sentit general de l'experiència o el tema principal. Defineix allò que pot fer, veure, sentir, etc., l'usuari. Defineix els elements que intervenen (objectes, entorns, comportaments, etc.) en l'àmbit descriptiu.

  • Coordinador tècnic: ha de conèixer tota la tecnologia i té una visió global de tot el que s'ha de desenvolupar. Ha de tenir capacitats d'anàlisi de problemes, de disseny d'algoritmes i de coordinació d'equip. També ha d'entendre els conceptes de contingut de la producció i s'ha d'entendre amb el coordinador artístic.

  • Coordinador artístic: ha de controlar que l'experiència aconsegueixi els objectius de concepte i estètica (en el sentit d'aspecte o de percepció) que s'havien marcat. Ha de tenir bones nocions de la tecnologia i s'ha d'entendre bé amb el coordinador tècnic.

  • Programador o programadors: ha de conèixer a fons l'entorn de desenvolupament per a desenvolupar eficientment el codi dels algoritmes dissenyats, i extreure'n tota la potència.

  • Dissenyador o dissenyadors: ha d'imaginar i de consolidar el disseny de l'experiència, tant en l'àmbit intern de continguts amb els objectes i entorns virtuals com en l'àmbit extern de la instal·lació.

  • Modelador o modeladors: ha de conèixer a fons les eines de modelatge per a generar i optimitzar els objectes necessaris en l'experiència.

  • Sonoritzador o sonoritzadors: ha de conèixer a fons el disseny de sons i els ha de saber incorporar o generar en temps real en l'experiència.

  • Expert en interfícies: ha de saber dissenyar la manera més bona d'interacció per a l'experiència concreta. Ha de ser expert en interacció persona-ordinador i ha de tenir bons coneixements d'ergonomia i antropometria.

  • Expert en electrònica: ha de saber dissenyar tot el circuit i la part elèctrica de les interfícies físiques per a donar-hi la funcionalitat necessària, adaptar-ho a les necessitats que ha especificat l'expert en interfícies i connectar-ho al sistema.

En produccions mitjanes i petites, les figures no han de ser pas totes persones diferents, però és realment molt difícil que una sola persona pugui fer totes les tasques ella sola. Evidentment, això posa en una situació difícil el científic o tècnic pur o a l'artista o dissenyador pur que es volen acostar a aquest mitjà per a fer portar a cap una aplicació o una experiència de realitat virtual que els permeti d'aconseguir els seus objectius.

Activitats

Es proposa d'aplicar les fases de desenvolupament que s'han descrit en aquest mòdul a l'aplicació de realitat virtual que s'ha seleccionat en la primera pràctica, i analitzar i desenvolupar els punts següents:
  • Quina aproximació de guionatge hi és l'adequada.

  • Quina estratègia de desenvolupament s'hi adapta més bé.

Bibliografia

Austakalnis, S.; Blatner, D. (1992). El espejismo de silicio. Arte y ciencia de la realidad virtual. Barcelona: Página Uno, SL.
Bryson, S. (1995). "Approaches to the successful design and implementation of VR applications". A: R. A. Earnshaw; J. A. Vince; H. Jones (ed.).Virtual Reality Applications. Londres: Academic Press Ltd.
Burdea, G. C.; Coiffet, P. (1994). Virtual Reality Technology. Nova York: John Wiley and Sons, Inc.
Earnshaw, R. A.; Gigante, M. A.; Jones, H.(ed.) (1993). Virtual Reality Systems. Londres: Academic Press Ltd.
Earnshaw, R. A.; Vince, J. A.; Jones, H.(ed.) (1995). Virtual Reality Applications. Londres: Academic Press Ltd.
Erickson, T. D. (1990). "Working with interface metaphors". A: B. Laurel (ed.).The Art of Human Computer Interface Design(ed. 1998, 11a. ed., pàg. 65-73). Reading, MA: Addison Wesley.
Fisher, S. (1990). "Virtual interface environments". A: B. Laurel (ed.).The Art of Human-Computer Interface Design(ed. 1998, 11a. ed., pàg. 423-438). Reading, MA: Addison-Wesley.
Hoberman, P.; Parés, N.; Parés, R. (1999). "El Ball del Fanalet or Lightpools". A:Proceedings of International Conference on Virtual Systems and Multimedia(pàg. 270-276). Dundee, RU: VSMM'99.
Hoberman, P.; Parés, N.; Parés, R. (1999). "Lightpools o El Ball del Fanalet". A:CEIG'99. IX Congrés Espanyol d'Informàtica Gràfica. Jaén: Universidad de Jaén.
Hopcroft, J. E. (1979). Introduction to Automata Theory, Languages and Computation. Reading, MA: Addison-Wesley Inc.
Kahn, P.; Peters, R.; Landow, G. P. (1995). "Three fundamental elements of visual rhetoric in hypertext".Designing User Interfaces for Hypermedia, Research Reports ESPRIT. Springer Verlag.
Kalawsky, R. S. (1993). The Science of Virtual Reality and Virtual Environments. Reading, MA: Addison-Wesley Ltd.
Laurel, B.(ed.) (1998). The Art of Human-Computer Interface Design(ed. 1990, 11a. ed.). Reading, MA: Addison-Wesley.
Loeffler, C. E.; Anderson, T.(ed.) (1994). The Virtual Reality Casebook. Nova York: Van Nostrand Reinhold.
Magnenat-Thalmann, N.; Thalmann, D. (1993). "The artificial life of synthetic actors".IEICE Transactions(vol. J76-D-II, núm. 8). Japó.
Magnenat-Thalmann, N.; Thalmann, D.(ed.) (1994). Artificial Life and Virtual Reality. Londres: John Wiley and Sons, Inc.
Magnenat-Thalmann, N.; Thalmann, D.(1995, juliol). "Digital actors for interactive television". A:Proceedings IEEE, Special Issue on Digital Television, Part 2.
Mandelbrot, B. B. (1982). The Fractal Geometry of Nature. Mountain View, CA: W. H. Freeman & Co.
Motion Factory.Motivate Intelligent Digital Actor System. [Programari de disseny de comportaments]http://www.motion-factory.com/
Mullet, K.; Sano, D. (1994). Designing Visual Interfaces: Communication Oriented Techniques. Mountain View. CA: SunSoft Press.
Multigen-Paradigm, Inc.MultiGen. [Programari de modelatge i d'optimització d'objectes virtuals]http://www.multigen.com/
Noser, H.; Thalmann, D.(1996, juny). "The animation of autonomous actors based on production rules". A:Proceedings Computer Animation '96. IEEE Computer Society Press.
Parés, N.; Parés, R. (1993). "Galeria virtual". A:Proceedings First Eurographics Workshop on Virtual Environments. Barcelona: Eurographics.
Parés, N.; Parés, R. (1994). "Galeria virtual: a platform for non-limitation in contemporary art?". A:Proceedings Virtual Reality and Applications. Leeds, RU: Computer Graphics Society.
Parés, N.; Parés, R. (1994). "Galeria virtual". A:Anys 90. Distància Zero. Barcelona: Generalitat de Catalunya, Departament de Cultura.
Parés, N.; Parés, R. (1995). "Galeria virtual: a platform for non-limitation in contemporary art?". A: R. A. Earnshaw; J. A. Vince; H. Jones (ed.).Virtual Reality Applications. Londres: Academic Press Ltd.
Parés, N.; Parés, R. (1996). "Galeria virtual". A: K. Atherton (ed.).Virtual Reality and the Gallery. Londres: Chelsea College of Art and Design / Tate Gallery. [CD-ROM]
Parés, N., Parés, R. (1996). "Interacción con estímulos digitales en tiempo real". A: J. LebreroTecnología punta y disidencia cultural. Donostia: Arteleku.
Parés, N.; Parés, R. (1997). "Galeria virtual".Formats. Revista de Comunicació Audiovisual(vol. 1). Barcelona: Universitat Pompeu Fabra, Secció de Documents. [Revista digital a Internet:http://www.iua.upf.es/formats/]
Parés, N.; Parés, R. (2000). "Interaction-driven virtual reality application design. A particular case: 'El Ball del Fanalet or Lightpools'".Presence: Teleoperators and Virtual Environments. Cambridge, MA: MIT Press.
Parés, N. (2001). "Aproximació informàtica a les propietats específiques de la realitat virtual, com a mitjà audiovisual digital interactiu generat a temps real, a través del projecte interdisciplinari Galeria virtual". Tesi doctoral presentada a la Universitat Pompeu Fabra.
Ribas, J. I.; Freixa, P.; Julià, D.; Berenguer, X.; Parés, R. (1998). "Modelos de interactividad en el CD-ROM".Formats. Barcelona: Universitat Pompeu Fabra.
Rowley, T. W. (1993). "Virtual reality products". A: R. A. Earnshaw; M. A. Gigante; H. Jones (ed.).Virtual Reality Systems. Londres: Academic Press Ltd.
Sanabre, C. (2000). Pensando en multimedia, mucho más que usabilidad. Antipasta.http://antipasta.editthispage.com/
Shneiderman, B. (1998). Designing the User Interface. Strategies for Effective Human-Computer Interaction(3a. ed.). Reading, MA: Addison-Wesley Longman, Inc.
Viewpoint Digital.3D Geometries[Empresa d'objectes 3D]http://www.viewpoint.com/
Vince, J. (1995). Virtual Reality Systems. Londres: Addison-Wesley.
Voss, R. F. (1985). "Random fractal forgeries". A: R. A. Earnshaw i altres (ed.).Fundamentals for Computer Graphics(pàg. 805). Berlín: Springer-Verlag.
Waxelblat, A.(ed.) (1993). Virtual Reality Applications and Explorations. Londres: Academic Press Inc.
http://www.w3.org/WAI/Web Accessibility Initiative (WAI)