Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en...

10
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 Resumen En este art´ ıculo analizamos la evoluci´ on experimentada por los Entornos Virtuales 3D (EV3D) con el ´ enfasis puesto en las cuestiones relativas a su comportamiento como aplicaciones inform´ aticas en tiempo de ejecu- ci´ 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 (EVI3D), orientados a proporcionar distintas capas de IA (Inteligencia Artificial) que pueden ser embebidas en el EV3D de cara a mejorar sus capacidades interactivas. Finalmente, concluimos argumentando que los entornos y consecuentemente las tecnolog´ ıas que los soportan, basados en la distribu- ci´ on de eventos de forma as´ ıncrona, proporcionan actualmente un marco adecuado para la nueva generaci´ on de EVI3D. Palabras clave: Entornos Virtuales (Inteligentes) 3D (EV3D, EVI3D), Sistemas Inteligentes, Agentes In- teligentes 3D (3DIVA), Sistemas Interactivos 3D. 1. Introducci´ on El concepto de entorno virtual en 3D ha evolucio- nado significativamente en los ´ ultimos a˜ nos. Esta bien documentado [15], que los mundos virtuales tienen su origen en la simulaci´ on militar y en con- creto en los simuladores de vuelo, donde el prin- cipal problema consiste en extraer de la base de datos visual (presumiblemente grande) el mundo 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 con- cepto de Realidad Virtual que todav´ ıa hoy perdu- ra: 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.

Transcript of Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en...

Page 1: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

Entornos virtuales 3D clasicos e inteligentes: hacia un

nuevo marco de simulacion para aplicaciones graficas

3D interactivas

Miguel Lozano, Carlos Calderon

Departmento de Informatica, 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

Resumen

En este artıculo analizamos la evolucion experimentada por los Entornos Virtuales 3D (EV3D) con el enfasispuesto en las cuestiones relativas a su comportamiento como aplicaciones informaticas en tiempo de ejecu-cion. En primer lugar, analizamos los modelos computacionales que soportan la mayorıa de entornos virtuales3D, poniendo de manifiesto las carencias comportamentales de los entornos dependientes del modelo clasicode simulacion grafica. En base a estas carencias, analizamos las directrices de diseno de los nuevos EntornosVirtuales Inteligentes (EVI3D), orientados a proporcionar distintas capas de IA (Inteligencia Artificial) quepueden ser embebidas en el EV3D de cara a mejorar sus capacidades interactivas. Finalmente, concluimosargumentando que los entornos y consecuentemente las tecnologıas que los soportan, basados en la distribu-cion de eventos de forma asıncrona, proporcionan actualmente un marco adecuado para la nueva generacionde EVI3D.

Palabras clave: Entornos Virtuales (Inteligentes) 3D (EV3D, EVI3D), Sistemas Inteligentes, Agentes In-teligentes 3D (3DIVA), Sistemas Interactivos 3D.

1. Introduccion

El concepto de entorno virtual en 3D ha evolucio-nado significativamente en los ultimos anos. Estabien documentado [15], que los mundos virtualestienen su origen en la simulacion militar y en con-creto en los simuladores de vuelo, donde el prin-cipal problema consiste en extraer de la base dedatos visual (presumiblemente grande) el mundo

visible en cada instante en funcion de la posiciondel observador o camara virtual, en el escenariosimulado. Consecuentemente, la comercializacionde esta tecnologıa para uso civil dio origen al con-cepto de Realidad Virtual que todavıa hoy perdu-ra: graficos 3D en entornos inmersivos que usanI/O artefactos como guantes, cascos, etc. en buscade mayores grados de interaccion con el ambientevirtual.

Page 2: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

En esta ultima decada, a la vez que la RealidadVirtual se comercializaba en entornos no necesa-riamente inmersivos, desde el sector de los jue-gos por computador aparecio un nuevo tipo deEV3D interactivo, conocido como motor de juego(game engine). Estos sistemas, pronto se mostra-ron capaces de mantener un grado de calidad vi-sual equivalente a las aplicaciones de simulacion(civil/militar), obteniendo ademas mayores gra-dos de interactividad gracias a los fuertes reque-rimientos que poseen como plataforma de soportea juegos de distinta naturaleza.

