Story Transcript
Entornos virtuales 3D cl´ asicos e inteligentes: hacia un nuevo marco de simulaci´ on para aplicaciones gr´ aficas 3D interactivas Miguel Lozano, Carlos Calder´ on Departmento de Inform´atica, Universidad de Valencia, Dr.Moliner 50, (Burjassot) Valencia (Spain) {Miguel.Lozano}@uv.es Architectural Informatics Group, University of Newcastle, Claremont Road, Newcastle, UK {carlos.calderon}@newcastle.ac.uk 3 de diciembre de 2003
Resumen En este art´ıculo analizamos la evoluci´ on experimentada por los Entornos Virtuales 3D (EVs3D) con el ´enfasis puesto en las cuestiones relativas a su comportamiento como aplicaciones inform´aticas en tiempo de ejecuci´on. En primer lugar, analizamos los modelos computacionales que soportan la mayor´ıa de entornos virtuales 3D, poniendo de manifiesto las carencias comportamentales de los entornos dependientes del modelo cl´ asico de simulaci´on gr´afica. En base a estas carencias, analizamos las directrices de dise˜ no de los nuevos Entornos Virtuales Inteligentes (EVIs), orientados a proporcionar distintas capas de IA (Inteligencia Artificial) que pueden ser embebidas en el EV3D de cara a mejorar las capacidades interactivas de los Entornos Virtuales (EV). Finalmente, concluimos argumentando que los entornos y consecuentemente las tecnolog´ıas que los soportan, basados en la distribuci´ on de eventos de forma as´ıncrona, proporcionan actualmente un marco adecuado para la nueva generaci´ on de EVIs3D.
Palabras clave: Entornos Virtuales 3D, Sistemas Inteligentes, Agentes Inteligentes 3D (3DIVAs), Sistemas Interactivos 3D.
1.
Introducci´ on
visible en cada instante en funci´on de la posici´on del observador o c´amara virtual, en el escenario simulado. Consecuentemente, la comercializaci´on de esta tecnolog´ıa para uso civil dio origen al concepto de Realidad Virtual que todav´ıa hoy perdura: gr´aficos 3D en entornos inmersivos que usan I/O artefactos como guantes, cascos, etc. en busca de mayores grados de interacci´on con el ambiente virtual.
El concepto de entorno virtual en 3D ha evolucionado significativamente en los u ´ltimos a˜ nos. Esta bien documentado [16], que los mundos virtuales tienen su origen en la simulaci´ on militar y en concreto en los simuladores de vuelo, donde el principal problema consiste en extraer de la base de datos visual (presumiblemente grande) el mundo 1
En esta u ´ltima d´ecada, a la vez que la Realidad Virtual se comercializaba en entornos no necesariamente inmersivos, desde el sector de los juegos por computador apareci´ o un nuevo tipo de EV3D interactivo, conocido como motor de juego (game engine). Estos sistemas, pronto se mostraron capaces de mantener un grado de calidad visual equivalente a las aplicaciones de simulaci´on (civil/militar), obteniendo adem´ as mayores grados de interactividad gracias a los fuertes requerimientos que poseen como plataforma de soporte a juegos de distinta naturaleza.
2.
As´ı, hemos llegado a la situaci´ on actual, donde la excelente calidad gr´ afica alcanzada por la tecnolog´ıa gr´afica 3D, por un lado refuerza la met´afora de mundo virtual compartido (de naturaleza interactiva), y por otro, potencia las expectativas comportamentales de los elementos (objetos y agentes) que t´ıpicamente lo habitan.
2.1.
Por consiguiente, hoy en d´ıa, cient´ıficos e investigadores en el area de entornos virtuales 3D interactivos centran su atenci´ on en la creaci´ on de los denominados: Entornos Virtuales Inteligentes (EVI) [17]. Esto es, entornos virtuales que surgen T de la intersecci´on IA gr´ aficos 3D en tiempo real y en los que sus capacidades comportamentales e interactivas son ensalzadas a trav´es de la inclusi´on de t´ecnicas de inteligencia artificial (ver secci´on 3). El ´area m´ as investigada de esta intersecci´on es el campo de agentes virtuales inteligentes 3D (3DIVAs) y, por consiguiente, muchos de los ejemplos del art´ıculo hacen referencia a este ´area.
Modelos computacionales
Independientemente del ambiente interesado en su modelizaci´on virtual, desde un punto de vista exclusivamente computacional, los EV’s est´an compuestos por tres modelos que conformar´an la aplicaci´on inform´atica en tiempo real: un modelo geom´etrico, un modelo comportamental (en tiempo de ejecuci´on) y un modelo de interacci´on con el usuario [15].
Modelo geom´ etrico
Es el encargado de atender al bajo nivel gr´afico, donde por un lado, los distintos tipos de formatos gr´aficos empleados, junto con el modelo interno utilizado para el lanzamiento de las ´ordenes de dibujado o render (grafo de escena, ordenaci´on de primitivas gr´aficas o display lists, etc), resumen las propiedades elementales para la visualizaci´on de cualquier EV 3D. Tradicionalmente, estos entornos son descritos en base a la colecci´on de primitivas poligonales, l´ıneas, texto, superficies, etc., que constituyen la informaci´on espacial visualizada en 3D. Gracias a la implantaci´on de hardware dedicado al procesamiento de dicha informaci´on visual, los sistemas gr´aficos de tiempo real, hoy en d´ıa, son capaces de dibujar millones de pol´ıgonos por segundo, lo que resulta ser una tasa de rendimiento bastante razonable, atendiendo a las numerosas aplicaciones gr´aficas aparecidas en los u ´ltimos a˜ nos.
En este articulo revisamos los modelos computacionales que dan soporte a la mayor´ıa de entornos gr´aficos 3D, poniendo el ´enfasis en la simulaci´on de sus aspectos comportamentales en tiempo de ejecuci´ on. En la segunda secci´ on analizamos los modelos computacionales (geom´etrico, comportamental y de interacci´ on) que conforman un EV3D. Fruto de esta revisi´ on exponemos las principales deficiencias (comportamentales y de interacci´on) de los modelos cl´ asicos de simulaci´on gr´afica. Finalmente, en la segunda parte del art´ıculo revisamos las principales mejoras comportamentales e interactivas que ofrecen los nuevos EVIs, describiendo, usando distintos ejemplos de aplicaci´on, como los entornos basados en la distribuci´on de eventos de forma as´ıncrona proporcionan el marco adecuado para esta nueva generaci´on de EVs. Figura 1. Modelo geom´ etrico cl´ asico = Grafo de escena + Tuber´ıa gr´ afica (app+cull+draw)
El modelo geom´etrico m´ as b´ asico consiste en lanzar directamente las ´ ordenes de dibujado de cada uno de los pol´ıgonos que conforman la escena 3D. Las as´ı listas generadas son procesadas por la tuber´ıa gr´afica, dando como resultado la imagen 2D captada por una c´ amara virtual, localizada en alg´ un punto del escenario 3D. A medida que los EVs fueron ganando en complejidad, este modo de dibujado resultaba insuficiente para la organizaci´ on y mantenimiento de las escenas simuladas, por lo que apareci´ o una nueva estructura, conocida como grafo de escena o scene graph (figura 1). A diferencia del modo de dibujado b´ asico, los entornos basados en grafos de escena obtienen cada imagen sint´etica tras realizar un recorrido traversal sobre dicho grafo, normalmente ac´ıclico y dirigido. Durante este recorrido, se generan y ordenan las listas de objetos 3D que al caer dentro del campo de visi´on de alguna de las c´ amaras definidas para la visualizaci´on del ambiente, deber´ an ser introducidos en la tuber´ıa gr´afica para su dibujado (Figura 1). La organizaci´on espacial impl´ıcita en el grafo de escena favorece la organizaci´ on de la base de datos visual, lo que resultar´ a muy beneficioso en el proceso de recorte o culling asociado a cada orden de dibujado, y finalmente supondr´ a un aumento en la tasa de im´ agenes por segundo generadas. Actualmente, muchos de los escenarios de simulaci´on 3D dedicados al entrenamiento de tareas y realidad virtual aplicada, utilizan el modelo geom´etrico basado en la tuber´ıa gr´ afica que muestra la figura 1. El lenguaje de modelado VRML [1], y otras APIs (Application Programmer’s Interface) como OpenGL-Performer [13], OpenInventor [11] o Java3D [12], son ejemplos de EVs3D basados en grafos de escena (para una revisi´on m´as detallada consultar [15][3]. Desde un punto de vista exclusivamente geom´etrico, la integraci´on de cuerpos articulados en el modelo anterior (por ejemplo, actores 3D de aspecto humanoide), no plantea en principio, serias dificultades. Esta integraci´ on pasa por la definici´on del esqueleto de soporte al actor 3D, donde distintos nodos (matrices) de transformaci´ on (DCS, Dinamyc Coordinate Systems) son frecuentemente utilizados para el dise˜ no y control de personajes articulados 3D [19][9] [20]. Una vez dise˜ nado y modelado el personaje, ´este es integrado en el EV3D colgando su estructura jer´ arquica del grafo de escena y pasando as´ı a formar parte del escenario 3D. En ocasiones, los humanoides 3D permiten la
deformaci´on de ciertas partes de su esqueleto geom´etrico [2]. T´ıpicamente estas deformaciones son tratadas mediante nodos que, incluidos en el grafo de escena, son asociados a ciertas articulaciones del esqueleto del actor. Por ejemplo, la geometr´ıa del cuello de un humanoide 3D (v´ertices que unen su cabeza con el resto del esqueleto) puede depender de este tipo de nodos de deformaci´on (t´ecnica conocida como skinning), lo que aportar´a finalmente mayor realismo visual a los movimientos de cabeza, derivados por ejemplo de la atenci´on visual. Estas t´ecnicas de deformaci´on tienen costes computacionales nada despreciables, por lo que su control o comportamiento en esqueletos complejos (como son los humanoides 3D) debe ser controlado. Idealmente, estos nodos deber´ıan activarse u ´nicamente al producirse cambios de posici´on en las partes m´oviles que articulan y de las que dependen directamente. Es decir, la deformaci´on del cuello s´olo es necesaria cuando la cabeza est´e girando, por ejemplo buscando alg´ un objeto. De esta forma, para facilitar el autocontrol del modelo geom´etrico de un actor 3D, se requerir´a de alg´ un modelo de comunicaci´on entre los nodos del grafo al cual pertenece. As´ı, en tiempo de ejecuci´on un nodo podr´a conocer el estado de las partes del esqueleto que necesite y autoregularse. Este tipo de cuestiones relativas al manejo de informaci´on en tiempo de ejecuci´on, consecuencia directa de alg´ un cambio producido en el EV3D (grafo de escena), es uno de los puntos principales de este art´ıculo y nos conduce directamente hacia el modelo comportamental de los EVs3D, revisado en la siguiente secci´on.
2.2.
Modelo comportamental
Este modelo trata el comportamiento del EV3D como aplicaci´on inform´atica en tiempo de ejecuci´on, es decir, atiende al comportamiento din´amico (cambios) de todos los objetos 3D que el EV contiene. Conviene aclarar que el comportamiento aqu´ı considerado t´ıpicamente se refiere al mantenimiento en tiempo de ejecuci´on de propiedades elementales, como posici´on, orientaci´on, color, etc. de todo elemento (objeto u actor) situado en el EV3D. No debe por tanto confundirse con el comportamiento aut´onomo t´ıpicamente asociado a la toma de decisiones de distintos 3DIVAs, u objetos aut´onomos que pueden formar parte de la simulaci´on, cuesti´on que cae fuera del presente
an´alisis. En este art´ıculo denominamos EVs3D cl´ asicos a aquellos que son altamente dependientes del grafo de escena, por lo que sus modelos computacionales (geom´etrico, comportamental e interacci´on) pasar´an a depender del mismo. Durante la ejecuci´ on, un ciclo de simulaci´ on de un EV3D cl´asico suele dividirse en tres fases, que ser´an organizadas de igual modo que el hardware gr´afico, es decir, a modo de tuber´ıa. La primera fase o de aplicaci´ on (app) est´ a dedicada a la simulaci´on, es decir, a producir todos los cambios necesarios en el entorno (posiciones de objetos m´oviles, cambios en la iluminaci´ on, etc). Una vez finalizada comenzar´ a el recorrido por el grafo, el cual se encargar´ a tanto del test de visibilidad (cull) como del dibujado final. Una vez cargada la escena completa, la fase de aplicaci´on recibir´ a el grafo resultante, el cual podr´a manipular desde ese momento y provocar los cambios comentados. Los principales nodos implicados en el modelo comportamental de los EVs3D cl´asicos var´ıan desde los nodos de LOD (Level Of Detail ) capaces de seleccionar, cambiar y/o fusionar la apariencia geom´etrica de un objeto 3D en funci´on de su distancia a la c´ amara, pasando por los nodos conmutadores (SWITCH ), hasta los m´as recientes Billboards, capaces de orientar su geometr´ıa en funci´ on del angulo abierto de nuevo con la c´amara 1 . Los DCS ya comentados o nodos de tranformaci´ on, son normalmente los encargados de trasladar, rotar o escalar su sub´ arbol (nodos geom´etricos) asociado (ej: animaci´ on de los p´ajaros de la figura 2). Sin embargo, tal y como muestra esta figura, los cambios (en este caso de posici´ on) u ´nicamente son llevados a cabo dentro de la zona visible, quedando el resto podados debido al proceso de recorte (cull) del grafo de la escena. La reducci´on del ´ ambito de la simulaci´ on al mundo visible en cada ciclo (app-cull-draw), acarrear´a claros problemas comportamentales, ya que se impide cualquier tipo de cambio o interacci´on m´as all´a del ´ area visible.
Figura 2. Visualizaci´ on de comportamientos dependientes del grafo de escena.
Adem´as de este importante problema, que podr´ıa ser parcialmente tratado mediante la relajaci´on del proceso de recorte (o a˜ nadiendo niveles de detalle comportmentales), los EVs3D cl´asicos no poseen ning´ un mecanismo general para establecer rutas de informaci´on entre los nodos del grafo de escena, lo que finalmente les obligar´a, desde el punto de vista comportamental, a ser considerados como entornos basados en el tiempo (time based environments) donde t´ıpicamente existir´a un tiempo absoluto, inicializado al comienzo de la simulaci´on y utilizado para fijar el inicio y el fin de los cambios producidos. En este sentido, por ejemplo VRML posee nodos interpoladores, capaces de animar distintos grados de libertad en funci´on del tiempo y de los valores clave (keyframming) definidos (estrategia utilizada frecuentemente en los sistemas motores de distintos actores 3D). Por tanto, los comportamientos soportados en este tipo de escenarios, pueden ser considerados como independientes del estado de su entorno, ya que ning´ un nodo del grafo tendr´a la posibilidad de autogobernarse en funci´on del estado de otro nodo vecino, pues no poseen (en principio) rutas de conexi´on entre ellos. De este modo, si se desea contemplar interacciones b´asicas entre objetos y 3DIVAs (ej.: coger o dejar objetos, abrir o cerrar una puerta, ventana, etc...) en este tipo de entornos, ´estas deber´an ser programadas de forma local 2 , en perjuicio de importantes factores como la reusabilidad y escalabilidad del EV3D. Como consecuencia, en tiempo de ejecuci´on se obtienen EVs3D completamente centrados en el
1 Suelen emplearse en la representaci´ on de objetos complejos con cierto grado de simetr´ıa vertical, como ´ arboles etc. Ver figura 2. 2 estableciendo hilos de comunicaci´ on ad hoc entre los nodos del grafo de escena implicados.
campo de visi´on del usuario y est´ aticos desde un punto de vista comportamental. En busca del citado dinamismo comportamental, los entornos dirigidos por eventos encabezan el segundo tipo de EVs3D revisado aqu´ı y cuyo principal representante ser´ a el t´ermino acu˜ nado como motor de juegos 3D (game engine). El comportamiento de un objeto 3D (cambios de posici´on, color, y dem´ as propiedades) puede ser tambi´en definido en base a sus reacciones ante los cambios o eventos que ocurren en su entorno. Para ello, cada objeto interesado en la recepci´ on de distintos eventos s´ olo tendr´ a que incluir los scripts necesarios para su manejo (ver figura 3). En este tipo de EVs3D conducidos por eventos (event driven), todos los cambios son almacenados de forma global en una u ´nica cola y posteriormente encaminados hacia los objetos interesados en su recepci´on. Poseen, por tanto una naturaleza distribuida, adecuada para las arquitecturas de, por ejemplo, agente que normalmente gobiernan los formalismos aut´ onomos embebidos en los 3DIVAs. Por otro lado, el modelo de comunicaci´ on global que ofrecen (frente al est´ atico grafo de escena), se adaptar´a mejor a la simulaci´ on de mundos de naturaleza cambiante, proporcionando un m´etodo com´ un para definir y atender estos cambios. Veamos esto mediante un sencillo ejemplo de simulaci´on: imaginemos que un avi´ on (simulado) cae provocando una explosi´ on de centro c y radio k unidades en un EV3D. Si cada unidad de terreno es capaz de modificar su estado, pero no posee informaci´on del resto del mundo, deber´ a consultar en cada ciclo si se ha producido alg´ un cambio o colisi´on que le afecte (t´ecnica de encuesta o polling). Por el contrario, si el EV3D posee un modelo de encaminamiento para los eventos que suceden en el mundo simulado, las unidades de terreno afectadas ser´ an sencillamente avisadas al producirse un evento de colisi´ on, modificando su comportamiento, es decir, animando la explosi´on. Los ejemplos expuestos tanto a nivel geom´etrico (relaci´on cuello ⇔ esqueleto) como en este nivel comportamental (explosi´ on) sugieren la separaci´on de ambos modelos. De esta forma se favorecer´a el continuo desarrollo de ambos campos, ´ıntimamente ligados al desarrollo de EVs3D escalables y con posibilidades de reutilizaci´ on en ambos niveles. Distintos grupos de investigaci´ on han adaptado
sus desarrollos a este tipo de entornos 3D como plataforma de computaci´on adecuada para la simulaci´on de EVIs, donde normalmente se integran distintos tipos de 3DIVAs [10] [21] [18] [14] [8].
2.3.
Interacci´ on con el usuario
Una de las principales expectativas generadas en la mayor´ıa de EVs3D, es la libre interacci´on con los elementos 3D del entorno. Los EVs3D cl´asicos incluyen un modelo de interacci´on b´asico dentro de la jerarqu´ıa de nodos de su grafo de escena. Este modelo, centrado de nuevo en el punto de vista del usuario, es representado por ejemplo en Java3D mediante los nodos Viewpoint, NavigationInfo o PhysicalEnvironment, manteniendo informaci´on proveniente de alg´ un dispositivo que registre posici´on, orientaci´on del usuario y rutas de navegaci´on del mismo. Esto es bastante u ´til a la hora del dibujado de la escena, ya que el grafo siempre poseer´a informaci´on actualizada del usuario y la imagen ser´a calculada desde su punto de vista. Pero poco efectivo si el usuario quiero interactuar con una entidad fuera de su campo de visi´on. Por consiquiente, la inclusi´on del usuario en el grafo de escena limitar´a de nuevo el modo de interacci´on o comunicaci´on con el resto de nodos del grafo, es decir, con su entorno 3D. Adem´as, los nodos dedicados a la representaci´on del usuario dentro del grafo escena carecen, en ocasiones, de la representatividad suficiente, omitiendo informaci´on, como la posici´on de ambos dos ojos (imagen est´ereo), posici´on del torso, manos, etc. Por ejemplo, en VRML, el avatar o representante virtual del usuario en la escena 3D, est´a u ´nicamente representado por una altura, una anchura (radio de colisi´on), y un desplazamiento m´aximo para sus pasos. EVs3D m´as recientes como el SVE [15], incluyen cada una de las partes geom´etricas importantes del usuario (manos, ojos, cabeza, etc).
3.
Entornos Virtuales Inteligentes
El ´enfasis de los Entornos Virtuales Inteligentes (EVIs) [17] reside en incrementar las capacidades comportamentales e interactivas de los EVs3D.
Esto se consigue mediante la incorporaci´ on de capas o sistemas de IA situados e interactuando con el sistema gr´afico. Aunque existen diferentes t´ecnicas de animaci´on (p.ej: interpoladores VRML o nodos de secuencia de OpenGL-Performer) y sencillos modelos comportamentale que pueden ayudar a dotar de cierto dinamismo a los entornos cl´ asicos, en la mayor´ıa de ocasiones, su naturaleza de gui´ on o plan precompilado (off-line) s´ olo lograr´ a mantener el inter´es del usuario durante un tiempo bastante limitado. Un paso adelante en este sentido es, por ejemplo, la implementaci´ on en VRML y VRCC (un lenguaje de programaci´ on sincronizado) de criaturas 3D inspiradas en sus comportamientos biol´ ogicos [7]. Sin embargo, este enfoque se ve limitado, entre otros cosas, por el modelo comportamental de VRML, que requiere la declaraci´ on expl´ıcita de las rutas de eventos que entran y salen del grafo de escena. Esto en la practica se traduce en la imposibilidad de implementar comportamientos complejos (como motores de razonamiento) en el EV, debido a que VRML no dispone de mecanismos internos que faciliten la implementaci´ on y el control de eventos as´ıncronos.
na en ambos direcciones y que se beneficia de los mecanismos incorporados al motor gr´afico para tratar con eventos as´ıncronos. Por ejemplo, supongamos que el usuario quiere modificar la configuraci´on propuesta por el sistema y decide colocar un objeto en otra posici´on en el EV. Esto interacci´on del usuario es encapsulada en un evento generado por el entorno gr´afico y es pasada a trav´es al motor de razonamiento quien genera una nueva configuraci´on, en la forma de un mensaje de texto (figuras 3 y 6). La recepci´on de ´este genera una serie de eventos de bajo nivel (p.ej: spawn, receivedline, etc) en el motor gr´afico que hacen posible que la nueva configuraci´on sea visible al usuario. Este es un modelo general que puede aplicarse a varias operaciones en los objetos: cambio de propiedades del objeto, estado, etc.
A continuaci´on revisamos tres formas de incrementar las capacidades interactivas de un EV, mediante la integraci´ on de sistemas de IA, y, explicamos, como los EV basados en la distribucion asincrona de eventos favorecen esta integraci´on. Incremento de la interactividad del EV: Una forma de alcanzar este incremento en la interactividad del EV es mediante la integraci´ on de motores de razonamiento simb´olico que interpretan, por ejemplo, las acciones del usuario. Un ejemplo es el sistema de configuraci´ on inteligente desarrollado en [4], donde el usuario puede navegar libremente en el EV e interactuar con el problema de configuraci´ on espacial mediante la modificaci´ on de configuraci´ on de los distintos elementos. El sistema, es sensible a estos cambios de entorno, siendo capaz de recolocar autom´ aticamente los elementos necesarios, de forma que se obtenga una posible soluci´on a distintos problemas de dise˜ no y/o configuraci´ on del mismo. La integraci´ on entre el motor gr´ afico (UnrealTM) y el motor de razonamiento (desarrollado en GNUProlog) es alcanzada a trav´es de un modelo de eventos que funcio-
Figura 3. Ejemplo de evento en UnrealTM: el usuario deja un objeto.
Siendo lo anterior muy significativo, el aspecto m´as importante es que los motores de razonamiento se pueden integrar a la perfecci´on en motores gr´aficos si ´estos est´an basados en eventos as´ıncronos. Es decir, determinados eventos, como por ejemplo drop, tienen que ser capturados para su procesamiento en el motor simb´olico pero otros no. As´ı, una aplicaci´on puede estar interesada en capturar las acciones del usuario con objetos: cojer, dejar, empujar, chocar, etc, pero no en como los objetos se comportan desde el punto de vista f´ısico: como caen, como ruedan, etc. Estos son gobernados y controlados por las mecanismos internos del motor gr´afico.
Necesidad de una representaci´ on del conocimiento: La integraci´ on de personajes inteligentes 3D en estos entornos virtuales ejemplifica la necesidad de una representaci´ on del conocimiento y los requerimientos que esto conlleva. Los 3DIVAs deben manejar informaci´on a distintos niveles: el nivel bajo t´ıpicamente recoger´ a la informaci´ on geom´etrica (listas de v´ertices, esferas o cajas envolventes, etc.), accesible en todo momento para cualquier agente de simulaci´ on y el nivel alto (sem´antico) permitir´ a a los agentes resolver distintos problemas en el mismo. De cara a poder representar y manejar este nivel sem´antico, los 3DIVAs deben cumplir dos importantes propiedades: en primer lugar, poseer alg´ un lenguaje de acci´ on con el que representar los cambios que producen en el EV3D (ver extensiones de STRIPS en la figura 4. Y en segundo, disponer de alg´ un mecanismo de comunicaci´ on que le permita invocar la ejecuci´ on de sus acciones motoras en el EV3D, modificando as´ı el estado del mundo en caso de poder llevarlas a cabo. El mantenimiento del modelo sem´ antico asociado al EV3D es un paso necesario para la integraci´ on de distintos agentes situados en un mundo compartido. De esta forma se facilita la integraci´ on de mecanismos de cooperaci´ on entre 3DIVAs, tal y como muestra la figura 7 donde varios agentes cooperan en el conocido mundo de bloques, gracias a la percepci´ on del estado simb´olico en su campo de visi´ on [8]. Para que esta cooperaci´ on pueda producirse es necesario disponer de un modelo sem´ antico din´ amico que muestre en todo momento el estado visible de los objetos del EV3D y maneje sus cambios. De esta forma, los cambios producidos por un agente (coger/dejar cubo) son percibidos por el resto de agentes, pudiendo adaptar sus planes en caso necesario. Por consiguiente, los entornos basados en eventos se adec´ uan correctamente a este tipo de protocolos de acci´ on, donde t´ıpicamente los agentes env´ıan peticiones de actuaci´on al entorno3D y esperan el feedback o resultado asociado a dicha acci´on. Adem´as, estos eventos pueden encapsular la informaci´ on sem´ antica necesaria (´ atomos) para la actualizaci´ on de la memoria del agente, el cual podr´ a de esta forma adaptarse al mundo cambiante que percibe.
Figura 4. Operadores utilizados en story-telling [6]
Por ejemplo, en [6] se compararon varios formalismos de planificaci´on adecuados a actores virtuales. Los operadores basados en STRIPS y utilizados en este problema t´ıpico de story-telling se muestran en la figura 4. En este caso, se permite cierto grado de no determinismo en la actuaci´on, por lo que las acciones, adem´as de fallo, pueden devolver distintos resultados, que ser´an encapsulados en sus correspondientes eventos y enviados al agente.
Alternativa a la simulaci´ on f´ısica: Un ejemplo en este sentido es la idea de la Realidad Alternativa (RA) como una nueva forma de experimentar entornos virtuales. Esto es, RA se define como la experiencia producida por entornos virtuales cuyo comportamiento parte de las experiencias normales en el mundo real (ref). Por ejemplo, el comportamiento de los objetos esta determinado por las leyes f´ısicas que establecen principios de dependencia y causalidad. En RA, estos principios son manipulados y el resultado es una realidad alternativa. Por ejemplo, Cavazza et al han experimentado con distintas t´ecnicas para interceptar y manipular los eventos que rigen los fen´omenos f´ısicos en un entorno virtual. Por consiguiente, como en los casos anteriores, los mecanismos incorporados a los entornos virtuales basados en eventos as´ıncronos facilitan la incorporaci´on de estas t´ecnicas.
deber´an ser capaces de gestionar los nuevos requerimientos din´amicos impuestos. En este sentido, los modelos basados en el env´ıo de recepci´on as´ıncrona de eventos proporcionan un modelo de simulaci´on adecuado para la actual intersecci´on entre la IA y los Gr´aficos 3D en tiempo real.
5.
Figura 5. Arquitectura para el control y manipulaci´ on de eventos en RA [5]
Un ejemplo de la arquitectura de ´este tipo de sistemas es ilustrado en la figura 5. La figura muestra como espec´ıficos eventos, en este caso relacionados a procesos f´ısicos como el flujo del agua, son interceptados, manipulados y enviados a un motor de simulaci´on, en este caso de simulaci´ on cualitativa de procesos f´ısicos. Como en los casos anteriores, los dem´ as eventos son gobernados y controlados por las mecanismos internos del motor gr´afico. As´ı es f´ acil ver como este tipo de tecnolog´ıas facilita la implementaci´ on de esta nueva generaci´ on de EV: entornos virtuales inteligentes.
4.
Conclusiones
La evoluci´on natural de los EVs3D, pasa por proporcionar entornos de simulaci´ on adecuados a mundos 3D de naturaleza cambiante, y en este sentido, los entornos dirigidos por eventos proporcionan actualmente un marco adecuado para la investigaci´on y desarrollo en EVIs3D.
Agradecimientos
Los autores queremos agradecer el inter´es, apoyo y buenas ideas de Rafael Rodriguez en la elaboraci´on de este art´ıculo.
Referencias [1] VRML Consortium: VRML97 International Standard (ISO/IEC 14772-1:1997). [2] Brett Allen, Brian Curless, and Zoran Popovi´c. Articulated body deformation from range scan data. ACM Transactions on Graphics (ACM SIGGRAPH 2002), 21(3):612– 619, 2002. [3] Avi Bar-Zeev. Scenegraphs: Past, present and future. http://www.realityprime.com/scenegraph.php. [4] D. Diaz C. Calderon, M. Cavazza. Interactive problem solving in an intelligent virtual environment. Proc of the 2003 international conference on Intelligent user interfaces (ACM). Florida(USA), Enero 2003, pp 319 - 319. [5] Hartley S. Lugrin J.L. Cavazza, M. Technical report: Alternative reality technologies. , Deliverable No D-5.0 of the ALTERNE project (IST-38575), Unpublished, 2003.
Los modelos comportamentales y de comunicaci´on cl´asicos, no satisfacen suficientemente estos requerimientos, debido principalmente a su alta dependencia con el modelo geom´etrico (grafos de escena), el cual est´ a claramente orientado a una r´apida visualizaci´ on centrada en el usuario, dejando de lado importantes cuestiones comportamentales y de interacci´ on.
[6] Steven J. Mead-A.Bisquerra Charles F., Lozano M. and Marc Cavazza. Planning formalisms and authoring in interactive storytelling. Proc on 1st International Conference on Technologies for Interactive Digital Storytelling and Entertainment, March, 2003 Darmstadt Germany.
Finalmente, la integraci´ on de EVIs, es un problema raramente tratado desde el punto de vista del modelo computacional que soporta el EV3D. Dado que estos entornos est´ an llamados ser los ambientes de simulaci´ on de distintos tipos de EVIs,
[7] P. Codognet. Animating autonomous agents in shared virtual worlds. Proceedings DMS’99, IEEE International Conference on Distributed Multimedia Systems, Aizu Japan, IEEE Press 1999.
[8] M. Lozano et al. An efficient synthetic vision system for 3d multi-character systems. Lecture Notes in Computer Science (Intelligent Agents, 4th International Workshop, IVA 2003). [9] Eva Cerezo-Alfredo Pina Francisco J. Seron, Rafael Rodriguez. Adding support for highlevel skeletal animation. Proc of the IEEE Computer Animation, 2002, 360-372. [10] Steve Schaffer Chris Sollitto Rogelio Adobbati Andrew N. Marshall Gal A. Kaminka, Manuela M. Veloso. Gamebots: A flexible test bed for multiagent research. Communications of the ACM, January 2002:43–45, 45 No 1. [11] http://oss.sgi.com/projects/inventor/. [12] http://www.j3d.org/. [13] http://www.sgi.com/software/performer/. [14] John C. Duchi John E. Laird. Creating human-like synthetic characters with multiple skill levels: A case study using the soar quakebot. AAAI 2000 Fall Symposium Series: Simulating Human Agents, November 2000. [15] G. Drew Kessler. Virtual environments models. In Handbook of Virtual Environments K Stanney, Ed., Lawrence Erlbaum Associates,, 2002, 255-276.
[16] Sbretchs M Clawson D Higgins G. Lathan C.E, Tracey M. Using virtual environments as training simulators: Measuring transfer. In Handbook of Virtual Environments K Stanney, Ed., Lawrence Erlbaum Associates,, 2002, 403-415. [17] Aylett R. Luck M. Applying artificial intelligence to virtual reality: Intelligent virtual environments. Applied Artificial Intelligence, 2000. [18] S. J. Mead M. Cavazza, F. Charles. Character based interactive storytelling. IEEE Intelligent systems, July/August 2002, 17-24. [19] R. Bindiganavale. N. Badler, M. Palmer. Animation control for real-time virtual humans. Communications of the ACM, 42(8):64–73, August 1999. [20] L.Moccozet G.Sannier A.Aubel P.Kalra, N.Magnenat-Thalmann. Real-time animation of realistic virtual humans. IEEE Computer Graphics and Applications, 1998:42– 55, 18 No5. [21] R.M. Young. An overview of the mimesis architecture: Integrating intelligent narrative control into an existing gaming environment. Working Notes of the AAAI Spring Symposium on Artificial Intelligence and Interactive Entertainment AAAI Press, 2001.
Figura 6. Modelo de interacci´ on, A: configuraci´ on es propuesta por el sistema, B: el usuario recoloca un objeto, C: el sistema responde mediante una nueva configuraci´ on acorde a las restricciones.
Figura 7. 3DIVAs cooperando en un mundo compartido.