UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIAS ELÉCTRICA ELECTRÓNICA SISTEMAS Y TELECOMUNICACIONES
PROGRAMA DE INGENIERIA DE SISTEMAS
TEMA:
METODOLOGÍA PARA EL DESARROLLO DE AMBIENTES VIRTUALES EN LA REPRESENTACIÓN DE ESPACIOS DE LA VIDA REAL
AUTOR: IDELSON RAFAEL CASTAÑO HERRERA
PAMPLONA COLOMBIA Enero del 2012
UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIAS ELÉCTRICA ELECTRÓNICA SISTEMAS Y TELECOMUNICACIONES
PROGRAMA DE INGENIERIA DE SISTEMAS
TRABAJO PRESENTADO PARA OPTAR POR EL TITULO DE INGENIERO DE SISTEMAS
TEMA METODOLOGÍA PARA EL DESARROLLO DE AMBIENTES VIRTUALES EN LA REPRESENTACIÓN DE ESPACIOS DE LA VIDA REAL
AUTOR: IDELSON RAFAEL CASTAÑO HERRERA DIRECTOR: EDGAR ALEXIS ALBORNOZ ESPINEL
PAMPLONA COLOMBIA Febrero de 2012
UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIAS ELÉCTRICA ELECTRÓNICA SISTEMAS Y TELECOMUNICACIONES
PROGRAMA DE INGENIERIA DE SISTEMAS
TRABAJO PRESENTADO PARA OPTAR POR EL TITULO DE INGENIERO DE SISTEMAS
TITULO
METODOLOGÍA PARA EL DESARROLLO DE AMBIENTES VIRTUALES EN LA REPRESENTACIÓN DE ESPACIOS DE LA VIDA REAL.
FECHA DE INICIO DEL TRABAJO: FECHA DE TERMINACIÓN DEL TRABAJO:
Septiembre de 2011 Febrero de 2012
NOMBRES Y FIRMAS DE AUTORIZACIÓN PARA SUSTENTAR:
AUTOR: DIRECTOR:
DIR. DEL PROGRAMA
JURADO CALIFICADOR:
PRESIDENTE: OPONENTE: SECRETARIO:
PAMPLONA COLOMBIA
Febrero de 2012 UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA
DEDICATORIA Dedico este trabajo de grado a Dios, a mis padres y a mi novia Mayra. A Dios por que ha estado conmigo en cada paso que doy, cuidándome y dándome fortaleza para continuar, a mis padres y demás familiares quienes han velado por mi bienestar y educación siendo una parte muy importante para este proceso, y a mi novia por dame fortaleza mental y por ser un apoyo incondicional en estos últimos tres años de mi vida, le doy gracias a todos porque sin ellos no lo hubiera podido lograr
AGRADECIMIENTOS Agradecimientos a mis padres Marceliano Castaño y Gladys Herrera y a mis hermanos por todo el apoyo moral como económico, a mis compañeros porque siempre que necesite de ellos estuvieron ahí para tenderme su mano, a mis profesores por inculcarme los valores humanos los cuales deben ser aliados para enfrentar a la universidad de la vida, y enseñarme a no decaer y a enfrentar los problemas con la frente en alto.
RESUMEN Con el gran crecimiento que ha tenido la realidad virtual en los últimos años, se hace necesario una metodología que facilite la elaboración de ambientes virtuales y que sea de fácil acceso, aunque que existen muchas entidades y firmas que son grandes pioneras en este campo (EAGAMES, MICROSOFT ESTUDIO GAMES), las metodologías utilizadas por estas son de uso internos, por lo cual las personas del común no tienen acceso a estas metodologías. Con el desarrollo de este trabajo de grado se pretende establecer una metodología para la creación de ambientes virtuales que sean útiles para las personas, dándoles las bases metodológicas para el diseño y creación de estos mundos virtuales, facilitando así el desarrollo de los mismos.
ABSTRACT With
the
huge growth
methodology is
that
necessary to
has
taken virtual reality in facilitate
the
recent
years, a
development of virtual
environments and is easily accessible, although there are many organizations and companies
that are
greatpioneers
MICROSOFT GAMES STUDIO),
the
in this
field
(EAGAMES ,
methodologies used
by
these are internal use, so that ordinary people have no access to these methodologies. With
the development
of
this grade is
to establish
a
methodology for
creating virtual environments that are useful for people, giving them the methodological basis for the design and creation of these virtual worlds, thereby facilitating their development.
Tabla de contenido Capitulo 1 ................................................................................................................. 1 1.1. Introducción .......................................................................................................... 1 1.2. Justificación ........................................................................................................... 1 1.3. Objeto .................................................................................................................... 2 1.4. Necesidades y Problemas ...................................................................................... 2 1.5. Delimitaciones ....................................................................................................... 3 1.5.1. Objetivo general............................................................................................. 3 1.5.2. Objetivos Específicos ..................................................................................... 3 Capitulo 2 ................................................................................................................. 4 2.
Marco teórico ........................................................................................................ 4
2.1. Realidad virtual...................................................................................................... 4 2.1.1. Historia de la realidad virtual ......................................................................... 5 2.1.2. Componentes de un sistema de realidad virtual ........................................... 6 2.1.3. Características dela realidad virtual .............................................................. 7 2.1.4. Arquitectura de un sistema de realidad virtual ............................................. 7 2.1.5. Clasificación de los sistema de realidad virtual ............................................ 9 2.1.6. Clasificación de la realidad virtual según el hardware .................................. 9 2.1.7. Clasificación de la realidad virtual según la interfaz con el usuario ............ 10 2.2. Ambientes virtuales............................................................................................. 12 2.2.1. Tipos de ambientes virtuales ....................................................................... 12 2.2.2. Ambientes virtuales inmersivos ................................................................... 13 2.2.3. Ambientes virtuales Semi-inmersivos ......................................................... 13 2.2.4. Ambientes virtuales no inmersivos.............................................................. 13 2.2.5. Lenguajes para la creación de ambientes virtuales ..................................... 14 2.2.6. XML(eXtensible Markup Language) ............................................................. 14 2.2.7. VRML(Virtual Reality Modeling Language) .................................................. 14 2.2.8. X3D(eXtensible 3D) y VTK (Visualization TollKit) ......................................... 15 2.2.9. Herramientas utilizadas en los ambientes virtuales .................................... 17 2.2.10. Navegadores ................................................................................................ 17
2.2.11. Herramientas de modelado ......................................................................... 17 Capitulo 3 ............................................................................................................... 18 3.
Estado del arte .................................................................................................... 18
3.1. SENDA: Metodología de desarrollo de mundos virtuales habitados .................. 18 3.2. Metodología para la creación de ambientes virtuales 3D ................................. 22 3.3. Metodología de diseño de entornos virtuales por Kaur ..................................... 24 3.4. Metodología de diseño de entornos virtuales según Fencott ............................ 26 3.5. Comparación entre las metodologías anteriores................................................ 30 Capitulo 4 ............................................................................................................... 32 4. Planteamiento de un proceso metodológico para la creación de ambientes virtuales ..................................................................................................................... 32 4.1. Selección del espacio a modelar y previo estudio .............................................. 34 4.1.1. Factibilidad técnica ...................................................................................... 35 4.1.2. Factibilidad operativa .................................................................................. 35 4.1.3. Factibilidad de fecha .................................................................................... 36 4.1.4. Factibilidad económica ................................................................................ 36 4.2. Planificación del proyecto de creación de un ambiente virtual ......................... 38 4.3. Obtención de requerimientos ............................................................................. 40 4.3.1. Descripción del proyecto ............................................................................. 41 4.3.2. Requerimientos............................................................................................ 41 4.3.2.1. Requerimientos funcionales .................................................................... 42 4.3.2.2. Requerimientos no funcionales............................................................... 42 4.3.3. Formulación de la idea inicial ...................................................................... 42 4.3.4. Recursos necesarios ..................................................................................... 42 4.4. Diseño .................................................................................................................. 44 4.4.1. Pasos para el diseño del ambiente virtual ................................................... 44 4.4.1.1. Identificar el espacio................................................................................ 44 4.4.1.2. Identificación de los objetos.................................................................... 45 4.4.1.3. Descripción de atributos ......................................................................... 45 4.4.1.4. Identificación de eventos ........................................................................ 46 4.5. Desarrollo e Integración del modelo ................................................................... 47 4.5.1. Digitar el código completo ........................................................................... 47 4.5.2. Usar una herramienta para crear gráficamente el objeto........................... 48
4.5.3. Transformación de archivos......................................................................... 48 4.5.4. Combinar los métodos anteriores ............................................................... 48 4.6. Pruebas ................................................................................................................ 50 4.6.1. Etapa uno: Diseñador de objetos Gráficos .................................................. 51 4.6.1.1. Validar objetos según los requerimientos............................................... 52 4.6.1.2. Comprobar Poligonización ...................................................................... 52 4.6.1.3. Validar animaciones ................................................................................ 53 4.6.1.4. Verificar exportación de objeto............................................................... 54 4.6.1.5. Evaluación/Informes................................................................................ 55 4.6.2. Etapa dos: Programador .............................................................................. 56 4.6.2.1. Importar objeto ....................................................................................... 56 4.6.2.2. Tiempo de ejecución ............................................................................... 57 4.6.2.3. Ejecución y animación de objetos ........................................................... 57 4.6.2.4. Tolerancia de Hardware .......................................................................... 58 4.6.2.5. Validación de objetos según requerimientos, validar animación y comprobación de polígonos ..................................................................... 59 4.6.2.6. Evaluación/Informes................................................................................ 59 4.6.3. Etapa tres: usuario de prueba...................................................................... 60 4.6.3.1. Instalación del mundo virtual .................................................................. 60 4.6.3.2. Maniobralidad ......................................................................................... 61 4.6.3.3. Efectos Especiales .................................................................................... 61 4.6.3.4. Tolerancia a errores Externos.................................................................. 62 4.6.3.5. Evaluación/Informes................................................................................ 63 Capitulo 5 ............................................................................................................... 64 Aplicación de la metodología para creación de ambientes virtuales para modelar el laboratorio LI 109 de la universidad de Pamplona. 5.1 Selección del espacio a modelar y previo estudio ................................................ 64 5.2 Planificación del proyecto de creación del ambiente ........................................... 66 5.3 Obtención de requerimientos ............................................................................... 67 5.4 Diseño .................................................................................................................... 69 5.5 Desarrollo e integración del modelo ..................................................................... 73 5.6 Pruebas .................................................................................................................. 79
Conclusión .............................................................................................................. 88 Recomendaciones................................................................................................... 89 Glosario de Términos .............................................................................................. 90 Referencias bibliográficas ....................................................................................... 91
Índice de Figura Figura 2.1. Componentes de un sistema de realidad virtual ................................... 6 Figura 2.2. Arquitectura de un sistema de realidad virtual ..................................... 8 Figura 3.1. Desarrollo de mundos virtuales habitado según SENDA ..................... 21 Figura 3.2. Diseño de entorno virtuales según Fencott ........................................ 27 Figura 3.3. Categorías del modelo de Fencott ....................................................... 30 Figura 4.1. Metodología para la creación de ambientes virtuales ........................ 33 Figura 4.2. Fase dos: Obtención de requerimientos ............................................. 43 Figura 4.3. Etapa de diseño ................................................................................... 46 Figura 4.4. Diagrama de ensamble ........................................................................ 49 Figura 4.5. Etapa uno del proceso de pruebas ...................................................... 52 Figura 4.6. Etapa dos del procesos de pruebas ..................................................... 56 Figura 4.7. Etapa tres del proceso de pruebas ...................................................... 60 Figura 5.1. StoryBoard ........................................................................................... 68 Figura 5.2. Fotografías del espacio real ................................................................. 69 Figura 5.3. Mesa 3D ............................................................................................... 74 Figura 5.4. Silla 3D ................................................................................................. 74 Figura 5.5. Lámpara 3D .......................................................................................... 75 Figura 5.6. Puerta 3D ............................................................................................. 75 Figura 5.7. Computador 3D ................................................................................... 76 Figura 5.8. Pared 3D .............................................................................................. 76 Figura 5.9. Piso 3D ................................................................................................. 77 Figura 5.10. Ventanas 3D ....................................................................................... 77 Figura 5.11. Ambiente terminado parte exterior .................................................. 78 Figura 5.12. Ambiente terminado parte interior ................................................... 78
Índice de Formulario Formulario 4.1. Selección del espacio............................................................................. 34 Formulario 4.2. Estudio de factibilidad ........................................................................... 37 Formulario 4.3. Cronograma de actividades................................................................... 40 Formulario 4.4. Obtención de requerimientos ............................................................... 43 Formulario 4.5. Etapa de diseño ..................................................................................... 46 Formulario 4.6 Caso de prueba Según requerimientos .................................................. 52 Formulario 4.7. Caso de prueba Poligonización ............................................................. 53 Formulario 4.8. Caso de prueba Validar Animación ....................................................... 54 Formulario 4.9. Caso de prueba Validar exportación de objeto..................................... 55 Formulario 4.10. Casos de prueba importar objetos ...................................................... 56 Formulario 4.11. Caso de prueba tiempo de ejecución ................................................. 57 Formulario 4.12. Caso de prueba Ejecución y animación de objeto .............................. 58 Formulario 4.13. Caso de prueba Tolerancia de Hardware ............................................ 59 Formulario 4.14. Caso de prueba instalación del mundo virtual.................................... 61 Formulario 4.15. Caso de prueba Maniobralidad ........................................................... 61 Formulario 4.16.Caso de prueba Efecto especiales ........................................................ 62 Formulario 4.17. Caso de prueba Tolerancia a errores externos ................................... 62
CAPITULO 1 1.1. INTRODUCCIÓN El avance tecnológico del último siglo ha catapultado la realidad virtual en un sin número de aplicaciones desarrollando ambientes, simuladores y objetos en 3D, entre otros. Los ambientes virtuales son espacios tridimensionales reales o imaginarios formados por imágenes generadas por la computadora (Render) donde los usuarios pueden interactuar en estos mundos, dando la sensación de estar dentro de dicho ambiente. Esta sensación es generada por la rápida generación de imágenes de alta calidad en segundos desplegadas en un área que cubre un amplio campo de visión.
Las metodologías existentes no cubren todos los aspectos relevantes en cuanto a la creación de ambientes virtuales, y las que si cubren estos aspectos no son de fácil acceso, ya que son desarrolladas por empresas especializadas y su uso es exclusivo.
Con el desarrollo del trabajo de grado se sentarán las bases metodológicas para el diseño y creación de estos mundos virtuales.
1.2. JUSTIFICACIÓN: La realidad virtual ha tomado una gran relevancia en los últimos años ya que permite dar la sensación de inmersión en un ambiente que se puede encontrar a grandes distancias del sitio donde se encuentra el espectador o un ambiente muy peligroso para una persona, donde primero tiene que hacer algún tipo de entrenamiento o un ambiente que no existe y es recreado a partir de la
1
imaginación del diseñador, dando la posibilidad de poder modificar los eventos que ahí ocurren. Hoy en día los ambientes virtuales han tomado un gran auge, incluso han llegado a abarcar grandes campos de la ciencia (Educación, Medicina, Entretenimiento, Cine, etc.), dando así una alternativa de solución a algunos problemas, facilitando la vida diaria de las personas. Las metodologías para el desarrollo de ambientes virtuales son una necesidad para cualquier diseñador de realidad virtual y se convierten en el apoyo fundamental cuando se quiere un proyecto de este tipo, ya que da las pautas para poder desarrollar estos ambientes de una forma más eficiente.
1.3. Objeto: El objeto general de este trabajo de grado es proponer ciertas bases metodológicas para el diseño y creación de ambientes virtuales.
1.4. Necesidades y Problemas: Con el avance que ha tenido la computación gráfica en los últimos años el ser humano se ha visto en la necesidad de percibir la sensación de explorar y acceder a espacios inaccesibles o con riesgos sin poner en peligro su vida, debido a esto la realidad virtual ha tomado un papel imprescindible, ya que a través de esta tecnología se pueden modelar diferentes ambientes o escenarios dando un aspecto real llegando incluso a tener la sensación de inmersión del usuario. Las metodologías existentes para ambientes virtuales son muy limitadas, no cubren todos los aspectos necesarios para la creación de ambientes virtuales, dejando muchos aspectos a la imaginación del diseñador, además son específicas solo para algún tipo de ambiente en especial (ambientes estáticos, Videojuegos, etc.).
2
Las empresas desarrolladoras de estos ambientes tienen sus metodologías de desarrollo para sí misma y no las dan a conocer al público. Se hace necesario en un mundo donde la masificación de las tecnologías de hardware como de software y de interconexión existan metodologías que abarquen un poco más en los distintos ambientes virtuales y faciliten el desarrollo de estos haciendo así un poco más fácil las actividades diarias de las personas.
1.5. Delimitación
1.5.1.
Objetivo General.
Definir una metodología para la creación de ambientes virtuales basados en software libre. 1.5.2.
Objetivos Específicos.
Consultar sobre el estado del arte. Documentar el proceso metodológico para la creación de ambientes virtuales. Aplicar la metodología desarrollada en la creación de un ambiente virtual. Validar el diseño y la creación del ambiente virtual desarrollado usando la metodología propuesta en el trabajo de grado titulado definición de un procedimiento para la aplicación de pruebas en el desarrollo de mundos virtuales, autor Ellelver A Meneses J. Unipamplona 2008.
3
CAPÍTULO 2 2. MARCO TERICO 2.1. REALIDAD VIRTUAL.
El término Realidad Virtual es en sí mismo paradójico ya que se compone de dos conceptos prácticamente opuestos. Real: Aquello que tiene existencia verdadera y efectiva. Virtual: Que tiene virtud de producir un efecto, aunque no lo produce de presente. Frecuentemente en oposición a lo efectivo o real. El término Realidad Virtual por tanto conlleva al significado confuso de “Realidad No Real”. Por esta razón algunos investigadores prefieren usar otros términos como: Ciberespacio, Realidad Artificial, Ambientes sintéticos, etc. [1]. La realidad virtual es por lo general un mundo virtual generado por ordenador (o sistemas informáticos) en el que el usuario tiene la sensación de estar en el interior de este mundo, y dependiendo del nivel de inmersión este puede interactuar con este mundo y los objetos del mismo en un grado u otro. No obstante el termino realidad virtual también puede aplicarse a otros mundos virtuales generados por otros medios, como por ejemplo a través de la imaginación (sueños, libros, cine, etc.). La realidad virtual ideal sería la que desde una inmersión total permita una interacción sin límites con el mundo virtual, además de aportar como mínimo los mismos sentidos que se tienen en el mundo real (vista, oído, tacto, gusto, olfato). Sin embargo, la mayoría de los sistemas actuales se centran en únicamente 2 sentidos (vista y oído), debido a la dificultad y costes de simular los otros sentidos [2].
4
2.1.1.
Historia de la realidad virtual.
Históricamente, se suele señalar como el origen de la realidad virtual a un sistema desarrollado por la compañía Philco Corporation en el año 1958. Este sistema había sido diseñado para lograr la generación de entornos artificiales, a los cuales podían acceder las personas mediante la utilización de un dispositivo visual en forma de casco, que podía ser controlado a través de los movimientos
que
los
usuarios
realizaban
con
sus
cabezas.
Posteriormente, diversos científicos crearon una serie de cascos más avanzados, que permitían examinar los ambientes gráficos desarrollados para tal fin. A finales de la década de los sesenta, y debido al apoyo que recibieron las investigaciones avocadas al campo de la realidad virtual de parte de la NASA, comenzaron a crearse los ambientes interactivos, los cuales ofrecían la posibilidad de que los usuarios pudieran participar del entorno virtual con todo su cuerpo. Poco tiempo después, los avances en esta área lograron incorporar un sinfín de alternativas que mejoraban la experiencia en el uso de la realidad virtual, tales como la posibilidad de mover objetos gráficos, crear entornos tridimensionales y estereoscópicos y permitir la interacción entre diversas personas. Con el paso de los años, la realidad virtual ha sido aplicada a diversos ámbitos, brindando un ambiente adecuado no sólo para el entretenimiento, sino también para su uso científico, laboral y hogareño. Cabe destacar que existen dos tipos de realidad virtual, que se diferencian porque básicamente utilizan dos métodos diferentes en la participación de los usuarios [3].
5
2.1.2.
COMPONENTES DE UN SISTEMA DE REALIDAD VIRTUA.
Fig.2.1 Componente de un sistema de realidad virtual
Según las definiciones anteriores se puede identificar a un sistema virtual como aquel que cumple las siguientes características:
Simulación: Capacidad de replicar aspectos suficientes de un objeto o ambiente de forma que pueda convencer al usuario de su casi realidad.
Interacción: Debe permitir al usuario controlar, manipular y transformar el sistema de realidad virtual creado.
Percepción: Permite la interacción con los sentidos del usuario (vista, oído y tacto). Según la complejidad del sistema los elementos externos utilizados para producir estas sensaciones serán más o menos simples pudiendo ser un simple ratón de ordenador o unos cascos, más sensores de posición en una cabina virtual.
Algunos investigadores plantean que las tres bases de la realidad virtual son las “3i”: Interacción, Inmersión e Imaginación [1].
6
2.1.3.
Características de la realidad virtual.
Responde a la metáfora de “mundo” que contiene “objetos” y opera en base a reglas de juego que varían en flexibilidad dependiendo de su compromiso con la inteligencia artificial.
Se expresa en lenguaje gráfico tridimensional.
Hace de 3D una herramienta dinámica.
Permite vivenciar experiencias controladas.
Da la posibilidad de tratamientos de desensibilización sistemática.
Su comportamiento es dinámico y opera en tiempo real.
Sus estímulos hacen real lo virtual.
Su operación está basada en la incorporación del usuario en el “interior” del medio computarizado.
Su relación con el usuario hace que el aprendizaje sea mas intenso.
Requiere que, en principio haya una “suspensión de la incredulidad” como recurso para lograr la integración del usuario al mundo virtual al que ingresa.
Posee la capacidad de reaccionar ante el usuario, ofreciéndole, en su modalidad más avanzada, una experiencia inmersiva, interactiva y multisensorial.
Puede ser utilizada en toda la industria de la capacitación y entrenamiento.
Abre las alternativas donde el único límite es la imaginación del hombre
2.1.4.
[4]
.
Arquitectura de un sistema de realidad virtual.
La arquitectura de un sistema de Realidad Virtual está compuesta por los siguientes componentes.
Dispositivos de salida: como por ejemplo HMD (por sus siglas en inglés, Pantalla montada en la cabeza), los dataglobe (guantes de datos, que entregan información para el tacto), la pantalla del computador, etc.
7
Dispositivos de entrada: ejemplo son: los dataglobe(esta vez como entrada para enviar información al sistema), Trackers (tanto de cabeza, para saber hacia donde se esta mirando, como los del cuerpo), teclado, mause, etc.
Motor de realidad virtual: la estación encargada de albergar el software que creara la realidad virtual. Evidentemente se necesita un hardware con una capacidad acorde a la realidad de realidad virtual que se requiera. Generalmente se trata de estaciones graficas de gran desempeño.
El software de realidad virtual: esta dividido en varia clases, como las librerías de ciertos lenguajes o sistemas autorizados que pueden crear interfaces completas para diferenciar mundos virtuales.
Base de datos del mundo: los objetos del mundo virtual deben ser almacenados y para ello se usa una base de datos [5].
Fig. 2.2 Arquitectura de un sistema de realidad virtual
8
2.1.5.
CLASIFICACIÓN DE LOS SISTEMAS DE REALIDAD VIRTUAL.
La realidad virtual se clasifica en dos grupos según el hardware y según la interfaz con el usuario 2.1.5.1.
Clasificación de la Realidad Virtual según el hardware.
Sistemas Desktop o Pantallas de VR: Engloban aquellas aplicaciones que muestran una imagen 2D o 3D en una pantalla de computadora en lugar de proyectarla a un HMD. Puesto que representan mundos de 3 dimensiones los exploradores pueden viajar en cualquiera dirección dentro de estos mundos, los ejemplos característicos de estos ambientes son los simuladores de vuelo para computadora, la mayoría de los juegos de alto nivel de realismo para computadora.
Realidad virtual en segunda persona: A diferencia de los de inmersión los sistemas en segunda persona (o unencumbered systems) involucran percepciones y respuestas en tiempo real a las acciones de los humanos involucrados, quienes están liberados o no están sometidos al uso de cascos, guantes, HMD's, alambres o cualquier otro tipo de interface intrusivo.
Sistema de telepresencia: Los sistemas de telepresencia forman el grupo de aplicaciones de realidad virtual, los elementos que utiliza generalmente son cámaras, micrófonos, dispositivos táctiles y de fuerza con elementos de retroalimentación, ligados a elementos de control remoto para permitir al usuario manipular robots o dispositivos ubicados en localidades remotas mientras experimenta lo que experimentaría en el sitio en cuestión (pero de manera virtual).
La telerobotica: pretende simular la presencia de un operador en un ambiente remoto para supervisar el funcionamiento de un sistema y realizar tareas controlando robots a distancia. Una aplicación es la Microteleoperacion.
Sistemas de inmersión de Realidad virtual:
9
REALIDAD VIRTUAL INMERSIVA: Se consigue una inmersión total mediante periféricos (cascos de realidad virtual, gafas, posicionadores, HDM...), hasta el punto de desaparecer el mundo real.
REALIDAD VIRTUAL SEMIINMERSIVA: Se puede interactuar con el mundo virtual, pero sin estar sumergidos en el mismo, por ejemplo a través de un monitor. Este tipo de Realidad Virtual es muy común en videojuegos en la actualidad ya que no requiere ningún hardware especial [6].
2.1.5.2.
Clasificación de la Realidad Virtual según la interfaz con el usuario.
Sistemas ventanas (window on world systems): Se han definido como sistemas de Realidad Virtual sin Inmersión. Algunos sistemas utilizan un monitor convencional para mostrar el mundo virtual. Estos sistemas son conocidos como WOW (Window on a World) y también como Realidad Virtual de escritorio.
Sistemas de mapeo por video: Este enfoque se basa en la filmación, mediante cámaras de vídeo, de una o más personas y la incorporación de dichas imágenes a la pantalla del computador, donde podrán interactuar en tiempo real – con otros usuarios o con imágenes gráficas generadas por el computador.
Sistemas inmersivos: Los más perfeccionados sistemas de Realidad Virtual permiten que el usuario pueda sentirse “sumergido” en el interior del mundo virtual. El fenómeno de inmersión puede experimentarse mediante 4 modalidades diferentes, dependiendo de la estrategia adoptada para generar esta ilusión. Ellas son:
El operador aislado
La cabina personal
10
La cabina colectiva (pods, group cab)
La caverna o cueva (cave)
Estos sistemas inmersivos se encuentran generalmente equipados con un casco-visor HMD. Este dispositivo está dotado de un casco o máscara que contiene recursos visuales, en forma de dos pantallas miniaturas coordinadas para producir visión estereoscópica y recursos acústicos de efectos tridimensionales.
Sistemas de telepresencia: (Telepresence): Esta tecnología vincula sensores remotos en el mundo real con los sentidos de un operador humano. Los sensores utilizados pueden hallarse instalados en un robot o en los extremos de herramientas tipo Waldo. De esta forma el usuario puede operar el equipo como si fuera parte de él.
Sistemas de realidad mixta o aumentada: Al fusionar los sistemas de telepresencia y realidad virtual se obtienen los denominados sistemas de Realidad Mixta. Aquí las entradas generadas por el computador se mezclan con entradas de telepresencia y/o la visión de los usuarios del mundo real.
Sistemas de realidad virtual en pecera: Este sistema combina un monitor de despliegue estereoscópico utilizando lentes LCD con obturador acoplados a un rastreador de cabeza mecánico. El sistema resultante es superior a la simple combinación del sistema estéreo WOW debido a los efectos de movimientos introducidos por el rastreador.
Sistemas de realidad virtual múltiple: Este sistema combina estímulos visuales, auditivos, táctiles, de movimientos, con aplicaciones de I.A y percepción que hace que el mundo virtual casi sea real Ej: los nuevos sistemas de entrenamiento del ejército norteamericano [7].
11
2.2. AMBIENTES VIRTUALES.
Según Edward Castronova, profesor asociado de Telecomunicaciones en la Universidad de Indiana, economista, y uno de los pioneros en el estudio de los ambientes virtuales como objeto de investigación. “Un
mundo
virtual
es
un programa
de
computadora
con
tres
características fundamentales:
Interactividad: existe en una computadora, pero puede ser accedido remota y simultáneamente (a través de una conexión a Internet, por ejemplo) por un gran número de personas. Los comandos que cada persona ingresa en el sistema afectan los comandos de otras personas.
Fisicalidad (physicality): Las personas acceden al programa a través de una interface que simula un ambiente físico visto en primera persona, en la pantalla de sus monitores; este ambiente es generalmente gobernado por las reglas naturales de la tierra y esta caracterizado por la escasez de recursos.
Persistencia: El programa continúa corriendo, sin importar si alguien lo está usando o no; recuerda la locación de las personas y las cosas, así como también la propiedad sobre los objetos”[8].
2.2.1.
Tipos de ambientes virtuales.
Los ambientes virtuales se pueden diferenciar en tres categorías, según el sentido de inmersión, o el grado de presencia que proporciona.
Inmersivos.
Semi-inmersivos.
No inmersivos.
12
2.2.1.1.
Ambientes virtuales inmersivos.
Son aquello en los que el usuario se siente dentro del mundo que está explorando, y recibe una imagen visual girando su cabeza en cualquier dirección. Para que la interacción sea de la forma más natural posible, se utilizan diversos accesorios como guantes especiales, visores o cascos que permiten visualizar e interactuar con el entorno virtual. Estos sistemas inmersivos son especialmente útiles para aplicaciones de entretenimiento o capacitación.
2.2.1.2.
Ambientes virtuales Semi-Inmersivos.
También se conocen como inmersivos de proyección. Se caracterizan por ser cuatro pantallas en forma de cubo que rodean al usuario. Mediante el uso de lentes y un dispositivo de seguimiento de movimiento de la cabeza, las proyecciones perspectivas son calculadas por el motor de Realidad Virtual para cada pared y se despliegan en proyectores conectados a la computadora.
2.2.1.3.
Ambientes virtuales No inmersivos.
En ellos los ambientes virtuales se ven a través de un monitor y se interactúan mediante medios convencionales como teclados, ratones, joystick, etc. Su principal ventaja es que no requiere un nivel alto de funcionamiento de gráficos ni un pc especial, y su coste es más barato que el de otros sistemas inmersivos.
Principalmente
se
usan
como
medio
de
entretenimiento
(videojuegos) [9].
13
2.2.2.
Lenguajes para la creación de ambientes virtuales.
2.2.2.1.
XML (eXtensible Markup Language).
Es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). XML es la base de casi todos los lenguajes de datos utilizados en la WWW. Es necesario por tanto utilizar esta codificación para que los gráficos 3D interactúen perfectamente con clientes, servidores y usuarios de todo tipo. Puntos clave de este metalenguaje:
XML es un conjunto de normas de diseño de formatos de texto para estructurar datos. Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades.
Es similar a HTML ya que utiliza etiquetas y atributos, pero su función principal es describir datos y no mostrarlos como es el caso de HTML.
Muchos lenguajes extienden la funcionalidad de XML, al estar escritos los mismos en XML. Esto es útil a la hora de utilizarlo como codificación en X3D.
No necesita licencia, es independiente de la plataforma y bien soportado. Al utilizarlo se dispone de una creciente comunidad de herramientas e ingenieros expertos en esta tecnología.
2.2.2.2.
VRML (Virtual Reality Modeling Language)
Es un lenguaje de modelado de mundos virtuales en 3D a los que se pueden acceder utilizando un navegador, lo que hace la navegación web mucho más intuitiva, ya que la forma de actuar dentro del mundo virtual es similar a la de la vida real. Surgió de la necesidad de disponer de un lenguaje simple capaz de describir una escena tridimensional, distribuible a través de HTTP e integrable en el mundo WWW mediante la incorporación de hiperenlaces que permitieran saltar a otras escenas 3D o a documentos HTML. A diferencia del HTML, en el
14
que simplemente se "marca" o "etiqueta" el texto para formatearlo, en el VRML se diseñan objetos tridimensionales y su comportamiento. Es la base del X3D junto con las capacidades añadidas del XML y otras tecnologías que se fueron integrando a lo largo del tiempo. VRML proporciona nodos con los que construir objetos 3D, crear luces, aplicar texturas a los objetos, asociar ficheros de audio a determinados sucesos o utilizarlos como sonido de fondo, detectar la proximidad de un objeto a otro, etc. Para animar un mundo virtual pueden conectarse unos nodos a otros, de manera que puedan intercambiar información por medio de eventos. Estos eventos pueden estar producidos por un contador o como respuesta de un objeto a otros eventos que ha recibido. Por ejemplo, pulsando con el ratón sobre un interruptor se puede hacer que una luz se encienda o se apague; o arrastrando el ratón pulsado sobre un objeto puede hacerse que éste se desplace sobre una superficie o gire sobre sí mismo.
2.2.2.3.
X3D (eXtensible 3D) y VTK (Visualization ToolKit)
X3D es un lenguaje informático para gráficos vectoriales definido por una norma ISO, que puede emplear tanto una sintaxis similar a la de XML como una del tipo VRML. X3D amplía VRML con extensiones de diseño y la posibilidad de emplear XML para modelar escenas 3D completas en tiempo real. Para ello, X3D usa grafos de escena para modelar cada nodo gráfico que compone un entorno virtual. Un grafo de escena es una estructura de árbol dirigida y acíclica, lo cual significa que hay un comienzo bien definido del grafo, hay relaciones padre-hijo para cada nodo, y no hay ciclos en el grafo. Cada nodo tiene un único padre, excepto el nodo raíz. El grafo de escena reúne todos los aspectos de una escena 3D de forma jerárquica que organiza adecuadamente geometría, apariencia, animación y eventos, y se presenta usualmente en un archivo, que utiliza tanto la codificación .x3d XML como la .x3dv VRML clásica.
15
VTK es una librería de clases C++ desarrollada por Kitware y centrada en la representación de gráficos 3D. La herramienta VTK es considerada una de las librerías de mayor crecimiento y difusión en el área de Visualización Científica y Procesamiento de Imágenes, está diseñado con la finalidad de facilitar el desarrollo de aplicaciones usando metodologías orientadas a objetos. Tiene como valor agregado que es un sistema de código abierto, es decir que cientos de colaboradores han intervenido para desarrollar y mejorar su código base. Diferencias notables entre X3D y VTK:
Implementación: X3D define una sintaxis declarativa que describe mundos 3D, mientras que VTK es en esencia una librería de clases C++ y varias capas de interpretación de interfaz.
Distribución de contenido: Al contrario que con VTK. Los navegadores X3D pueden ser implementados mediante Applets, aplicaciones Web Start o plugins para navegadores web como IE o FireFox. Sin embargo, X3D ofrece un modo de ver y experimentar el contenido 3D sin tener que preocuparse por el sistema específico que generó el contenido.
Portabilidad: VTK sufre una carencia de portabilidad al no ser un estándar. Por el contrario, con X3D se dispone de un formato de archivo, donde se puede guardar mundos enteros en archivos X3D y enviarlos a usuarios que no dispongan de sistema original. Los usuarios verán el contenido mediante el navegador web. X3D es un estándar ISO, por lo que el contenido se mostrará sin importar el navegador utilizado.
Soporte multimedia: Debido a su dedicación hacia contenido puramente visual, VTK no contiene soporte para sonido o texturas de video. X3D por el contrario está diseñado para proveer una experiencia multimedia plena.
Precisión espacial: A causa de la implementación de decimales de punto flotante en VTK existe riesgo de pérdida de datos. X3D solventa esto mediante sus tipos de datos específicos que permiten la representación de valores de coordenadas de alta precisión [10].
16
2.2.3.
Herramientas utilizadas en los ambientes virtuales.
2.2.3.1.
Navegadores
Xj3D: es un kit de herramientas/navegador, escrito totalmente en Java, compatible con VRML y X3D.
Nexus 3D: es un navegador X3D basado en Java.
Octaga Player: es un reproductor 3D en tiempo real totalmente compatible con X3D y VRML.
Cortona 3D: Programa para visualizar mundos VRML que se instala como Plug-in, compatible con los navegadores más habituales.
2.2.3.2.
Herramientas de modelado
Google sketchUp: está diseñado para que cualquier persona pueda usarlo ya que es muy intuitivo. Permite crear cualquier objeto 3D como edificios, coches, personas. Además permite localizar geográficamente los edificios y colocarlos sobre Google Earth. Es bastante limitado en comparación con otras herramientas de modelado. Blender: es un programa multiplataforma dedicado al modelado, animación y creación de gráficos 3D. También incluye un potente software para la elaboración de juegos y un editor de audio y video. Es software libre multiplataforma pero su interfaz es poco intuitiva y se tarda en aprender a utilizar.
3D Studio Max: es un programa de modelado y animación 3D muy utilizado en videojuegos, peliculas, anuncios, efectos especiales o arquitectura. Dispone de gran cantidad de herramientas y plugins, es potente y estable pero su precio es alto, tiene altos requisitos hardware y no es multiplataforma (Windows) [11].
VRML : formato de archivo normalizado que tiene como objetivo la representación de escenas u objetos interactivos tridimensionales; diseñado particularmente para su empleo en la web
[11]
.
17
CAPITULO 3 3. ESTADO DEL ARTE.
En el capítulo 3 se nombraran algunas metodologías importantes sobre la creación de ambientes virtuales y se hará una breve descripción de estas.
3.1. SENDA: Metodología de desarrollo de mundos virtuales habitados.
Descripción. En la metodología titulada “Hacia una metodología de desarrollo para la construcción de entornos virtuales”
[12]
, la cual es el resultado del trabajo
doctoral de M.I. Sánchez se describe el modelo de procesos. Y en su publicación mas reciente “SENDA: Metodología de desarrollo de mundos virtuales habitados”
[13]
, se encuentra una descripción completa de la
metodología. El objetivo final de los autores es definir una metodología especialmente diseñada para entornos virtuales pero que no suponga una ruptura con las experiencias previas de los diseñadores. Para ello, esta metodología trata de conjugar tres disciplinas: el corazón del proceso de desarrollo es dado por la ingeniería del software; las técnicas específicas para el diseño de la interfaz, por la interacción persona-ordenador; y la inteligencia artificial proporciona las técnicas para diseñar e implementar el conocimiento del sistema. La metodología está fundamentada en un modelo de procesos agrupados en: procesos de gestión, procesos orientados al desarrollo del software y procesos integrales. Los propios autores reconocen no aportar nada nuevo a los procesos de gestión (estimación, planificación, seguimiento, control y calidad) ni a los integrales (gestión de la configuración, verificación y validación). Sin embargo, es en los procesos orientados al desarrollo del software donde se encuentran sus principales contribuciones, redefiniendo los procesos de:
18
1. Análisis (A). 2. Diseño (3DD, AD, SD). 3. Implementación (SCI, CI).
Así, el análisis está compuesto por cinco actividades: A1. Pre-conceptualización A2. Definición de los requisitos específicos. A3. Conceptualización. A4. Modelado estático. A5. Modelado dinámico.
Para la extracción de los requisitos durante el proceso de análisis, los autores emplean casos de uso, según UML, e introducen lo que denominan conceptos de uso. Los primeros para los requisitos que implican interacción del usuario con el sistema, y los segundos para aquellas acciones automáticas que realizará el avatar por el usuario. Además, se emplean diagramas de clases para el modelado estático, y diagramas de transición para el dinámico. Continuando con el proceso de diseño, en él se cuentan tres procesos:
3DD. Proceso de Diseño 3D. AD. Proceso de Diseño de las Acciones. SD. Proceso de Diseño del Sistema. En la metodología “Hacia una metodología de desarrollo para la construcción de entornos virtuales”
[12]
, también se nombra un cuarto proceso, que es el de
Diseño de Elementos Multimedia, que sin embargo no aparece en publicaciones posteriores. Además, se describe el proceso AD o Diseño de las Acciones como también CIA o Diseño de la Arquitectura Interna de los Componentes. El proceso 3DD o Diseño 3D incluye el diseño gráfico de los escenarios, objetos decorativos, avatares, etc. Incluye dos tareas:
19
3DD1. Modelado del Entorno Virtual Habitado. 3DD2. Modelado de los Avatares.
Los autores entienden que el diseñador del sistema y el diseñador gráfico son dos roles diferentes, por lo que el resultado de esas tareas son los requisitos con los que explicar al diseñador gráfico cómo debe ser el entorno y sus elementos, empleando para ello mapas y un conjunto de formularios (del entorno, del avatar, de la jerarquía del avatar). El proceso de Diseño de las Acciones, o AD, tiene por objeto definir las acciones que realizarán los avatares y el resto de elementos en el entorno virtual. Se descompone en las siguientes tareas, en las cuales se utilizan técnicas de inteligencia artificial:
AD1. Modelado de la Percepción. AD2. Modelado de la Personalidad. AD3. Modelado de las Acciones Físicas. AD4. Modelado de las Reacciones.
El siguiente proceso es el de Diseño del Sistema, o SD, aunque no debe verse como el último de la secuencia, pues los tres procesos de diseño se llevan a cabo en paralelo e interrelacionándose, según describen los autores. En cualquier caso, este último proceso es similar al seguido en el diseño tradicional orientado a objetos, y cuenta con las siguientes tareas:
SD1. Modelado Estático Expandido. SD2. Modelado Dinámico Expandido. SD3. Descripción Detallada de los Métodos. SD4. Diseño de la Arquitectura del Sistema. SD5. Diseño de la Persistencia de Datos. SD6. Diseño de la Interfaz.
20
Con respecto al Diseño de la Interfaz, los autores explican que una vez se tiene el diseño de los elementos relacionados con el aspecto, debe comprobarse que satisfacen al cliente, usando maquetas o videos y mostrando distintas alternativas de navegación por el EV. Los propios autores señalan la utilidad del diseño participativo o centrado en el usuario para esta tarea. Por último, el proceso de implementación se divide en las siguientes tareas: SCI. Implementación de los Componentes de Soporte. CI. Implementación del Módulo Principal. La propuesta de los autores para este proceso es que cada una de las muchas partes que componen el entorno virtual se implemente de forma separada (SCI) para luego integrarlas todas en el sistema (CI). La siguiente figura ilustra, de forma gráfica y resumida, esta metodología:
Fig. 3.1 Desarrollo de mundos virtuales habitados según SENDA
Sin duda, uno de los primeros aspectos que destacan de SENDA como marco metodológico es el gran número de procesos y actividades que enumera, sus relaciones y dependencias. Más aún, por cada actividad los autores indican los productos de entrada y de salida, las técnicas y los participantes involucrados, lo que permite también comparar esta metodología con otra más comercial.
21
SENDA trata además de aprovechar la enorme experiencia ya existente en ingeniería del software, y ofrece una solución adaptada a raíz de experiencias previas en la aplicación de métodos para la creación de software convencional particularmente la aplicación del método de Larman al desarrollo de entornos virtuales habitados. SENDA es más que una simple adaptación de una metodología de desarrollo de interfaces de usuario 2D. Los conceptos de uso se emplean junto a los diagramas de caso de uso para la extracción de requisitos. Para el modelado estático, en SENDA se utilizan diagramas de clases. Por último, para el modelado dinámico, en SENDA se opta por los diagramas de transición de estados.
3.2. Metodología para la creación de ambientes virtuales 3D.
Descripción. En metodología que propone el Laboratorio de Realidad Virtual de la universidad Federal de Santa Catarina
[14]
, se describe una metodología para la
creación de entornos virtuales, más concretamente para el diseño de interfaces para esos entornos. Según sus autores, las técnicas para el desarrollo de este tipo de interfaces son semejantes a las utilizadas en el desarrollo de otras interfaces de ordenador. Los autores afirman incluso que muchos criterios de diseño de interfaces 2D pueden ser fácilmente aplicados a las interfaces 3D, aunque destacan que la principal diferencia es la distribución de contenido y de elementos. La metodología describe una secuencia de actividades agrupadas en cuatro fases: 1. Análisis (diagramas de flujo). 2. Concepción (árbol del sistema). 3. Proyecto de interfaz (diseño). 4. Desarrollo (implementación).
22
En la fase de análisis se identifica el público al que va dirigido el entorno virtual, se determinan y se analizan las necesidades, se validan los requisitos y se realizan sesiones de ajustes y clasificaciones. Los autores aconsejan el uso de diagramas de flujo para trazar los objetivos, indicando tanto los caminos a ser seguidos como las tareas a ser ejecutadas. En la fase de concepción se especifican y se reparten las funciones hombremáquina. También se especifican los caminos de navegación, así como las actividades y las tareas interactivas. En la fase de diseño o, como la denominan los autores, de proyecto de interfaz, se aborda la metáfora del proyecto gráfico, se conciben las tareas a ser elaboradas por el usuario en el entorno, se crea un storyboard, se disponen los contenidos y se conciben los elementos de la interfaz. Finalmente, en la fase de desarrollo, se crean maquetas, prototipos y versiones crecientes, se producen los elementos de la interfaz y se programan las tareas a ser ejecutadas dentro del ambiente virtual. Para los autores de esta metodología, las tareas del usuario representan uno de los tres factores principales en los que debe basarse el desarrollo de una interfaz de un entorno virtual, junto a las necesidades de los usuarios (novatos y experimentados). Puede verse como esas tareas y actividades del usuario se abordan explícitamente en momentos distintos de la metodología: en la etapa de análisis, se indican las tareas a ser ejecutadas; en la etapa de concepción, se aborda la especificación de las tareas interactivas; en la etapa de diseño, la concepción de las tareas a ser realizadas en el entorno; y en la etapa de desarrollo, la programación de esas tareas. Resulta curioso que las tareas se conciban en la etapa de diseño y no en la de concepción, aunque más que curioso es confuso, y una muestra de los problemas que crea la terminología utilizada por los distintos autores al describir sus propuestas. Más interesante aún, es que en la etapa de diseño se puntualice que las tareas que se conciben son las que serán realizadas en el entorno, y cabe
23
preguntarse si con ello los autores persiguen distinguir entre estas y las que se indican en el análisis. También muy interesante, y es por lo que se incluye esta metodología en este capítulo, es que los autores insisten en que las tareas y las actividades que serán realizadas por los usuarios deben pasar por un proceso de análisis que determine la necesidad y viabilidad de representación por medio de un entorno virtual. Según los autores, un entorno virtual es un entorno donde el usuario navega para buscar él mismo la información, ejecutar las actividades y desarrollar las tareas. Pero la principal diferencia con las interfaces 2D es, según ellos, la disposición de esos contenidos. Volviendo entonces a la metodología, los contenidos se disponen en la etapa de diseño, pero no se dan mayores detalles. También se habla de especificar los caminos de navegación en la etapa de concepción, lo que podría entenderse como caminos en el espacio 3D. En resumen, se trata de una metodología que enumera un buen número de actividades en una secuencia similar a la que se emplea en interfaces más convencionales, pero que los autores no llegan a describir por completo, dejando muchas dudas acerca del proceso real que hay detrás de los nombres de esas actividades.
3.3. Metodología de diseño de entornos virtuales observada por Kaur.
Descripción. De acuerdo a la metodología para el diseño de entornos virtuales observada por Kaur
[15]
, se describe un estudio basado en entrevistas con diez
diseñadores de tres organizaciones diferentes del Reino Unido, como representantes de la pequeña población de diseñadores de Entornos Virtuales. A raíz de esas entrevistas, Kaur identificó hasta cinco procesos básicos comunes a la mayoría de los diseñadores, abstraídos de sus diferentes enfoques del diseño, y que son llevados a cabo de forma iterativa. Estos procesos son:
24
1. Especificación de requisitos. 2. Recogida de material de referencia de los modelos del mundo real. 3. Estructuración del modelo gráfico y, en ocasiones, división del mismo entre los diseñadores. 4. Creación de los objetos y su colocación en el entorno virtual. 5. Mejora del entorno con texturas, iluminación, sonido e interacción, y optimización del entorno.
Kaur apunta también que los diseñadores tienden a crear el entorno siguiendo bien un enfoque principalmente top-down o bottom-up. Así, seis de los diez diseñadores comenzaban con una estructura básica y le añadían detalle de forma gradual (top-down). Los otros cuatro creaban los objetos uno por uno y entonces
los
colocaban
juntos
en
el
entorno
virtual
(bottom-up).
Independientemente del enfoque, todos los diseñadores mejoran el entorno después de haber creado los objetos y haberlos colocado. El estudio también revela que los diseñadores crean y prueban de forma iterativa, pero que rara vez llevan a cabo tests con usuarios. Por último, Kaur categoriza en tres áreas principales las preocupaciones de los diseñadores:
balance
entre
rendimiento,
detalle
gráfico
y
realismo;
comprensión del concepto de EV; e inmadurez de la tecnología. Kaur subraya que, a pesar de la importancia que otorga la bibliografía a los factores humanos, estos eran raramente mencionados por los diseñadores. Aunque los resultados de este estudio subrayan que la experiencia de estos diseñadores en la creación de mundos virtuales era pequeña, resultan significativos para mostrar una práctica real que difiere sustancialmente de la aplicación de los pasos descritos en el anteriormente. En primer lugar, los diseñadores entrevistados revelan que antes de crear los objetos definen los requisitos del entorno, recogen material de referencia del mundo real y estructuran el modelo gráfico. Aunque el estudio no profundiza en estos procesos, ninguno de ellos se incluye entre los pasos anteriormente mencionados.
25
Además, se habla también de realizar un reparto entre los diseñadores, prueba de que un mundo virtual suele ser el resultado del trabajo de un equipo, más que de una única persona. En suma, estos tres primeros puntos de la lista describen cómo los desarrolladores planifican y se preparan para construir el entorno virtual. Entonces se aborda la creación de los modelos y su colocación en el EV, seguido por una mejora del entorno con texturas, iluminación, sonido e interacción, de forma entonces no muy diferente a la creación de escenas por ordenador
en
Pixar,
salvo
(muy
especialmente)
por
la
interacción.
Precisamente, el estudio revela igualmente que es práctica habitual crear y probar de forma iterativa, lo que recuerda también a los sucesivos rollos de película, salvo que el objetivo de los desarrolladores es el de obtener ese balance entre rendimiento, detalle y realismo. En cualquier caso, tampoco se refleja en las anteriores estrategias de los pasos. A pesar de esas diferencias, las críticas anteriores siguen siendo igualmente válidas. Aunque persigue asegurar un buen rendimiento, esta práctica habitual no asegura un producto final usable, lo que la propia Kaur también destaca y le motiva para plantear el flujo de trabajo. Igualmente, esta práctica habitual se centra en los objetos del entorno virtual y, no guía para acometer la programación de una aplicación de Realidad Virtual.
3.4. Metodología de diseño para entornos virtuales según Fencott.
Descripción. En la Metodología de diseño para entornos virtuales
[16]
, Fencott describe una
metodología basada en la práctica de diseño de entornos virtuales observada por Kaur y que resumió en cinco etapas. Fencott redefine el proceso de diseño de entornos virtuales basándose en su percepción del mismo como una tensión entre la estética (aesthetics) y el diseño ingenieril, en términos de percepción y de estructura. En este sentido,
26
Fencott opina que si bien la ingeniería del software no puede ayudar al modelado de esa percepción, sí puede hacerlo con el modelado estructural. A semejanza de la práctica observada por Kaur, la metodología de diseño que propone Fencott también consta de cinco fases, que son las siguientes:
Modelado de los requisitos.
Modelado conceptual.
Modelado de la estructura.
Modelado de la percepción.
Construcción.
El primer punto, el modelado de requisitos, se corresponde con la primera etapa que describe Kaur, la especificación de requisitos, indicando Fencott que se asemeja mucho al concepto que se tiene en la ingeniería del software. Los tres pasos siguientes no son una sucesión estricta, sino que el modelado de la estructura comienza en paralelo al modelado conceptual, y seguiría también en paralelo al modelado de la percepción. Gráficamente:
Fig.3.2 Diseño de entornos virtuales según Fencott
27
Según Fencott, el modelado conceptual equivale también al segundo punto que describe Kaur (recogida de material de referencia del mundo real). Se trata, según el autor, de la actividad de estudio común a muchos proyectos de diseño pero en especial aquellos con un componente estético. Se recoge material, se toman fotografías, se hacen bocetos, se graba sonido y video, y se construyen tiras de viñetas y storyboards. Las técnicas de los artistas y animadores son aplicables aquí. Fencott subraya que un resultado importante de esta fase es la elección del género (genre) más apropiado para cumplir con los requisitos, y que tendrá su influencia en la fase de modelado de la percepción. En la fase de modelado de la estructura se empieza tomando decisiones acerca de las dimensiones, y se construyen planos y diagramas. Esta fase equivale al punto tres que describe Kaur –estructurar el modelo gráfico y dividir entre los diseñadores-, y es aquí donde, según explica Fencott, puede incorporarse la práctica de la ingeniería del software, haciendo uso por ejemplo del lenguaje UML. Así, Fencott indica que en las etapas más tempranas pueden emplearse diagramas de casos de uso para identificar las relaciones entre el usuario y el entorno virtual. Más adelante, modelos de los objetos pueden mostrar su estructura de nodos en el grafo de la escena, así como diagramas de clases para los componentes programados. El resultado de esta fase es un diagrama del grafo de la escena que muestra la estructura del código del entorno virtual y sus componentes de comportamiento. La fase de modelado de la percepción equivale a grandes rasgos al punto cinco que describe Kaur –mejora del entorno-, y su objetivo es modelar la experiencia que se pretende que tenga el usuario del entorno virtual. Para ello, Fencott propone utilizar en esta fase Mapas de Percepción (Perceptual Maps) para asegurar que el orden en el tiempo de las atenciones y actividades del usuario en el entorno virtual es el adecuado. Estos mapas levantan una estructura meta-narrativa que se continúa en la fase de modelado de la estructura, pero cuya naturaleza depende del género elegido en la fase de modelado conceptual. Más concretamente, estos mapas estructuran lo que Fencott llama Oportunidades de Percepción (Perceptual
28
Opportunities, POs), que se clasifican según el papel de cada objeto en la experiencia. El autor propone utilizar entonces su Modelo de Oportunidades de Percepción (Perceptual Opportunities Model), que consiste, en un conjunto de categorías sintácticas que pueden verse como posibles atributos de cualquier objeto de un entorno virtual –véase Figura 3.3-. Por ejemplo, en el primer nivel de este modelo de clasificación se puede encontrar: certezas – sureties, lo que el usuario da por seguro y que confiere credibilidad al entorno virtual-, sorpresas, y sobresaltos (shocks). La última fase de esta metodología es la construcción, y que Fencott describe como el proceso de utilizar herramientas para la codificación del grafo de la escena y del propio código del programa, ya sea con Java/VRML, VRToolkit, etc. Esta metodología está basada en el estudio realizado por Kaur de la práctica habitual de los desarrolladores, y por ello pueden identificarse similitudes que el propio Fencott subraya. Así, el autor establece una correspondencia uno a uno entre las etapas que describe Kaur y las fases de esta nueva metodología. Sin embargo, existen notables diferencias. Empezando por el orden, mientras las etapas descritas por Kaur pueden entenderse como una secuencia estricta, las fases de Fencott no lo son, y el autor indica además relaciones bidireccionales entre ellas. Además, la última fase descrita por Kaur es la mejora del entorno, mientras que para Fencott es la construcción, en consonancia con otras propuestas que abogan por realizar un buen diseño antes de comenzar el modelado y ensamblaje del mundo. Podría decirse que la redefinición que lleva a cabo Fencott plasma su percepción del diseño como una tensión entre la ingeniería y la estética, lo que recuerda a Shneiderman diciendo que los diseñadores deben conjugar lo técnico y lo estético. Más concretamente, el autor destaca dos tensiones básicas: en la primera sitúa en un extremo la representación de un objeto (simulación, connotación), y en el otro lo que se pretende con él (comunicación simbólica, denotación); en la segunda, compara la estructura del grafo de la
29
escena, jerárquica, con la de los mapas de percepción, que es espaciotemporal. Así, por una parte, Fencott sitúa el papel de la ingeniería del software en dos fases: el modelado de requisitos y el de la estructura. En esta última sugiere el uso de diagramas UML, haciendo referencia al trabajo de P.G. McIntosh, quien utilizaba UML para enseñar VRML a alumnos de arquitectura.
Fig.3.3 Categorías del modelo de Fencott.
3.5. Comparación entre las metodologías anteriores.
En la metodología SENDA: Metodología de desarrollo de mundos virtuales habitados y la Metodología para la creación de ambientes virtuales 3D mencionadas en los puntos 3.1 y 3.2 respectivamente. la etapa de análisis se basa mas que todo en la recolección de los requerimientos y la identificación de los usuario así como las actividades y el personal que va a realizar estas tareas, lo que en la metodología de Kaur se realiza en la etapa de especificación de requisitos. En la metodologías descrita por Fencott la primera etapa es el modelado de los requerimientos la cual tiene el mismo objetivo que la etapa de análisis de las otras metodologías. En otras palabras en estas metodologías comienzan con la obtención de requisitos y se analizan las necesidades.
30
El segundo paso de la metodologías SENDA es el diseño grafico de los objetos y los escenario, también definen las acciones que realizaran lo avatar y los elementos del mundo. A diferencia de las demás metodologías las cuales estas actividades las realizan en el tercer paso que en la Metodología para la creación de ambientes virtuales 3D, se llama proyecto de interfaz, en la metodología de Kaur se llama Estructuración del modelo grafico y en la de Fancott se llama modelado de la estructura en la cual se crean planos y diagramas. La implementación del ambiente es llevado en las últimas etapas de estas metodología. De estas metodologías hay que tener en cuenta que no existe una etapa de prueba que evalúe el funcionamiento del ambiente ni los requerimientos dados por el cliente. Sola la metodología de kaur habla de un tests con el usuario.
31
CAPITULO 4 4. Planteamiento de un proceso metodológico para la creación de ambientes virtuales.
Teniendo en cuenta las metodologías del capitulo 3 será elaborada una metodología para la creación de ambientes virtuales. Donde la parte de análisis de estas metodologías será dividida en la etapa uno que es la selección del espacio y previo estudio y segunda etapa que es la obtención de requerimientos. La etapa de concepción de la metodología para la creación de ambientes virtuales 3D. Será la etapa de planeación del proyecto. La cuarta etapa de la metodología a crear es la de diseño la cual trabajan estas metodologías. La quinta etapa es desarrollo e integración del modelo, esta etapa se menciona en esta metodología la cual es la creación de lo elementos que componen el ambiente. Y por último es la etapa de prueba la cual se hace ausente en estas metodologías como un punto específico ya que es muy importante realizar pruebas en cada etapa para que al final del proyecto no toque realizar los pasos completos de esta metodología nuevamente. Esta metodología se hace necesaria ya que las metodologías del anterior capitulo no cuentan un estudio de factibilidad detallados del proyecto ni una etapa de pruebas Esta metodología se describe mediante una serie de actividades agrupadas en seis fases:
Selección del espacio y previo estudio.
Planificación del proyecto de creación de un ambiente virtual.
Obtención de requerimiento.
Diseño.
32
Desarrollo e Integración del modelo.
Pruebas.
La siguiente figura ilustra de forma gráfica y resumida esta metodología.
Fig. 4.1 Metodología para la creación de ambientes virtuales
Para llevar un control del proceso desarrollo se platean dentro de la metodología unas plantillas para recolectar los datos necesarios en cada una de las etapas de la metodología.
33
4.1. Selección del espacio a modelar y previo estudio.
La etapa inicial para esta metodología está basada en escoger el espacio que será reproducido en el ambiente virtual el cual puede ser real o imaginario. Se hace una breve descripción de los alcances y limitaciones que va a tener el ambiente, con qué objetivo se creara el ambiente. Además los objetos que componen este escenario. Esta información será recolectada usado el siguiente formulario.
Etapa uno: Selección del espacio Realizado por: Fecha: Código: FSEE01 Nombre del lugar: Tipo del espacio: Tipos de objetos: Objetivo:_______________________________________________________ _______________________________________________________________ Alcances:_______________________________________________________ _______________________________________________________________ _______________________________________________________________ Limites:________________________________________________________ _______________________________________________________________ _______________________________________________________________ Formulario 4.1. Selección del espacio.
Luego de la breve descripción del ambiente se procede a realizar un estudio de factibilidad, el cual se plantea en cuatro puntos.
Factibilidad técnica.
Factibilidad operativa.
Factibilidad de fecha.
Factibilidad económica.
34
4.1.1.
Factibilidad técnica.
El análisis de factibilidad técnica indica si se cuenta con los equipos y software necesarios y si estos cuentan con la capacidad técnica requeridos para el diseño y elaboración del ambiente. En el análisis de factibilidad técnica también se estudia que las personas a cargo del diseño y desarrollo tengan la capacidad y experiencia requerida para poder llevar a cabo el proyecto, garantizando lo continuidad y el normal desarrollo de las propuestas establecidas para un ambiente virtual. La factibilidad técnica comprende los recursos tecnológicos necesarios para satisfacer las necesidades para crear un ambiente virtual como son: hardware, software, conocimientos y las experiencias que tienen en el campo.
4.1.2. Factibilidad operativa.
La factibilidad operativa comprende una determinación de la probabilidad de que el nuevo ambiente virtual se use
como se supone, a su vez puede
determinar si el ambiente virtual es demasiado complejo para los usuarios potenciales, y si el usuario está en la capacidad de explorar dicho ambiente, si es así, cuánto tiempo se requiere para capacitar al usuario en el uso correcto del mundo virtual. La factibilidad operativa es una medida del correcto funcionamiento de una alternativa para el desarrollo de un ambiente virtual. También es una medida de aceptación o de rechazo del proyecto por parte de las personas que en el participan. En esta etapa se identifican las actividades necesarias para la creación del ambiente y se determinan los recursos necesarios para logras los objetivos.
35
4.1.3. Factibilidad de fecha.
El estudio de factibilidad de fecha consiste en dar respuesta a las siguientes preguntas. ¿Puede diseñarse y desarrollarse el ambiente virtual en un plazo considerable? Es decir, la construcción del ambiente virtual puede desarrollarse en un plazo razonable y además que cumpla
las expectativas del usuario final. La
factibilidad de fecha es una medida de éxito que indica si un proyecto es razonable en el cumplimiento de las fechas establecidas. ¿Cuales serian los tiempos de desarrollo para cada fase?.
4.1.4.
Factibilidad económica.
Los estudios de factibilidad económica consisten en determinar si los costos de desarrollo del ambiente virtual se justifican en función a los beneficios que se obtienen. Se refiere a los recursos económicos y financieros necesarios para desarrollar o llevar a cabo las actividades o procesos y / o para obtener los recursos básicos que deben considerarse son el costo del tiempo, el costo de la realización y el costo de adquirir nuevos recursos. Generalmente la factibilidad económica es el elemento más importante ya que a través de él se solventan las demás carencias de otros recursos, es lo más difícil de conseguir y requiere de actividades adicionales cuando no se posee. Con el estudio de la factibilidad económica se hace un análisis del costo que tiene desarrollar el ambiente virtual y los beneficios que este brinda.
Cuando se termina este paso se debe presentar un informe del estudio de factibilidad el cual se realiza en el siguiente formulario.
36
Etapa uno: Estudio de Factibilidad. Realizado por:
Fecha:
Código: FSEE02
Factibilidad Técnica.
¿Se dispone en la actualidad de la tecnología y software necesarios para el desarrollo del ambiente virtual? SI ___
NO___
¿Se dispone de los conocimientos necesarios para poder desarrollar el ambiente virtual? SI ___
NO___
Si no se cuenta con los conocimientos necesarios. ¿Se dispone del tiempo necesario para capacitar el personal y así poder llevar a cabo el proyecto? SI ___
NO___
Factibilidad Operativa.
¿En que campo será utilizado el ambiente? Salud ___
Educación ___
Entretenimiento ___
¿El ambiente desarrollado será de fácil manejo para el usuario final? SI ___
NO___
Factibilidad de Fecha. ¿En que plazo se desarrollara el ambiente? Corto ___
Mediano ___
Largo ___
Factibilidad Económica.
¿los beneficios que se obtendrán del desarrollo del ambiente virtual será mayores que los costos? SI ___
NO___
Conclusión.
___________________________________________________________.
Revisador por:_______________________ Fecha:________ Formulario 4.2. Estudio de factibilidad.
37
4.2. Planificación del proyecto de creación de un ambiente virtual. En la planificación se determinaran tareas y tiempos que se deben cumplir, así como también los responsables de que estas
tareas se cumplan en los
tiempos establecidos. La planeación efectiva del proyecto depende de la planeación detallada de su avance, anticipando problemas que puedan surgir y preparando con anticipación soluciones tentativas a ellos. En esta etapa se decide cómo se va a construir y el tiempo que se demora la creación del ambiente además se asignan responsabilidades al equipo de trabajo. El tiempo de la creación del ambiente depende directamente del número de personas que están a cargo del desarrollo del ambiente, así como las restricciones impuestas por el cliente como es el plazo de entrega o el presupuesto destinado para la creación del ambiente. Para la creación de un ambiente virtual es muy importante crear un modelo que abarque todas las expectativas de los usuarios, por lo que es conveniente que la fase de la planificación gire en torno al modelo antes mencionado, por otro lado si se quiere un ambiente virtual donde la apariencia final es muy importante se debe tener una fase de construcción lo suficientemente detallada que permita el resultado deseado. Como se va a construir el ambiente depende únicamente de la complejidad o nivel de detalle que tendrá el ambiente. La complejidad de los ambientes virtuales se divide en dos tipos:
Ambientes virtuales simples: estos ambientes virtuales tienen un nivel de detalles muy bajo. Por ejemplo si se desea recrear una oficina los cajones del escritorio no se podrán abrir o si se quiere crear una ciudad no se podrá entrar a los edificios.
38
Ambientes virtuales complejos: El nivel de detalle de estos ambientes son más complejos y más detallados. Por ejemplo los objetos que se encuentran en estos ambientes tienen animaciones.
La diferencia entre un ambiente virtual simple y uno complejo radica en el nivel de detalle precisado por el usuario y el nivel de interacción que puede tener el usuario. Un ambiente virtual simple que represente un edificio podría ser un cubo con puertas, pasaría a ser complejo si este edificio constas de una textura y que el usuario pueda ingresar dentro del edificio haciendo un recorrido con más interacciones.
Una buena planificación además de determinar las actividades y el tiempo en que estas se cumplirán, también permite evaluar económicamente la creación del ambiente. Una buena planificación permite también poder evaluar económicamente el proyecto. Para tener una buena evaluación económica del proyecto se debe considerar un seguimiento de los costos abarcados en la creación de cada una de las fases así como también el plazo de entrega del ambiente, por lo cual es imprescindible establecer si el proyecto se trata de un ambiente virtual simple o complejo ya que dependiendo de esto el costo de creación aumenta, por ejemplo para la creación de un ambiente virtual complejo se necesitan software de modelado 3D de alta calidad así como hardware que soporten la computación grafica, por lo que el costo para el desarrollo del ambiente son mucho más altos que para la creación de un ambiente simple que se puede realizar en cualquier computador sin la necesidad
de tener hardware de
aceleración gráfica. La complejidad del proyecto se debe establecer en la etapa de obtención de requerimientos, ya que en la planificación se deben establecer los recursos de hardware, software y recursos humanos para cada una de las siguientes etapas. Para la planeación del proyecto se recomienda elaborar un cronograma de actividades el cual tendrá el siguiente formulario.
39
Etapa tres: Cronograma de actividades Realizado por: Nombre de la tarea
Fecha: Duración de la tarea en días
Fecha de comienzo de la tarea
Código: FPCAV01 Fecha de terminación de la tarea
Persona que realizara la tarea
Formulario 4.3 Cronograma de Actividades
4.3. Obtención de requerimientos.
En la etapa de obtención de los requerimientos se especifican las propiedades esenciales y deseables, además las funcionalidades que va a tener el ambiente virtual, por lo que se necesita la participación del cliente pues es el quien establece claramente los requerimientos o funcionalidades que desea para el ambiente virtual a crear. Para el desarrollo de un ambiente virtual se deben considerar varios aspectos a la hora de la obtención de los requerimientos. En primer lugar al desarrollar un ambiente virtual hay que tener en cuenta el elemento artístico a la hora de pensar en la satisfacción plena del usuario ya que se pueden pasar por alto ciertos detalles indispensables del espacio a recrear como por ejemplo debido al efecto de luz, el color de una pared no se percibe por el modelador correctamente o simplemente no se pudo obtener mediante la combinación de los colores básicos (RBG). En segundo lugar puede que al crear el ambiente virtual se deban omitir ciertos objetos, debido a que pone en riesgo la seguridad del espacio a modelar, como por ejemplo si se modela un banco se deberá omitir o cambiar la posición real de la caja fuerte para evitar poner en riesgo la seguridad del espacio recreado.
40
Otro punto a tener en cuenta es que al modelar un lugar real la imaginación del desarrollador debe permanecer aislada y solo se debe tener en cuenta los antecedentes (otros ambientes virtuales ya creados) de dicho lugar, si estos existen, además se debe tener acceso al lugar la finalidad que sirva de marco de referencia para establecer comparaciones. En el caso de un ambiente virtual artístico o imaginario la idea que surge de la imaginación del diseñador se hace muy importante ya que en este tipo de ambientes no se imita lo que existe en la realidad. En la obtención de requerimientos es importante definir el nivel de detalle que va alcanzar el mundo virtual por ejemplo si existe un cuarto en una sala se debe decidir si el usuario del recorrido puede acceder al cuarto o simplemente es una fachada de la sala y el usuario no pueda acceder. En la creación de un mundo virtual el componente artístico es muy importante a la hora del diseño del ambiente por el hecho de abarcar detalles que sean relevantes. El nivel de detalle que se definirá para el ambiente no debe ser muy bajo, ya que deja al usuario con pocas posibilidades de interacción a la hora de explorar dicho ambiente, por lo que simplemente se abra perdido el tiempo y recursos en su desarrollo.
Después de tener en cuenta los aspectos anteriores, la fase de obtención de requerimientos se lleva a cabo mediante unos pasos los cuales se describen a continuación:
4.3.1. Descripción del proyecto: En la descripción se expresa en que consiste el proyecto, así como el nivel de detalle que se va a manejar los objetos del ambiente y la finalidad que va a tener el ambiente.
4.3.2. Requerimientos: Este punto se destaca dos tipos diferentes de requerimiento como son los requerimientos funcionales y los requerimientos no funcionales.
41
4.3.2.1.
Requerimientos funcionales.
En los requerimientos funcionales se describe las funcionalidades que va a tener el ambiente como también el nivel de interacción que ofrece el ambiente al usuario a la hora de sumergirse en el ambiente virtual y el nivel de detalle.
4.3.2.2.
Requerimientos no funcionales.
En los requerimientos no funcionales se describen las herramientas que se utilizaran para la visualización del ambiente, y algunas características que deberá poseer el ambiente. Por ejemplo si se visualiza el ambiente mediante el plugin Cortona 3d, el ambiente debe tener una interfaz amigable, la cual permitirá al usuario moverse fácilmente dentro del ambiente.
4.3.3. Formulación de la idea inicial. Luego de haber establecido una descripción del ambiente y de obtener los requerimientos funcionales y no funcionales se procede a la creación de una maqueta o una representación en papel de la idea inicial (StoryBoard), esta primera idea debe ser verificada por el director del proyecto y por el cliente, los cuales deciden si esa idea se puede desarrollar definitivamente.
4.3.4. Recursos necesarios. En este punto se establecen las herramientas y recursos que se utilizaran para el desarrollo del ambiente virtual como son Software editor, sistema operativo, etc. Además del personal encargado para el desarrollo del ambiente. En la siguiente grafica se describe esta etapa de la metodología de una forma gráfica y más abreviada.
42
Fig.4.2. Fase dos: Obtención de requerimientos.
En esta fase se establece un formato para obtener los requerimientos el cual se muestra en Formulario 4.4 Además se debe anexar el StoryBoard al documento.
Etapa dos: Obtención de requerimientos Realizado por: Fecha: Código: FOR01 Nombre del ambiente: Descripción:_____________________________________________________ _______________________________________________________________ ______________________________________________________________ Requerimientos funcionales:________________________________________ _______________________________________________________________ _______________________________________________________________ Requerimientos no funcionales:_____________________________________ _______________________________________________________________ _______________________________________________________________ Recursos necesarios:______________________________________________ _______________________________________________________________ _______________________________________________________________
Formulario 4.4. Obtención de requerimientos
43
4.4. Diseño.
En esta etapa se pasa a diseñar el ambiente virtual el cual empieza por obtener información pertinente del lugar que se va a recrear. Como primera medida para obtener esta información se deben conseguir los antecedentes (ambientes virtuales ya realizados) si existen del lugar a modelar. Luego de esto se pasa a la toma de fotografías de diferentes ángulos o en su defecto grabar un video del lugar lo cual sirve para comparar en la etapa de desarrollo e integración del modelo. Otra formada de obtener la información es creando un croquis del espacio, si es el
caso de un lugar más complejo acceder a loa planos o fotografías
satelitales. Para el caso de un ambiente virtual complejo donde se manejan objetos con animaciones se debe tener el mayor conocimiento de cómo trabajan dichos objetos por ejemplo si se pretende recrear una parque temático se deben conocer los movimientos de las maquinas que este tiene. Esta información es muy útil ya que me permite ubicar los elementos que componen el ambiente y determinar su distancia, teniendo así un adecuado modelamiento del lugar.
4.4.1.
Pasos para el diseño del ambiente virtual.
Para poder hacer un diseño completo y preciso del ambiente se deben seguir los siguientes pasos.
4.4.1.1.
Identificar el Espacio.
Al identificar el lugar a modelar permite apreciar el comportamiento y el contexto general del ambiente. Por ejemplo al recrear una fábrica se estaría al frente de un ambiente virtual dinámico, caso contrario si se quiere recrear el parque
arqueológico de san Agustín se
presencia
un ambiente virtual
estático.
44
Además de esto se debe establecer si el lugar es imaginario, o es una representación de un espacio de la vida real
4.4.1.2.
Identificación de los objetos.
Como primera medida de este paso se identifica si los objetos que se va a manejar en el ambiente son objetos reales u objetos imaginarios. Luego se identifican los objetos que componen el ambiente mediante la obtención de información ya sea por medio de fotografías o por medio de los planos del lugar a modelar. Los objetos se pueden clasificar en varios tipos:
Estructuras: Se trata de aquellas figuras o formas que pueden formar partes de la transformación jerárquica del ambiente como por ejemplo edificios, maquinas, seres vivos, etc.
Objetos estáticos: los objetos estáticos son aquellos objetos los cuales carecen de movimientos.
Objetos dinámicos: son aquellos objetos los cuales pueden ser puestos en movimiento por medio de la interacción del usuario (clic), o simplemente están en constante movimiento.
4.4.1.3.
Descripción de atributos.
Una vez identificado los objetos que componen el ambiente virtual, se procede a establecer los atributos, los cuales otorgan cualidades al ambiente. Estos atributos son características físicas de los diferentes objetos que componen el ambiente. Por ejemplo las texturas que tendrán las paredes y el piso, el tamaño de una mesa, el sonido de una radio, etc. Para la descripción de los atributos se debe tener en cuenta las fotografías el escenario y en su defecto los requerimientos obtenidos del cliente.
45
4.4.1.4.
Identificación de Eventos.
Este paso es identificar los cambios que sufren los objetos del ambiente después de un evento. Los objetos pueden sufrir cambios de color, posición o movimientos. Por ejemplo si enciende los focos de una habitación los objetos que se encuentran en la habitación cambiaran los colores dando la sensación de luz. Para poder identificar los eventos de los objetos se deben tener en cuenta nuevamente los requerimientos funcionales, lo más importante es tener encuesta los videos tomados para apreciar los distintos cambios que sufren los objetos. La etapa de diseño se describe mejor y de forma breve en la siguiente grafica.
Fig.4.3 Etapa de diseño
Para recolectar la información acerca de la etapa de diseño se debe manejar el siguiente formulario el cual se debe hacer a cada uno de los objetos que se encuentran en el espacio.
Formulario 4.5 etapa de diseño.
46
4.5. Desarrollo e Integración del modelo.
Luego de seguir los pasos anteriores, se procede al desarrollo y la integración del modelo de nuestro ambiente virtual. El desarrollo consiste en ir dando formas a los objetos que luego serán utilizados en la escena. Según sea la necesidad del ambiente, el nivel de detalle que se quiere obtener y del presupuesto de proyecto los objetos pueden ser comprados, descargado de internet o creados por el desarrollador. Existen tres métodos para la creación de ambientes virtuales u objetos 3D.
4.5.1. Digitar el código completo.
Digitar el código completo puede resultar una buena o mala idea, dependiendo del tipo de objeto a modelar y los requerimientos establecidos, por lo que hay que tener en cuenta ciertos aspectos. El primer aspecto que hay que tener en cuenta a la hora de modelar un objeto es que el equipo de trabajo debe conocer las especificaciones del lenguaje que maneja el software de modelado, si el equipo no cuenta con este conocimiento hay que tener en cuenta el plazo de entrega del ambiente para poder considerar una capacitación acerca del lenguaje de dicho software. El segundo aspecto a tener en cuenta es la complejidad del objeto, por lo que pueden haber objetos de formas muy complejas, que digitando el código puede tornarse muy tedioso y en el peor de los casos puede llegar a ser imposible de modelar. Pero digitar el código puede ser muy útil en un proyecto con aspecto pedagógico ya que mediante esta técnica se puede aprender muy fácilmente le lenguaje de ciertos software de modelado 3D.
47
4.5.2. Usar una herramienta para crear gráficamente el objeto.
Este método consiste en utilizar software de modelado gráficos como Blender, lo cual proporciona una ventaja respecto al método de digitar el código completo ya que se pueden llevar a cabo la creación de objetos de forma compleja de una forma más sencilla y más ágil, siendo la mejor opción a la hora de realizar un proyecto complejo. Un aspecto importante de este método, es que los objetos creados en software gráficos pueden ser utilizados en otro software donde hay que digitar el código con solo instanciar el objeto o simplemente arrastrar y soltar el objeto. En el caso de trabajar con software para crear objetos gráficamente es muy importante elegir software los cuales tengan una alta interoperabilidad con otro software, facilitando así el trabajo a la hora de realizar un ambiente virtual complejo.
4.5.3. Transformación de archivos. Los métodos anteriores son pensados para el modelado de ambientes virtuales o de objetos 3D partiendo desde cero. Sin embargo existe la posibilidad de que exista algún proyecto acerca del espacio del que se quiere modelar y que por lo tanto solo sea necesario hacer una adaptación de ese código al formato del software o herramienta que se utilizara. Existen herramientas que permiten transformar de un formato a otro directamente. Permitiendo un gran ahorro de tiempo ya que solo quedaría ajustar detalles y agregar ciertas funcionalidades dando cumplimiento a los requerimientos dados por el cliente o usuario.
4.5.4. Combinar los métodos anteriores. La combinación de los tres métodos mencionados, o por lo menos de los dos primeros, resulta ser una de las mejores alternativas de desarrollo cuando se esta al frente de la creación de un ambiente virtual complejo, ya que se
48
aprovecha al máximo el potencial de las diferentes herramientas que trabajan gráficamente junto con ajustar a mano algunos detalles que no satisfacen nuestra perspectiva. Por lo que resulta muy importante la interoperabilidad de las herramientas utilizadas para de esa manera optimizar los resultados esperados.
El ensamble también se conoce con compuesto-de (made-of). Mediante esta relación un ambiente virtual está compuesto por objetos, y a su vez un objeto está compuesto por otros objetos. El ensamble es asimétrico por lo cual un objeto le pertenece al ambiente o un objeto está subordinado a otro objeto. Además es transitivo lo cual un ambiente está formado por varios objetos pero a su vez un objetos está formado por otros objetos, lo que el ambiente posee los subojetos por los cuales están creado los objetos del ambiente. En siguiente diagrama facilita el ensamble de un ambiente virtual o de los objetos contenidos en el ambiente.
Ambiente Virtual
Objeto 1
Objeto 2
Objeto 3
Objeto 4
SubObjeto 1 Fig.4.4 Diagrama de Ensamble.
49
Nomenclatura del diagrama de ensamble.
= Objetos que conforman el ambiente o Subojetos.
= Representa Ensamble o pertenencia.
= Representa de que el ambiente contiene el mismo objeto varias veces.
= Representa que el ambiente contiene el objeto una sola vez
En esta etapa se recomienda que las personas encargadas del desarrollo del ambiente realicen pruebas para verificar que el ensamble y modelados del ambiente u objetos sea el correcto.
4.6. Pruebas.
Ejecutar pruebas es una actividad muy importante
en cualquier tipo de
desarrollo software, esta actividad tiene el objetivo de ajustar y optimizar la calidad del producto identificando defectos y problemas. Las pruebas consisten en verificar el comportamiento de un programa mediante un grupo de t茅cnicas de prueba. Las pruebas son una tarea que no empieza solamente cuando la fase de programaci贸n se ha completado, el prop贸sito de las pruebas no es solo detectar errores fallas o defectos. Las pruebas del software se ven ahora como una actividad que deber铆a estar presente durante todo el proceso de
50
desarrollo y mantenimiento y es en sí misma una parte importante
de la
construcción del producto. La etapa de prueba de esta metodología está basada en el trabajo de grado titulado “DEFINICIÓN DE UN PROCEDIMIENTO PARA LA APLICACIÓN DE PRUEBAS EN EL DESARROLLO DE MUNDOS VIRTUALES”
[17]
cuyo autor
es Ellelver Arleynder Meneses Jaimes. De la universidad de pamplona del 2008. Antes de especificar las etapas del proceso de prueba es importante mencionar que para comenzar a ejecutar las pruebas tanto diseñadores como desarrolladores deben reunirse para elaborar con base a los requerimientos otros requerimientos propios del ambiente virtual. Ejemplo el usuario desea un mundo virtual. Para dar a conocer los fenómenos que se desarrollaron en el espacio, para escenarios del mundo, los objetos que van a estar en cada uno de los escenarios, como puede el usuario final manipular el mundo virtual, cuáles pueden ser las animaciones del mundo virtual definir la historia del mundo virtual etc. Según Ellelver el proceso de pruebas de un ambiente virtual consta tres etapas: Etapa uno: Diseñador de Objetos Gráficos. Etapa Dos: Programador. Etapa Tres Usuarios de Prueba
4.6.1.
Etapa uno: Diseño de objetos Gráficos.
La etapa uno abarca toda la parte de diseño de objetos en 3d como en 2d, según lo requiera el mundo virtual. Esta etapa manejara varios casos de pruebas los cuales estarán representados por medios de formularios cada formulario, contiene la información adecuada de acuerdo al caso de prueba única. Esta etapa esta basada en cuatro tipos de pruebas, las cuales se ilustran en la siguiente figura.
51
Fig.4.5 Etapa Uno Proceso de Pruebas
4.6.1.1.
Validar objetos según los requerimientos.
En este caso de prueba el diseñador debe verificar que a cada objeto le correspondan los requerimientos iniciales del ambiente virtual, características del objeto como por ejemplo la forma, el color, el tamaño, características especiales, tipo de textura del objeto. El diseñador no debe salir del contexto del mundo virtual. Este contexto hace referencia a la ambientación, iluminación entre otros. Para este caso de prueba se debe usar el siguiente formulario.
Formulario 4.6 Caso de pruebas Según Requerimientos
4.6.1.2.
Comprobar Poligonización.
Este este es un caso de prueba muy importante en el proceso de pruebas, debido a que el mayor de los defectos en un mundo virtual es colocar en los objetos una cantidad muy grande de polígonos, provocando un tiempo demasiado lento en la carga de estos objetos y aún más en el tiempo de
52
ejecución del ambiente virtual. Además logra que el ambiente solo se ejecute en máquinas demasiado potente. El objetivo de este caso de prueba es eliminar la mayor cantidad de polígono de los diferentes objetos como el color, tamaño, cantidad de polígonos etc. Casi que es solo cuestión de experiencia del diseñador en el programa para lograr quitar los polígonos del objeto. Para capturar este caso de prueba se utiliza el siguiente formulario.
Formulario 4.7 caso de prueba Poligonización
4.6.1.3.
Validar Animación.
El objetivo principal de este caso de prueba es reducir el número de huesos posibles sin perder la realidad de la animación del objeto. En la mayoría de los programas creados para hacer animaciones 3D manejan el término armadura y huesos como el eje fundamental para diseñar y construir animaciones en los objetos. Las animaciones están determinadas por líneas de tiempo, un objeto puede tener varias animaciones a la vez, estas diferentes animaciones están divididas por unos segmentos de tiempo llamados frames. Para la frecuencia del ojo humano las animaciones comprenden entre 20 y 24 frames esto quiere decir que una animación entre este rango de frames puede verse fluida y no entre cortada.
53
La información acerca de este caso de prueba se recogerá en el siguiente formulario.
Formulario 4.8 Caso de prueba Validar Animación.
4.6.1.4.
Verificar exportación de objeto.
Este caso de prueba es importante para los desarrolladores, porque dependiendo de cuál fue la herramienta que se exporte el objeto se pueden limitar los efectos del objeto. Existen unas herramientas de diseño 3d que pueden exportar todas las propiedades que la herramienta maneja pero existen otros que no, ejemplo Blender no puede exportar la luz que el crea para formatos B3D mientras que Giles es una herramienta que importa este archivo b3d y permite generar luz para ese objeto
y al exportarlo en formato b3d el objeto queda con la
iluminación creada en Giles. En siguiente formato se capturara esta información.
54
Formulario 4.9 Caso de prueba Validar exportación de objeto.
4.6.1.5.
Evaluación/Informes.
Es el cierre de la etapa uno, para este cierre se reúne a todo el equipo de la etapa uno para hacer un último análisis de la ejecución de pruebas y generar un informe adicionando las plantillas de pruebas, el reporte debe contener información sobre el proyecto el cual se está desarrollando ubicación de toda la información en este caso de donde se encuentran todos los objetos, la lista de los objetos probados. En caso de un desacuerdo entre el grupo se realizara una revisión en esta etapa por los integrantes del grupo.
55
4.6.2.
Etapa Dos: Programador.
Fig. 4.6 Etapa Dos del proceso de pruebas.
La figura 3.2 muestra la etapa dos, hace referencia a los desarrolladores quienes son los que importan los objetos controlan las animaciones organizan y arman el mundo virtual etc.
4.6.2.1.
Importar Objetos.
Los desarrolladores deben verificar los objetos cuando se importan al mundo virtual, esto se hace debido a que al cargarlos y hacer una visualizaci贸n de objeto puede ocasionar un colapso en sistema o en el mundo virtual.
Formato 4.10 Casos de prueba importar objeto.
56
4.6.2.2.
Tiempo de Ejecución.
Caso de prueba importante, porque este caso permite mejorar la rapidez del mundo virtual, ejemplo la carga de submundos virtuales, las diferentes mallas, imágenes, sprites etc. Los desarrolladores deben observar la mejor manera para codificar el mundo virtual y poder lograr que el producto 3d sea lo más liviano posible en modo ejecución. El formulario 3.6 no ayuda a establecer la información respecto al tiempo de ejecución.
Formulario 4.11 Caso de prueba Tiempo de Ejecución.
4.6.2.3.
Ejecución y Animación de objeto.
Las animaciones son creadas por los diseñadores pero ellos solo hacen un ciclo de cada animación para un objeto. La tarea del desarrollador con este tipo de objetos es ubicarlos en la escena y controlar la animación de estos objetos generando las repeticiones de la animación según sea el mundo virtual. La prueba consiste en examinar la realidad de las animaciones es decir si al generar un bucle en las animaciones se denota algún defecto en ella. El siguiente formulario se especifica este caso de prueba.
57
Formulario 4.12 caso de prueba Ejecución y animación de objeto
4.6.2.4.
Tolerancia de Hardware.
Este caso de prueba tiene como objetivo limitar el mundo virtual para la ejecución de las diferentes máquinas. No todos los video juegos se ejecutan en cualquier ordenador existen algunos que requieren tarjetas de video, memoria RAM, grandes cantidades de disco duro y procesadores de alto rendimiento. Para esto los desarrolladores deben probar el mundo en varias máquinas de tal manera que se pongan de acuerdo para establecer los requerimientos mínimos de hardware para el mundo. Para esto debe hacerse una reunión entre delegados o jefes de grupo tanto diseñadores como los desarrolladores.
58
Formulario 4.13 Tolerancia de Hardware
4.6.2.5.
Validación
de
Objetos
Según
Requerimientos,
Validar
Animación y Comprobación de Polígonos. En algunas ocasiones le es más factible desarrollar algunos objetos ellos mismos, es mejor por muchas características mejor movilidad en el editor del mundo virtual, manejo de más propiedades sobre el objeto, se puede lograr controlar mejor la animación etc. Todas esas características y mas dependen del editor 3d que el desarrollador emplea, hacen que la etapa dos maneje estos dos casos antes mencionados en la etapa uno, pues el desarrollador debe en ese caso evaluar sus objetos, animaciones o Poligonización. Para la validación de objetos se utilizan los mismos formularios que utiliza el diseñador en estos casos de prueba al igual que validar animación y comprobación de polígonos.
4.6.2.6.
.Evaluación/Informes.
Es el cierre de la etapa dos, para este cierre se reúne a todo el equipo de la etapa dos y así poder hacer un último análisis de la ejecución de pruebas y generar un
informe adicionando las plantillas de pruebas, el informe debe
contener información sobre el proyecto el cual se está desarrollando como lo es la ubicación de toda la información en este caso de donde se encuentran todos los componentes del mundo virtual. Además se deben anexar las plantillas de los componentes evaluados.
59
En caso de un desacuerdo entre el grupo se realizara una revisión en esta etapa
4.6.3.
Etapa Tres Usuarios de Prueba.
Fig.4.7 Etapa Tres del proceso de pruebas.
La figura 4.7 muestra un bosquejo de la etapa tres, esta es una etapa de casos de prueba para el usuario final en donde personas ajenas al proyecto elaboran pruebas al mundo desde su instalación como maniobrabilidad, efectos visuales y tolerancias a errores ajenos como no al mundo virtual.
4.6.3.1.
Instalación del Mundo Virtual.
Caso de prueba en el cual se instala el mundo virtual en un ordenador que cumpla con los mínimos requerimientos de hardware como por ejemplo memoria 256 RAM, disco duro de 40Gb, video 32Mb, el video no es 3d, el procesador sea de 1ghz, etc. Tanto en un ordenador del alto rendimiento es decir que el ordenador posea 2Gb RAM, disco duro 500Gb, video 512Mb, el video es 3d, el procesador es 3.2Ghz, etc. La prueba finaliza al ejecutar por primera vez el mundo virtual, el objetivo es lograr que tanto en la máquina de requerimientos mínimos como la máquina de alto rendimiento no generen ningún tipo de fallas al iniciar por primera vez el mundo virtual. Las características de la maquina se establecen en el siguiente formulario.
60
Formulario 4.14 Casos de prueba Instalación del Mundo Virtual
4.6.3.2.
Maniobralidad.
El formulario 4.15 contiene la maniobrabilidad del mundo virtual, sirve para evaluar que tan rápido se adapta el usuario al mundo, que tan fácil le es para el usuario controlar el mundo virtual, si en verdad se siente cómodo con los controles del mundo virtual etc.
Formulario 4.15 caso de prueba Maniobralidad.
4.6.3.3.
Efectos Especiales.
Los efectos especiales se refieren a las imágenes que brillan o que se fragmentan durante la ejecución del juego, la mayoría de los efectos especiales son elaborados de forma matemática con tratamiento de imágenes. Ejemplo la llama de una antorcha, el agua, chispas de un corto circuito, el humo de un automóvil, la iluminación de un bombillo etc.
61
En el formulario 4.16 las personas encargadas de ejecutar esta prueba deben observar detalladamente los efectos, es decir que sean acordes al mundo real, que la textura sea lo bastante real etc. Los efectos especiales en un mundo virtual hacen que el usuario no se distraiga del mundo virtual.
Formulario 4.16 Caso de prueba Efectos Especiales.
4.6.3.4.
Tolerancia a errores externos.
Este caso de prueba evalĂşa que tan robusto es el mundo virtual a fallas o errores ajenos a el producto 3d, como lo es por ejemplo que en el momento de guardar la partida no haya energĂa, que el ordenador presente fallas de hardware, que haya un colapso en el sistema operativo o que el equipo se apague de repente tambiĂŠn puede ser que el equipo se reinicie de forma inesperada. El usuario que ejecuta la prueba debe colocar en el formulario 4.17
Formulario 4.17 Caso de prueba Tolerancia a errores externos.
62
4.6.3.5.
Evaluaci贸n / Informes.
Para la entrega de este informe se re煤nen todo los integrantes del grupo y determinar si es o no necesario realizar nuevamente las pruebas.
63
Capitulo 5 Aplicación de la metodología para creación de ambientes virtuales para modelar el laboratorio LI 109 de la universidad de pamplona.
5.1.
Selección del espacio y previo estudio.
El lugar seleccionado para aplicar esta metodología es el “laboratorio de Linux LI 109 de la Universidad de Pamplona” ubicado el edificio Padre Enrique Rochereaux. El laboratorio cuenta con unos computadores, mesas, sillas, puerta, ventanas, lámparas, tablero.
Etapa uno: Selección del lugar Realizado por: Idelson Castaño
Fecha: 23/12/2011 Código: FSEE01
Nombre del lugar: laboratorio de Linux LI 109. Tipo de espacio: Cerrado y Real
Tipo de objetos: reales
Objetivo: El objetivo de este ambiente virtual es dar a conocer como está compuesto un laboratorio de la Universidad de Pamplona.
Alcances: El usuario podrá explorar el laboratorio, podrá encender los computadores y las lámparas y abrir la puerta.
Limites: en el ambiente solo se manejaran objetos estáticos y se manejan pocos eventos en los objetos, no podrán manipular lo computadores
64
ESTUDIO DE FACTIBILIDAD.
Etapa uno: Estudio de Factibilidad. Realizado por: Idelson Castaño
Fecha: 23/12/2011
Código: FSEE02
Factibilidad Técnica. ¿Se dispone en la actualidad de la tecnología y software necesarios para el desarrollo del ambiente virtual? SI _X_ NO___ ¿Se dispone de los conocimientos necesarios para poder desarrollar el ambiente virtual? SI _X_ NO___ Si no se cuenta con los conocimientos necesarios. ¿Se dispone del tiempo necesario para capacitar el personal y así poder llevar a cabo el proyecto? SI _X_ NO___ Factibilidad Operativa. ¿En que campo será utilizado el ambiente? Salud ___ Educación _X_ Entretenimiento ___ Simulación ___ ¿Contaran los usuarios con el hardware básico para la ejecución? SI _X_ NO___ Factibilidad de Fecha. ¿En que plazo se desarrollara el ambiente? Corto _X_ Mediano ___ Largo ___ Factibilidad Económica. ¿los beneficios que se obtendrán del desarrollo del ambiente virtual será mayores que los costos? SI _X_
NO___
Conclusión. Con este estudio de factibilidad se concluye que: el desarrollo del ambiente virtual es posible ya que se cuenta con las herramientas necesarias.
Evaluado por: Idelson Castaño________ Fecha: 23/12/2011__
65
5.2.
Planificación del proyecto de creación del ambiente virtual.
Etapa tres: Cronograma de actividades Realizado por: Idelson Castaño Nombre de la tarea
Obtención de requerimientos Crear el StoryBoard Verificar el StoryBoard Establecer las herramientas y los recursos que se utilizaran Identificar el ambiente Identificar los objetos Establecer lo atributos de los objetos Recolectar información del lugar mediante la toma de fotografía Crear los objetos que componen el ambiente Ensamblar el ambiente mediante la integración de los objetos Ejecutar las pruebas
Fecha:
Código: FPCAV01
Duración de la tarea en días
Fecha de comienzo de la tarea
Fecha de terminación de la tarea
Persona que realizara la tarea
1
23/12/2011
23/12/2011
Idelson Castaño
1
23/12/2011
23/12/2011
Idelson Castaño
1
24/12/2011
24/12/2011
Idelson Castaño
1
23/12/2011
23/12/2011
Idelson Castaño
1
13/12/2011
13/12/2011
Idelson Castaño
1
13/12/2011
13/12/2011
Idelson Castaño
1
13/12/2011
14/12/2011
Idelson Castaño
1
13/12/2011
13/12/2011
Idelson Castaño
14
23/12/2011
05/01/2012
Idelson Castaño
2
05/01/2012
06/01/2012
Idelson Castaño
2
06/01/2012
07/01/2012
Idelson Castaño
66
5.3.
Obtención de requerimientos
Etapa dos: Obtención de requerimientos Realizado por: Idelson Castaño
Fecha: 23/12/2011
Código: FOR01
Nombre del ambiente: Laboratorio de Linux LI109 Descripción: Se desarrollara el ambiente virtual del laboratorio de Linux LI109 teniendo en cuenta las características y objetos del espacio, el nivel de detalle a trabajar es bajo. Requerimientos funcionales: Los objetos que componen el ambiente serán estáticos, solo existirán tres tipos de interacción directa con los objetos (abrir la puerta, encender la luz y prender la pantalla del computador), y el tipo de movimiento será de rotación del mundo y el desplazamiento del modo walk Requerimientos no funcionales: para modelar el laboratorio se utilizara el leguaje VRLM, será visualizarlo médiate un navegador web con el plugin Cortona 3D, además se digitará el código Recursos necesarios: para desarrollar este ambiente virtual se utilizara un Computador con memoria Ram 3 GB, procesador AMD turion 2.20 GHZ, además, el software Vrml PAD 3.1 y un plugin para el navegador el cual es el Cortona 3D,
Luego de obtener los requerimientos funcionales y no funcionales se procede a crear una representación grafica (StoryBoard.) del espacio a modelar, esta representación se puede presenciar en la figura 5.1
67
Fig.5.1 StoryBoard
68
5.4.
Diseño.
El método de obtención de información para la creación del ambiente virtual que modele el laboratorio de Linux LI 109 de la Universidad de Pamplona, fue con la captura de fotografías, las cuales tendrán como objetivo determinar las ubicaciones de los objetos que componen el lugar de una forma mas precisa. Las siguientes imágenes corresponden a las fotografías tomadas.
Fig. 5.2 Fotografías del espacio real
Al estudiar las imágenes del ambiente virtual a desarrollar se observa los diferentes objetos que compondrán el mundo, y es en este punto donde se toma la decisión de cuales objetos son estáticos y cuales tendrán algún tipo de animación, también se debe decidir en cuanto al nivel de detalle de los objetos
69
Identificación de los objetos.
Etapa de diseño Realizado por: Idelson castaño
Fecha: 13/12/2011 Código: FED01
Nombre del objeto: Silla Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: Silla de oficina hecha en madera, con fondo y espaldar con tapizado negro, Descripción de eventos: Este objeto no tiene ningún evento ya que se trata de un objeto estático.
Etapa de Diseño Realizado por: Idelson Castaño
Fecha: 13/12/2011 Código: FED01
Nombre del objeto: Mesa Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: mesa con una estructura en hierro pintada de color negro y con la superficie en acrílico, esta sostenida mediante patas, Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
Etapa de diseño Realizado por: Idelson castaño
Fecha: 13/12/2011
Código: FED01
Nombre del objeto: Computador Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: Computador de mesa IBM con carcasa negra el monitor esta sobre la torre, cuenta con teclado y mouse, Descripción de eventos: al presionar el botón de encendido del monitor este se encenderá o se apagara.
70
Etapa de diseño Realizado por: Idelson castaño
Fecha: 13/12/2011 Código: FED01
Nombre del objeto: Tablero Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: tablero acrílico de color blanco, Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
Etapa de diseño Realizado por: Idelson Castaño
Fecha: 13/12/2011 Código: FED01
Nombre del objeto: Lámpara Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: Lámparas de neón caseras de color blanco, con un tubo de neón de forma cilíndricas Descripción de eventos: al presionar el objeto interruptor esta se encenderá o se apagara simulando la lámpara real.
Etapa de diseño Realizado por: Idelson castaño
Fecha: 14/12/2011
Código: FED01
Nombre del objeto: Ventanas Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: Ventanas con marco en metal y con un color marrón claro y con vidrio trasparentes de un color café claro Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
71
Etapa de diseño Realizado por: Idelson Castaño
Fecha: 14/12/2011
Código: FED01
Nombre del objeto: Puerta Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: Puerta hecha en acrílico y con un marco de metal de color café claro. Descripción de eventos: al dar clic sobre el objeto este simulara la apertura o el cerrado según el caso
Etapa de diseño Realizado por: Idelson castaño
Fecha: 14/12/2011 Código: FED01
Nombre del objeto: Paredes Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: las paredes tienen una textura de granito, unas de color zapote y otras de color blanco Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
Etapa de diseño Realizado por: Idelson Castaño
Fecha: 14/12/2011 Código: FED01
Nombre del objeto: Piso Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: el piso es una baldosa de color blanco con pisquitas negras y café. Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
72
Etapa de diseño Realizado por: Idelson Castaño
Fecha: 14/12/2001
Código: FED01
Nombre del objeto: Techo Tipo de objeto: Real _X_, Imaginario__, Estáticos _X_, Dinámicos___ Descripción de atributos: es techo es de la misma textura que las paredes pero es de color blanco. Descripción de eventos: este objeto no tiene ningún evento ya que se trata de un objeto estático.
5.5.
Desarrollo e Integración del modelo.
Luego de identificar los objetos y de definir los atributos y eventos se avanzo al siguiente paso el cual es el desarrollo de los objetos. Los objetos fueron creados por el desarrollador, debido a que el presupuesto del proyecto es muy bajo, y comprar los objetos hechos es muy costo, y objetos que se adapten a las necesidades no se encontraron de forma gratuita. Los objetos fueron creados integrando figuras primitivas (cuadrado, círculos, cilindros y conos) para que el tiempo de ejecución del ambiente sea bajo además pueda ser utilizado en cualquier maquina. El método que se utilizo para el desarrollo de los objetos fue desarrollar el código completo, creando archivos independientes para cada objeto. Una vez creado los objetos que componen el mundo, se ensambla el ambiente virtual integrando los objetos desarrollados, teniendo en cuenta las fotografías de la etapa de diseño para colocar los objetos en su posición real, para que de esta forma el mundo sea lo más cercano al espacio original
Para la creación de la mesa se utilizo la primitiva cubo, lo primero que se hizo fue crear la estructura de la mesa creando primero las patas, luego las superficie de la mesa y se continuo con ponerle los colores a la mesa utilizando los colores que trae el programa. Ver figura 5.3
73
Fig. 5.3. Mesa 3D.
De la misma manera se creo la silla a diferencia de la mesa, para la creaci贸n de la silla se utilizaron dos primitiva (cilindro y cubo), adem谩s se utilizo una textura de madera para estructura de la silla. Ver figura 5.4
Fig.5.4. Silla 3D
74
Para crear la lรกmpara se utilizaron cubos para hacer la caja de la lรกmpara y para simular el tubo se utilizo un cilindro. Ver figura 5.5.
Fig. 5.5. Lรกmpara 3D.
De igual forma para crear la puerta se utilizo una textura de madera y para la cerradura se utilizo una imagen de una cerradura, se creo una puerta rodadiza debido a la complejidad de crear una puerta que gire y el poco tiempo que hubo para el desarrollo. Ver figura 5.6.
Fig. 5.6. Puerta 3D
75
El computador se creo muy parecido a los reales, se utilizo el color gris para diferenciar lo relieves que tiene la CPU. Ver figura 5.7
Fig. 5.7. Computador 3D.
La pared se represento con un cubo, a este cubo se le puso una textura de estucado blanco para que se asemeje a las paredes reales. Ver figura 5.8
Fig. 5.8. Pared 3D
76
De la misma manera se creo el piso, pero con una textura que simula una baldosa de granito. Ver figura 5.9
Fig. 5.9. Piso 3D.
Para crear las ventas se utilizaron cubos, para simular el vidrio se escogi贸 un color caf茅 y se le dio una transparencias de 0.8 puntos. Ver figura 5.10
Fig. 5.10. Ventanas 3D
77
Las siguientes imรกgenes muestran el mundo ya terminado visto desde la parte exterior figura 5.11 y desde la parte de interior figura 5.12
Fig. 5.11. Ambiente terminado parte exterior.
Fig. 5.12. Ambiente terminado parte interior
78
5.6.
Pruebas.
Etapa uno: diseño de objetos Gráficos.
Validar objetos según los requerimientos.
79
80
81
Comprobar Poligonización.
Todos los objetos que componen el ambiente virtual fueron creados con las primitivas, como son cubos, cilindros, esferas y conos, por lo que no es necesario realizar este caso de prueba.
Validar Animación.
82
Verificar exportación de objeto.
Este caso de prueba tampoco es necesario ya que los objetos se crearon y ensamblado en Vrml Pad.
Evaluación / Informes.
Proyecto evaluado: Creación de un ambiente virtual para modelar el laboratorio LI 109 de la universidad de pamplona
Informe: 01 Etapa: 01 Fecha: 19/01/2012
Según las pruebas realizadas a los objetos (mesa.wrl, silla.wrl, lámpara.wrl, computador.wrl, piso.wrl, ventana.wrl) que componen el ambiente virtual se llega a la conclusión general de: Se puede continuar con la siguiente etapa ya que estos objetos cumplen con los requerimientos.
Elaborado por: Idelson Castaño
Etapa Dos: Programador.
Importación de objetos.
Este caso de prueba no es necesario ya que no se importaron objetos
83
Tiempo de ejecución.
Ejecución, animaciones de objetos.
Tolerancia de Hardware.
84
Validar objetos según los requerimientos.
Esta validación no se realizara ya que no hay cambios de forma ni de formato en lo objetos y en la etapa uno no se solicito la modificación de los objetos
Evaluación / Informes.
Proyecto evaluado: Creación de un ambiente virtual para modelar el laboratorio LI 109 de la universidad de pamplona
Informe: 01 Etapa: 02 Fecha: 19/01/2012
Según las pruebas realizadas a los objetos (mesa.wrl, silla.wrl, lámpara.wrl, computador.wrl, piso.wrl, ventana.wrl) y al ambiente virtual completo se llega a la conclusión general de: Se puede continuar con la siguiente etapa ya que estos objetos cumplen con los requerimientos y el ambiente puede ser ejecutado en cualquier computador.
Elaborado por: Idelson Castaño
85
Etapa tres usuario de prueba.
Instalación del mundo virtual.
Maniobrabilidad.
Efectos visuales
86
Tolerancia a Errores Externos.
Evaluación / Informes.
Proyecto evaluado: Creación de un ambiente virtual para modelar el laboratorio LI 109 de la universidad de pamplona
Informe: 01 Etapa: 02 Fecha: 19/01/2012
Según las pruebas realizadas a los objetos (mesa.wrl, silla.wrl, lámpara.wrl, computador.wrl, piso.wrl, ventana.wrl) y al ambiente virtual completo se llega a la conclusión general de: Se puede el ambiente creado cumplen con las expectativas deseadas y con todos los requerimientos Elaborado por: Idelson Castaño
87
Conclusión.
Al investigar las metodologías para la creación de mundos virtuales se identificaron las etapas necesarias para el desarrollo de los ambientes. Una vez analizadas las etapas encontradas y las metodologías existentes se observo la necesidad de plantear una metodología que se adaptara mejor al desarrollo de los ambientes virtuales, donde se
cubran todos los aspectos necesarios
partiendo de la concepción de la idea del desarrollo del mundo pasando por la selección del espacio, la planificación del proyecto, la obtención de los requerimientos, el diseño, el desarrollo e integración del modelo hasta la etapa de pruebas.
Al aplicar la metodología planteada se pudo concluir que: Esta metodología permite al diseñador una mayor facilidad de desarrollo de los mundos virtuales, en particular si no han tenido experiencia alguna en el área, ya que al seguir las etapas de la metodología el desarrollador puede crear un ambiente virtual de una manera rápida ,sencilla y eficaz, ofreciendo un ambiente de trabajo agradable para que este se realice de manera ordenada sin obviar pautas que podrían afectar el producto final, dando como resultado que el entorno creado cumpla con el grado de detalle requerido, con un mayor nivel de realidad y se cumplas las expectativas del proceso.
88
Recomendaciones
Un aspecto muy importante a tener en cuenta para la creación de mundo virtuales, son los ambientes multiusuarios, por lo que se recomienda incluir a la metodología las fases necesarias para la creación de entornos virtuales multiusuarios.
Complementar la metodología con una etapa final para el montaje del mundo virtual en un servidor dando acceso a través de internet, con el fin de permitir que más usuarios tenga la experiencia de interacción con el medio virtual creado.
Continuar en posteriores trabajos de grado la metodología para que se adapte al desarrollo de video juegos, debido a que estos necesitan tener una historia atractiva al usuario, así como que el avatar pueda recorrer los diferentes mundo que componen el video juego, el desarrollo de video juegos es mas complejo y se necesita que la metodología cubra todos los aspectos.
89
GLOSARIO DE TÉRMINOS Avatar: En Internet y otras tecnologías de comunicación modernas, se denomina avatar a una representación gráfica, generalmente humana, que se asocia a un usuario para su identificación. Los avatares pueden ser fotografías o dibujos artísticos, y algunas tecnologías permiten el uso de representaciones tridimensionales.
Frame: Se denomina frame en inglés, a un fotograma o cuadro, una imagen particular dentro de una sucesión de imágenes que componen una animación. La continua sucesión de estos fotogramas producen a la vista la sensación de movimiento, fenómeno dado por las pequeñas diferencias que hay entre cada uno de ellos.
Hueso: estructura que se genera y se acopla al objeto para crear animaciones. Inmersión: del latín immersĭo, es la acción de introducir o introducirse en un cierto ambiente, ya sea real o imaginario.
Interacción: La interacción es una acción que se ejerce de forma recíproca entre dos o más sujetos, objetos, agentes, fuerzas o funciones.
Modelado: Un modelo en 3D es un representación esquemática visible a través de un conjunto de objetos, elementos y propiedades que, una vez procesados (renderización), se convertirán en una imagen en 3D o una animación 3d.
Pixar: Pixar Animation Studios es una compañía de animación por ordenador especializada en la producción de gráficos en 3D
90
Referencias bibliográficas. [1] Autor: Mª Jesús Ledesma Carbayo; Título: Introducción a la Realidad Virtual; Descripción: aquí se encontrara información acerca de la realidad virtual. Disponible en World Wide Web: http://insn.die.upm.es/docs/VR0304.pdf. [Visitado el 24 de noviembre de 2011].
[2] Autor: anónimo; Titulo: que es la realidad virtual; Descripción: se encontrara información acerca de la realidad virtual. Disponible en World Wide Web: http://www.realidadvirtual.com/que-es-larealidad-virtual.htm. [Visitado el 24 noviembre de 2011].
[3] Autor: Graciela Marker; Titulo: Realidad Virtual: Su historia y sus variantes; Descripción: Se encontrara la historia de la realidad virtual. Disponible en World Wide Web: http://www.informatica-hoy.com.ar/realidadvirtual/Realidad-Virtual-Su-historia-y-sus-variantes.php
[Visitado
el
25
de
noviembre de 2011].
[4] Autor: anónimo; Titulo: Realidad virtual; Descripción: describen las característica de la realidad virtual. Disponible en World Wide Web: http://www.difementes.com/realidadvirtual/caracteristicas.html [Visitado el 25 de noviembre 2011].
[5] Autor: Hugo Javier Cardozo Título: Realidad virtual; Descripción: se encontrara la arquitectura de la realidad virtual. Disponible en World Wide Web: http://www.jeuazarru.com/docs/RealidadVirtual.pdf
[Visitado
el
25
de
Noviembre de 2011].
[6] Autor: anónimo; Titulo: Clasificación de la realidad virtual; Descripción: se encuentra la clasificación de la realidad virtual según el hardware.
91
Disponible en World Wide Web: http://www.difementes.com/realidadvirtual/clasificacionsegunhardwarevr.html [Visitado el 26 de noviembre de 2011].
[7] Autor: anónimo; Titulo: Clasificación de la realidad virtual; Descripción: se encuentra la clasificación de la realidad virtual según la interfaz con el usuario. Disponible en World Wide Web: http://www.difementes.com/realidadvirtual/clasificacionsegunlainterfaz.html [Visitado el 26 de noviembre de 2011]. [8] Autor: Nicolás Badano; Titulo: tesis de grado “Mundos virtuales, lazos reales. Hacia una comprensión de los videojuegos online y de los modos de socialización que habilitan”; Descripción: En la página 30 de esta tesis se encuentra una definición de ambientes o mundo virtual. Disponible en World Wide Web: http://es.scribd.com/doc/54669992/16/Definicion-de-mundo-virtual# [Visitado el 26 de noviembre de 2011].
[9] Autores: María González Medrano, Paula Montero Costales, Carlos Pérez Helguera, Lidia Valbuena García Título: Generación de Mundos Virtuales; Descripción: en la pagina 2 de este documento se encuentran los tipos de ambientes
virtuales.
Disponible
en
World
Wide
Web:
http://156.35.151.9/~smi/5tm/10trabajos-teoricos/4/GeneracionMundosVirtuales.pdf [Visitado el 26 de noviembre de 2011]
[10] Autores: María González Medrano, Paula Montero Costales, Carlos Pérez Helguera, Lidia Valbuena García Título: Generación de Mundos Virtuales; Descripción: en la pagina 3 de este documento se encuentran los diferentes lenguajes para la creación de los ambientes virtuales Disponible en World Wide Web: http://156.35.151.9/~smi/5tm/10trabajosteoricos/4/GeneracionMundosVirtuales.pdf [Visitado el 26 de noviembre de 2011].
92
[11] Autor: anónimo; Titulo: Vrml; Descripción: se encontrara una descripción
del
lenguaje
VRML.
Disponible
en
World
Wide
Web:
http://es.wikipedia.org/wiki/VRML [Visitado el 26 de noviembre de 2011]. [12] Autor: Gonzalo Méndez Pozo, Ma Isabel Sánchez Segura, Angélica de Antonio Jiménez; Titulo; Hacia una metodología de desarrollo para la construcción de entornos virtuales;
Disponible en World Wide Web:
http://www.fdi.ucm.es/profesor/gmendez/docs/publicaciones/jisbd01.pdf [Visitado 1 de Diciembre de 2011].
[13] M.I. Sánchez, A. de Antonio y A. de Amescua. SENDA: A Whole Process to Develop Virtual Environments. En: M.I. Sánchez (ed.), Developing Future Interactive Systems, Idea Group, 2005, capítulo 4.
[14] A.T.C. Pereira, I.B. Rebelo y G. Tissiani. Design de Interfaces para Ambientes Virtuais: Como obter Usabilidade em 3D. Actas de la IV Sociedad Iberoamericana de Gráfica Digital, SIGraDI’2000, Rio de Janeiro, Brasil, septiembre 2000, pp. 25-28.
[15] K. Kaur. Designing virtual environments for usability. Tesis doctoral. Centre for HCI Design, City University, Londres, Reino Unido, Junio 1998.
[16] Clive Fencott. Towards a Design Methodology for Virtual Environments. Tesis doctoral. Virtual Reality Applications Research Centre University of Teesside, Inglaterra.
[17] Ellelver Arleynder Meneses Jaimes definición de un procedimiento para la aplicación de pruebas en el desarrollo de mundos virtuales. Universidad de Pamplona Colombia
93