Ası, hemos llegado a la situacion actual, donde laexcelente calidad grafica alcanzada por la tecno-logıa grafica 3D, por un lado refuerza la metafo-ra de mundo virtual compartido (de naturalezainteractiva), y por otro, potencia las expectati-vas comportamentales de los elementos (objetosy agentes) que tıpicamente lo habitan.

Por consiguiente, hoy en dıa, cientıficos e inves-tigadores en el area de entornos virtuales 3D in-teractivos centran su atencion en la creacion delos denominados: Entornos Virtuales Inteligentes(EVI) [17]. Esto es, entornos virtuales que surgende la interseccion IA

⋂graficos 3D en tiempo

real y en los que sus capacidades comportamen-tales e interactivas son ensalzadas a traves de lainclusion de tecnicas de inteligencia artificial (verseccion 3). El area mas investigada de esta inter-seccion es el campo de agentes virtuales inteligen-tes 3D (3DIVA) y, por consiguiente, muchos de losejemplos del artıculo hacen referencia a este area.

En este articulo revisamos los modelos compu-tacionales que dan soporte a la mayorıa de en-tornos graficos 3D, poniendo el enfasis en la si-mulacion de sus aspectos comportamentales entiempo de ejecucion. En la segunda seccion anali-zamos los modelos computacionales (geometrico,comportamental y de interaccion) que conformanun EV3D. Fruto de esta revision exponemos lasprincipales deficiencias (comportamentales y deinteraccion) de los modelos clasicos de simula-cion grafica. Finalmente, en la segunda parte delartıculo, describimos las principales mejoras com-portamentales e interactivas que ofrecen los nue-vos EVI3D, a partir de los distintos ejemplos deaplicacion expuestos.

2. Modelos computacionales

Independientemente del ambiente interesado ensu modelizacion virtual, desde un punto de vis-ta exclusivamente computacional, los EV3D estancompuestos por tres modelos que conformaran laaplicacion informatica en tiempo real: un modelogeometrico, un modelo comportamental (en tiem-po de ejecucion) y un modelo de interaccion conel usuario [14].

2.1. Modelo geometrico

Es el encargado de atender al bajo nivel grafico,donde por un lado, los distintos tipos de formatosgraficos empleados, junto con el modelo internoutilizado para el lanzamiento de las ordenes de di-bujado o render (grafo de escena, ordenacion deprimitivas graficas o display lists, etc), resumenlas propiedades elementales para la visualizacionde cualquier EV3D.

Tradicionalmente, estos entornos son descritosen base a la coleccion de primitivas poligonales,lıneas, texto, superficies, etc., que constituyen lainformacion espacial visualizada en 3D. Gracias ala implantacion de hardware dedicado al procesa-miento de dicha informacion visual, los sistemasgraficos de tiempo real, hoy en dıa, son capaces dedibujar millones de polıgonos por segundo, lo queresulta ser una tasa de rendimiento bastante ra-zonable, atendiendo a las numerosas aplicacionesgraficas aparecidas en los ultimos anos.

Figura 1. Modelo geometrico clasico = Grafo

de escena + Tuberıa grafica

(app+cull+draw)

Page 3: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

El modelo geometrico mas basico consiste en lan-zar directamente las ordenes de dibujado de ca-da uno de los polıgonos que conforman la escena3D. Las ası listas generadas son procesadas por latuberıa grafica, dando como resultado la imagen2D captada por una camara virtual, localizada enalgun punto del escenario 3D.

A medida que los EV3D fueron ganando en com-plejidad, este modo de dibujado resultaba insu-ficiente para la organizacion y mantenimiento delas escenas simuladas, por lo que aparecio unanueva estructura, conocida como grafo de esce-na o scene graph (figura 1). A diferencia del mo-do de dibujado basico, los entornos basados engrafos de escena obtienen cada imagen sinteticatras realizar un recorrido (traversal) sobre dichografo, normalmente acıclico y dirigido. Duranteeste recorrido, se generan y ordenan las listas deobjetos 3D que caen dentro del campo de visionde alguna camara virtual, para finalmente ser in-troducidas en la tuberıa grafica. La organizacionespacial implıcita en el grafo de escena favorecela organizacion de la base de datos visual, lo queresultara muy beneficioso en el proceso de recor-te o culling asociado a cada orden de dibujado,y finalmente supondra un aumento en la tasa deimagenes por segundo generadas.

Actualmente, muchos de los escenarios de simu-lacion 3D dedicados al entrenamiento de tareasy realidad virtual aplicada, utilizan el modelogeometrico basado en la tuberıa grafica que mues-tra la figura 1. El lenguaje de modelado VRML[1], y otras APIs (Application Programmer’s In-terface) como OpenGL-Performer [12], OpenIn-ventor [10] o Java3D [11], son ejemplos de EV3Dbasados en grafos de escena (para una revisionmas detallada consultar [14, 3].

Desde un punto de vista exclusivamente geometri-co, la integracion de cuerpos articulados en el mo-delo anterior (por ejemplo, actores 3D de aspectohumanoide), no plantea en principio, serias difi-cultades. Esta integracion pasa por la definiciondel esqueleto de soporte al actor 3D, donde dis-tintos nodos (matrices) de transformacion (DCS,Dinamyc Coordinate Systems) son frecuentemen-te utilizados para el diseno y control de persona-jes articulados 3D [19, 22, 20]. Una vez disenadoy modelado el personaje, este es integrado en elEV3D colgando su estructura jerarquica del grafode escena y pasando ası a formar parte del esce-nario 3D.

En ocasiones, los humanoides 3D permiten ladeformacion de ciertas partes de su esqueleto

geometrico [2]. Tıpicamente estas deformacionesson tratadas mediante nodos que, incluidos en elgrafo de escena, son asociados a ciertas articu-laciones del esqueleto del actor. Por ejemplo, lageometrıa del cuello de un humanoide 3D (verti-ces que unen su cabeza con el resto del esquele-to) puede depender de este tipo de nodos de de-formacion (tecnica conocida como skinning), loque aportara finalmente mayor realismo visual alos movimientos de cabeza, derivados por ejemplode la atencion visual. Estas tecnicas de deforma-cion tienen costes computacionales nada despre-ciables, por lo que su control o comportamientoen esqueletos complejos (como son los humanoi-des 3D) debe ser controlado. Idealmente, estosnodos deberıan activarse unicamente al producir-se cambios de posicion en las partes moviles quearticulan y de las que dependen directamente. Esdecir, la deformacion del cuello solo es necesariacuando la cabeza este girando, por ejemplo, enbusca de algun objeto. De esta forma, para faci-litar el autocontrol del modelo geometrico de unactor 3D, se requerira algun modelo de comuni-cacion entre los nodos del grafo al cual pertenece.Ası, en tiempo de ejecucion un nodo podra co-nocer el estado de las partes del esqueleto quenecesite para autoregularse.

Este tipo de cuestiones relativas al manejo de in-formacion en tiempo de ejecucion, consecuenciadirecta de algun cambio producido en el EV3D(grafo de escena), es uno de los puntos principa-les de este artıculo y nos conduce directamentehacia el modelo comportamental de los EV3D,revisado en la siguiente seccion.

2.2. Modelo comportamental

Este modelo trata el comportamiento del EV3Dcomo aplicacion informatica en tiempo de ejecu-cion, es decir, atiende al comportamiento dinami-co (cambios) de todos los objetos 3D que el EV3Dcontiene.

Conviene aclarar que el comportamientoaquı considerado, tıpicamente se refiere al mante-nimiento en tiempo de ejecucion de propiedadeselementales, como posicion, orientacion, color,etc. de todo elemento (objeto u actor) situado enel EV3D. No debe por tanto confundirse con elcomportamiento autonomo tıpicamente asociadoa la toma de decisiones de distintos 3DIVA, uobjetos autonomos que pueden formar parte dela simulacion, cuestion que cae fuera del presenteanalisis.

Page 4: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

En este artıculo denominamos EV3D clasicosa aquellos cuyo modelo comportamental es alta-mente dependiente del modelo geometrico (grafode escena), pasando ası a depender del mismo.Un ciclo de simulacion de un EV3D clasico sueledividirse en tres fases, que seran organizadas deigual modo que el hardware grafico, es decir, amodo de tuberıa. La primera fase o de aplicacion(app) esta dedicada a la simulacion, es decir, aproducir todos los cambios necesarios en el entor-no (posiciones de objetos moviles, cambios en lailuminacion, etc). Una vez finalizada comenzara elrecorrido por el grafo, el cual se encargara tantodel test de visibilidad (cull) como de compilar laslistas de dibujado (display list).

De esta forma, y una vez cargada la escena com-pleta, la aplicacion recibira el grafo de escena re-sultante, el cual podra manipular desde ese mo-mento (mediante el API asociado), para poder si-mular los cambios necesarios. Los principales no-dos implicados en el modelo comportamental delos EV3D clasicos varıan desde los nodos de LOD(Level Of Detail) capaces de seleccionar, cambiary/o fusionar la apariencia geometrica de un ob-jeto 3D en funcion de su distancia a la cama-ra, pasando por los nodos conmutadores (SWIT-CH ), hasta los mas recientes Billboards, capacesde orientar su geometrıa en funcion del anguloabierto de nuevo con la camara 1. Los DCS yacomentados o nodos de transformacion, son nor-malmente los encargados de trasladar, rotar o es-calar su subarbol (nodos geometricos) asociado(ej: animacion de los pajaros de la figura 2.

Sin embargo, tal y como muestra esta figura, loscambios (en este caso de posicion) unicamente sonllevados a cabo dentro de la zona visible, quedan-do el resto de cambios podados gracias al procesode recorte (cull), llevado a cabo por el grafo deescena.

La reduccion del ambito de la simulacion al mun-do visible en cada ciclo (app-cull-draw), conlle-vara claros problemas comportamentales, ya quese impide cualquier tipo de cambio o interaccionmas alla del area visible.

Figura 2. Visualizacion de comportamientos

dependientes del grafo de escena.

Ademas de este importante problema, que podrıaser parcialmente tratado mediante la relajaciondel proceso de recorte (o anadiendo niveles dedetalle comportamentales), los EV3D clasicos noposeen ningun mecanismo general para estable-cer rutas de informacion entre los nodos del grafode escena, lo que finalmente les obligara, desde elpunto de vista comportamental, a ser considera-dos como entornos basados en el tiempo (ti-me based environments) donde tıpicamente exis-tira un tiempo absoluto, inicializado al comienzode la simulacion y utilizado para fijar el inicio yel fin de los cambios producidos. En este senti-do, por ejemplo VRML posee nodos interpolado-res, capaces de animar distintos grados de liber-tad en funcion del tiempo y de los valores clave(keyframming) definidos (estrategia utilizada fre-cuentemente en los sistemas motores de distintosactores 3D).

Por tanto, los comportamientos soportados en es-te tipo de escenarios, pueden ser considerados co-mo independientes del estado de su entor-no, ya que ningun nodo del grafo tendra la posibi-lidad de autogobernarse en funcion del estado deotro nodo vecino, pues no poseen (en principio)rutas de conexion entre ellos. De este modo, si sedesea contemplar interacciones basicas entre ob-jetos y 3DIVA (ej.: coger o dejar objetos, abrir ocerrar una puerta, ventana, etc...) en este tipo deentornos, estas deberan ser programadas de for-ma local 2, en perjuicio de importantes factorescomo la reusabilidad y escalabilidad del EV3D.

Como consecuencia, en tiempo de ejecucion seobtienen EV3D completamente centrados en elcampo de vision del usuario y estaticos desde unpunto de vista comportamental.

1Suelen emplearse en la representacion de objetos complejos con cierto grado de simetrıa vertical, como arboles etc.2Estableciendo hilos de comunicacion ad hoc entre los nodos del grafo de escena implicados.

Page 5: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

En busca del citado dinamismo comportamental,los entornos dirigidos por eventos encabezanel segundo tipo de EV3D revisado aquı y cuyoprincipal representante sera el termino acunadocomo motor de juegos 3D (game engine). El com-portamiento de un objeto 3D (cambios de posi-cion, color, y demas propiedades) puede ser tam-bien definido en base a sus reacciones ante loscambios o eventos que ocurren en su entorno (p.ej:acciones del usuario, actuaciones de algun perso-naje inteligente, colisiones entre objetos, cambiosde iluminacion, etc.). Para ello, cada objeto in-teresado en la recepcion de cualquier evento ten-dra que incluir el codigo correspondiente a su ma-nejo (scripts) .

En este tipo de EV3D conducidos por eventos(event driven), todos los cambios son almacena-dos de forma global en una unica cola y posterior-mente encaminados hacia los objetos interesadosen su recepcion. Poseen, por tanto una natura-leza distribuida, adecuada para la integracion de3DIVA u otro tipo de modelo de razonamientosemantico asociado al entorno (ver punto 3).

Por otro lado, el modelo de comunicacion globalque ofrecen (frente al estatico grafo de escena),se adaptara mejor a la simulacion de mundos denaturaleza cambiante, proporcionando un meto-do comun para definir y atender estos cambios.

Veamos esto mediante un sencillo ejemplo de si-mulacion: imaginemos que un avion (simulado)cae provocando una explosion de centro c y radiok unidades en un EV3D. Si cada unidad de terre-no es capaz de modificar su estado, pero no poseeinformacion del resto del mundo, debera consul-tar en cada ciclo si se ha producido algun cam-bio o colision que le afecte (tecnica de encuestao polling). Por el contrario, si el EV3D posee unmodelo de encaminamiento para los eventos quesuceden en el mundo simulado, las unidades deterreno afectadas seran sencillamente avisadas alproducirse un evento de colision, modificando sucomportamiento, es decir, animando la explosion.

Los ejemplos expuestos tanto a nivel geometrico(relacion cuello ⇔ esqueleto) como en este nivelcomportamental (explosion) sugieren la separa-cion de ambos modelos. De esta forma se favo-recera el continuo desarrollo de ambos campos,ıntimamente ligados al desarrollo de EV3D esca-lables y con posibilidades de reutilizacion en am-bos niveles.

Distintos grupos de investigacion han adaptadosus desarrollos a este tipo de entornos 3D como

plataforma de computacion adecuada para la si-mulacion de EVI3D, donde normalmente se inte-gran distintos tipos de 3DIVA [9, 21, 6, 13, 8].

2.3. Interaccion con el usuario

Una de las principales expectativas generadas enla mayorıa de EV3D, es la libre interaccion conlos elementos 3D del entorno.

Los EV3D clasicos incluyen un modelo de inte-raccion basico dentro de la jerarquıa de nodosde su grafo de escena. Este modelo, centrado denuevo en usuario, es representado por ejemplo enJava3D mediante los nodos Viewpoint, Navigatio-nInfo o PhysicalEnvironment, manteniendo infor-macion proveniente de algun dispositivo que re-gistre posicion, orientacion del usuario y rutas denavegacion del mismo. Esto es bastante util a lahora del dibujado de la escena, ya que el gra-fo siempre poseera informacion actualizada delusuario y la imagen sera calculada desde su pun-to de vista. Por otro lado, resultara poco efectivosi el usuario quiere interactuar con una entidadsituada fuera de su campo de vision. Por consi-guiente, la inclusion del usuario en el grafo deescena limitara de nuevo el modo de interaccioncon el resto de nodos del grafo, es decir, con suentorno 3D.

Ademas, los nodos dedicados a la representaciondel usuario dentro del grafo escena carecen, enocasiones, de la representatividad suficiente, omi-tiendo informacion, como la posicion de ambosdos ojos (imagen estereo), posicion del torso, ma-nos, etc. Por ejemplo, en VRML, el avatar o re-presentante virtual del usuario en la escena 3D,esta unicamente representado por una altura, unaanchura (radio de colision), y un desplazamien-to maximo para sus pasos. EV3D mas recientescomo el SVE [14], incluyen cada una de las par-tes geometricas importantes del usuario (manos,ojos, cabeza, etc).

3. Entornos Virtuales Inteli-gentes

El enfasis de los Entornos Virtuales Inteligentes(EVI3D) [17] reside en incrementar las capacida-des comportamentales e interactivas de los EV3D.Esto se consigue mediante la incorporacion de ca-pas o sistemas de IA situados e interactuando con

Page 6: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

el sistema grafico.

Aunque existen diferentes tecnicas de animacion(p.ej: interpoladores VRML o nodos de secuenciade OpenGL-Performer) y sencillos modelos com-portamentales que pueden ayudar a dotar de cier-to dinamismo a los entornos clasicos, en la ma-yorıa de ocasiones, su naturaleza de guion o planprecompilado (off-line) solo lograra mantener elinteres del usuario durante un tiempo bastantelimitado.

Un paso adelante en este sentido es, por ejemplo,la implementacion en VRML y VRCC (un len-guaje de programacion sincronizado) de criaturas3D inspiradas en sus comportamientos biologicos[7]. Sin embargo, este enfoque se ve limitado, en-tre otras cosas, por el modelo comportamental deVRML, que requiere la declaracion explıcita delas rutas de eventos que entran y salen del grafode escena. Esto en la practica se traduce en laimposibilidad de implementar comportamientoscomplejos (basados en motores de razonamiento)en el EV3D, debido a que VRML no dispone demecanismos internos que faciliten la implementa-cion y el control de eventos asıncronos.

A continuacion revisamos tres formas de incre-mentar las capacidades interactivas de un EV3D,mediante la integracion de sistemas de IA, y expli-camos, como los EV3D basados en la distribucionasıncrona de eventos favorecen esta integracion.

Incremento de la interactividad delEV: Una forma incrementar la interacti-vidad en el EV3D, es mediante la integra-cion de motores de razonamiento simboli-co que interpreten, por ejemplo, las accio-nes del usuario. Un ejemplo es el sistema deconfiguracion inteligente desarrollado en [5],donde el usuario puede navegar librementeen el EV3D e interactuar con el problemade configuracion espacial definido. El siste-ma, es sensible a estos cambios de entorno,siendo capaz de recolocar automaticamen-te los elementos necesarios, de forma quese obtenga una posible solucion a distintosproblemas de diseno y/o configuracion delmismo.

La integracion entre el motor grafico (Un-realTM) y el motor de razonamiento (de-sarrollado en GNUProlog) es alcanzada atraves de un modelo de eventos que funcio-na en ambos direcciones y que se benefi-cia de los mecanismos incorporados al mo-tor grafico para tratar con eventos asıncro-

nos. Por ejemplo, supongamos que el usua-rio quiere modificar la configuracion pro-puesta por el sistema y decide colocar unobjeto en otra posicion en el EV3D. Estainteraccion del usuario es encapsulada enun evento generado por el entorno graficoy es pasada a traves al motor de razona-miento quien genera una nueva configura-cion, en la forma de un mensaje de texto(figura 5). La recepcion de este genera unaserie de eventos de bajo nivel (p.ej: spawn,receivedline, etc) en el motor grafico que ha-cen posible que la nueva configuracion seavisible al usuario. Este es un modelo gene-ral que puede aplicarse a varias operacionesen los objetos: cambio de propiedades delobjeto, estado, etc.

Siendo lo anterior muy significativo, el as-pecto mas importante es que los motores derazonamiento se pueden integrar a la perfec-cion en motores graficos si estos estan basa-dos en eventos asıncronos. Es decir, deter-minados eventos, como por ejemplo drop,tienen que ser capturados para su proce-samiento en el motor simbolico pero otrosno. Ası, una aplicacion puede estar interesa-da en capturar las acciones del usuario conobjetos: coger, dejar, empujar, chocar, etc,pero no en como los objetos se comportandesde el punto de vista fısico: como caen,como ruedan, etc. Estos son gobernados ycontrolados por las mecanismos internos delmotor grafico.

Necesidad de una representacion delconocimiento:

La integracion de personajes inteligentes 3Den estos entornos virtuales ejemplifica la ne-cesidad de una representacion del conoci-miento y los requerimientos que esto conlle-va.

Los 3DIVA deben manejar informacion adistintos niveles: el nivel bajo tıpicamen-te recogera la informacion geometrica (lis-tas de vertices, esferas o cajas envolventes,etc.), accesible en todo momento para cual-quier agente de simulacion y el nivel alto(semantico) permitira a los agentes resol-ver distintos problemas en el mismo. De ca-ra a poder representar y manejar este ni-vel semantico, los 3DIVA deben cumplir dosimportantes propiedades: en primer lugar,poseer algun lenguaje de accion con el querepresentar los cambios que producen en elEV3D (ver extensiones de STRIPS en la

Page 7: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

figura 3, y en segundo lugar, disponer dealgun mecanismo de comunicacion que lespermita invocar la ejecucion de sus accio-nes motoras en el EV3D, modificando ası elestado del mundo en caso de poder llevarlasa cabo.

Figura 3. Operadores utilizados en

story-telling [16]

El mantenimiento del modelo semanticoasociado al EV3D es un paso necesario parala integracion de distintos agentes situadosen un mundo compartido. De esta formase facilita la integracion de mecanismos decooperacion entre 3DIVA, tal y como mues-tra la figura 6 donde varios agentes coope-ran en el conocido mundo de bloques, gra-cias a la percepcion del estado simbolico ensu campo de vision [8]. Para que esta coope-racion pueda producirse es necesario dispo-ner de un modelo semantico (dinamico) quemuestre en todo momento el estado visiblede los objetos del EV3D y maneje sus cam-bios. De esta forma, los cambios producidospor un agente (p.ej: coger/dejar cubo) sonpercibidos por el resto de agentes, pudiendoadaptar sus planes en caso necesario.

Por consiguiente, los entornos basados eneventos encajan perfectamente en este ti-po de protocolos de accion, donde tıpica-mente los agentes envıan peticiones de ac-tuacion al entorno3D y esperan el feedbackasociado. Ademas, estos eventos pueden en-capsular la informacion semantica necesaria(atomos) para la actualizacion de la memo-ria del agente, el cual podra de esta formaadaptarse al mundo cambiante que percibe.

Por ejemplo, en [16, 18] se compararon va-rios formalismos de planificacion adecuadosa actores virtuales. Los operadores basadosen STRIPS y utilizados en este problematıpico de story-telling se muestran en la fi-gura 3. En este caso, se permite cierto grado

de no determinismo en la actuacion, por loque las acciones, ademas de fallo, puedendevolver distintos resultados, que seran en-capsulados en sus correspondientes eventosy enviados al agente tal y como ya hemoscomentado.

Alternativa a la simulacion fısica: Unejemplo en este sentido es la idea de la Rea-lidad Alternativa (RA) como una nueva for-ma de experimentar entornos virtuales. Es-to es, RA se define como la experiencia pro-ducida por entornos virtuales cuyo compor-tamiento parte de las experiencias norma-les en el mundo real [4]. Por ejemplo, elcomportamiento de los objetos esta deter-minado por las leyes fısicas que establecenprincipios de dependencia y causalidad. EnRA, estos principios son manipulados y elresultado es una realidad alternativa. Porejemplo, Cavazza et al han experimenta-do con distintas tecnicas para interceptar ymanipular los eventos que rigen los fenome-nos fısicos en un entorno virtual. Por con-siguiente, como en los casos anteriores, losmecanismos incorporados a los entornos vir-tuales basados en eventos asıncronos facili-tan la incorporacion de estas tecnicas.

Figura 4. Arquitectura para el control y

manipulacion de eventos en RA [4]

Un ejemplo de la arquitectura de este tipode sistemas es ilustrado en la figura 4. Lafigura muestra como eventos especıficos, eneste caso relacionados a procesos fısicos co-mo el flujo del agua, son interceptados, ma-nipulados y enviados a un motor de simula-cion, en este caso de simulacion cualitativade procesos fısicos. Como en los casos ante-riores, los demas eventos son gobernados ycontrolados por las mecanismos internos del

Page 8: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

motor grafico. Ası, es facil ver como este ti-po de tecnologıas facilita la implementacionde esta nueva generacion de EV3D: entor-nos virtuales 3D inteligentes.

4. Conclusiones

La evolucion natural de los EV3D, pasa por pro-porcionar entornos de simulacion adecuados amundos 3D de naturaleza cambiante, y en estesentido, los entornos dirigidos por eventos pro-porcionan actualmente un marco adecuado parala investigacion y desarrollo en EVI3D.

Los modelos comportamentales y de comunica-cion clasicos, no satisfacen suficientemente estosrequerimientos, debido principalmente a su altadependencia con el modelo geometrico (grafos deescena), el cual esta claramente orientado a unarapida visualizacion centrada en el usuario, de-jando de lado importantes cuestiones comporta-mentales y de interaccion.

Finalmente, la integracion de EVI3D, es un pro-blema raramente tratado desde el punto de vistadel modelo computacional que soporta el EV3D.Dado que estos entornos estan llamados ser losambientes de simulacion de distintos tipos deEVI3D, deberan ser capaces de gestionar los nue-vos requerimientos dinamicos impuestos. En estesentido, los modelos basados en el envıo de recep-cion asıncrona de eventos proporcionan un mo-delo de simulacion adecuado para la actual inter-seccion entre la IA y los Graficos 3D en tiemporeal.

5. Agradecimientos

Los autores queremos agradecer el interes y bue-nas ideas de Rafael Rodriguez (Brainstorm.es) enla elaboracion de este artıculo.

Referencias

[1] VRML Consortium: VRML97 InternationalStandard (ISO/IEC 14772-1:1997).

[2] Brett Allen, Brian Curless, and Zoran Popo-vic. Articulated body deformation from ran-ge scan data. ACM Transactions on Grap-

hics (ACM SIGGRAPH 2002), 21(3):612–619, 2002.

[3] Avi Bar-Zeev. Scenegraphs:Past, present and future.http://www.realityprime.com/scenegraph.php.

[4] Hartley S. Lugrin J.L. Cavazza, M. Techni-cal report: Alternative reality technologies. ,Deliverable No D-5.0 of the ALTERNE pro-ject (IST-38575), Unpublished, 2003.

[5] Calderon C. Cavazza M., Diaz D. Interac-tive problem solving in an intelligent virtualenvironment. Proc of the 2003 internatio-nal conference on Intelligent user interfaces(ACM). Florida(USA), pages pp 319 – 319,2003.

[6] Cavazza M. Charles F., Mead S.J. Characterbased interactive storytelling. IEEE Intelli-gent systems, July/August 2002, 17-24.

[7] P. Codognet. Animating autonomous agentsin shared virtual worlds. ProceedingsDMS’99, IEEE International Conference onDistributed Multimedia Systems, Aizu Ja-pan, IEEE Press 1999.

[8] M. Lozano et al. An efficient synthetic vi-sion system for 3d multi-character systems.Lecture Notes in Computer Science (Inte-lligent Agents, 4th International Workshop,IVA 2003), 2003.

[9] Steve Schaffer Chris Sollitto Rogelio Adob-bati Andrew N. Marshall Gal A. Kaminka,Manuela M. Veloso. Gamebots: A flexibletest bed for multiagent research. Communi-cations of the ACM, January 2002:43–45, 45No 1.

[10] http://oss.sgi.com/projects/inventor/.

[11] http://www.j3d.org/.

[12] http://www.sgi.com/software/performer/.

[13] John C. Duchi John E. Laird. Creatinghuman-like synthetic characters with multi-ple skill levels: A case study using the soarquakebot. AAAI 2000 Fall Symposium Se-ries: Simulating Human Agents, November2000.

[14] G. Drew Kessler. Virtual environments mo-dels. In Handbook of Virtual EnvironmentsK Stanney, Ed., Lawrence Erlbaum Associa-tes,, 2002, 255-276.

Page 9: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

[15] Sbretchs M Clawson D Higgins G. Lat-han C.E, Tracey M. Using virtual envi-ronments as training simulators: Measuringtransfer. In Handbook of Virtual Environ-ments K Stanney, Ed., Lawrence ErlbaumAssociates,, 2002, 403-415.

[16] Charles F. Lozano M., Mead S.J. BisquerraA. Cavazza M. Planning formalisms and aut-horing in interactive storytelling. Proc on1st International Conference on Technolo-gies for Interactive Digital Storytelling andEntertainment, March, 2003 Darmstadt Ger-many.

[17] Aylett R. Luck M. Applying artificial inte-lligence to virtual reality: Intelligent virtualenvironments. Applied Artificial Intelligence,2000.

[18] A. Bisquerra M. Lozano, F. Barber. For-malismos de planificacion para la anima-cion comportamental de humanos virtuales.XIII Congreso Espanol de Informatica Grafi-ca (CEIG2003), A Coruna 2-4 Julio del 2003.

[19] R. Bindiganavale. N. Badler, M. Palmer.Animation control for real-time virtual hu-mans. Communications of the ACM,42(8):64–73, August 1999.

[20] L.Moccozet G.Sannier A.Aubel P.Kalra,N.Magnenat-Thalmann. Real-time anima-tion of realistic virtual humans. IEEE Com-puter Graphics and Applications, 1998:42–55, 18 No5.

[21] Young R.M. An overview of the mimesisarchitecture: Integrating intelligent narrati-ve control into an existing gaming environ-ment. Working Notes of the AAAI SpringSymposium on Artificial Intelligence and In-teractive Entertainment AAAI Press, 2001.

[22] Seron F.J. Rodriguez R., et al. Adding sup-port for high-level skeletal animation. IEEETransactions on Visualization and ComputerGraphics, pages 360–372, 2002.

Figura 5. Modelo de interaccion, A: configuracion es propuesta por el sistema, B: el usuario recoloca

un objeto, C: el sistema responde mediante una nueva configuracion acorde a las restricciones.

Page 10: Entornos virtuales 3D cl´asicos e inteligentes: hacia un ...€¦ · nado significativamente en los u´ltimos anos.˜ Esta bien documentado [15], que los mundos virtuales tienen

Figura 6. 3DIVA cooperando en un mundo compartido.