entornos virtuales 3d cl´asicos e inteligentes: hacia un...

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 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 El concepto de entorno virtual en 3D ha evolucio- nado significativamente en los ´ ultimos a˜ nos. Esta bien documentado [16], 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. 1

Upload: nguyenkhanh

Post on 08-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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

3 de diciembre de 2003

Resumen

En este artıculo analizamos la evolucion experimentada por los Entornos Virtuales 3D (EVs3D) con el enfasispuesto en las cuestiones relativas a su comportamiento como aplicaciones informaticas en tiempo de ejecucion.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 clasico desimulacion grafica. En base a estas carencias, analizamos las directrices de diseno de los nuevos EntornosVirtuales Inteligentes (EVIs), orientados a proporcionar distintas capas de IA (Inteligencia Artificial) quepueden 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 lossoportan, basados en la distribucion de eventos de forma asıncrona, proporcionan actualmente un marcoadecuado para la nueva generacion de EVIs3D.

Palabras clave: Entornos Virtuales 3D, Sistemas Inteligentes, Agentes Inteligentes 3D (3DIVAs), SistemasInteractivos 3D.

1. Introduccion

El concepto de entorno virtual en 3D ha evolucio-nado significativamente en los ultimos anos. Estabien documentado [16], 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.

1

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 (3DIVAs) y, por consiguiente, muchos delos ejemplos del artıculo hacen referencia a estearea.

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 revisamos las principales mejoras com-portamentales e interactivas que ofrecen los nue-vos EVIs, describiendo, usando distintos ejemplosde aplicacion, como los entornos basados en ladistribucion de eventos de forma asıncrona pro-porcionan el marco adecuado para esta nueva ge-neracion de EVs.

2. Modelos computacionales

Independientemente del ambiente interesado ensu modelizacion virtual, desde un punto de vis-ta exclusivamente computacional, los EV’s 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 [15].

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 EV 3D.

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)

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 EVs 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 es-cena o scene graph (figura 1). A diferencia delmodo de dibujado basico, los entornos basadosen grafos de escena obtienen cada imagen sinteti-ca tras realizar un recorrido traversal sobre dichografo, normalmente acıclico y dirigido. Duranteeste recorrido, se generan y ordenan las listas deobjetos 3D que al caer dentro del campo de visionde alguna de las camaras definidas para la visuali-zacion del ambiente, deberan ser introducidos enla tuberıa grafica para su dibujado (Figura 1). Laorganizacion espacial implıcita en el grafo de es-cena favorece la organizacion de la base de datosvisual, lo que resultara muy beneficioso en el pro-ceso de recorte o culling asociado a cada ordende dibujado, y finalmente supondra un aumentoen la tasa de imagenes 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 [13], OpenIn-ventor [11] o Java3D [12], son ejemplos de EVs3Dbasados en grafos de escena (para una revisionmas detallada consultar [15][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][9] [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 la

deformacion de ciertas partes de su esqueletogeometrico [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 bus-cando algun objeto. De esta forma, para facilitarel autocontrol del modelo geometrico de un actor3D, se requerira de algun modelo de comunicacionentre los nodos del grafo al cual pertenece. Ası,en tiempo de ejecucion un nodo podra conocer elestado de las partes del esqueleto que necesite yautoregularse.

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 EVs3D,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 EVcontiene.

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 3DIVAs, uobjetos autonomos que pueden formar parte dela simulacion, cuestion que cae fuera del presente

analisis.

En este artıculo denominamos EVs3D clasicos aaquellos que son altamente dependientes del gra-fo de escena, por lo que sus modelos computacio-nales (geometrico, comportamental e interaccion)pasaran a depender del mismo.

Durante la ejecucion, un ciclo de simulacion deun EV3D clasico suele dividirse en tres fases, queseran organizadas de igual modo que el hardwaregrafico, es decir, a modo de tuberıa. La prime-ra fase o de aplicacion (app) esta dedicada a lasimulacion, es decir, a producir todos los cam-bios necesarios en el entorno (posiciones de obje-tos moviles, cambios en la iluminacion, etc). Unavez finalizada comenzara el recorrido por el grafo,el cual se encargara tanto del test de visibilidad(cull) como del dibujado final.

Una vez cargada la escena completa, la fase deaplicacion recibira el grafo resultante, el cual po-dra manipular desde ese momento y provocar loscambios comentados. Los principales nodos impli-cados en el modelo comportamental de los EVs3Dclasicos varıan desde los nodos de LOD (Level OfDetail) capaces de seleccionar, cambiar y/o fu-sionar la apariencia geometrica de un objeto 3Den funcion de su distancia a la camara, pasandopor los nodos conmutadores (SWITCH ), hastalos mas recientes Billboards, capaces de orientarsu geometrıa en funcion del angulo abierto de nue-vo con la camara 1. Los DCS ya comentados onodos de tranformacion, son normalmente los en-cargados de trasladar, rotar o escalar su subarbol(nodos geometricos) asociado (ej: animacion delos 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 podados debido al proceso de recorte(cull) del grafo de la escena.

La reduccion del ambito de la simulacion almundo visible en cada ciclo (app-cull-draw),acarreara claros problemas comportamentales, yaque se impide cualquier tipo de cambio o interac-cion mas 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 comportmentales), los EVs3D 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 3DIVAs (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 EVs3D completamente centrados en el

1Suelen emplearse en la representacion de objetos complejos con cierto grado de simetrıa vertical, como arboles etc. Verfigura 2.

2estableciendo hilos de comunicacion ad hoc entre los nodos del grafo de escena implicados.

campo de vision del usuario y estaticos desde unpunto de vista comportamental.

En busca del citado dinamismo comportamental,los entornos dirigidos por eventos encabezanel segundo tipo de EVs3D 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. Pa-ra ello, cada objeto interesado en la recepcion dedistintos eventos solo tendra que incluir los scriptsnecesarios para su manejo (ver figura 3).

En este tipo de EVs3D 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 las arquitecturasde, por ejemplo, agente que normalmente gobier-nan los formalismos autonomos embebidos en los3DIVAs.

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 EVs3D es-calables y con posibilidades de reutilizacion enambos niveles.

Distintos grupos de investigacion han adaptado

sus desarrollos a este tipo de entornos 3D comoplataforma de computacion adecuada para la si-mulacion de EVIs, donde normalmente se inte-gran distintos tipos de 3DIVAs [10] [21] [18] [14][8].

2.3. Interaccion con el usuario

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

Los EVs3D clasicos incluyen un modelo de in-teraccion basico dentro de la jerarquıa de nodosde su grafo de escena. Este modelo, centrado denuevo en el punto de vista del usuario, es re-presentado por ejemplo en Java3D mediante losnodos Viewpoint, NavigationInfo o PhysicalEn-vironment, manteniendo informacion provenientede algun dispositivo que registre posicion, orienta-cion del usuario y rutas de navegacion del mismo.Esto es bastante util a la hora del dibujado de laescena, ya que el grafo siempre poseera informa-cion actualizada del usuario y la imagen sera cal-culada desde su punto de vista. Pero poco efectivosi el usuario quiero interactuar con una entidadfuera de su campo de vision. Por consiquiente, lainclusion del usuario en el grafo de escena limi-tara de nuevo el modo de interaccion o comunica-cion con el resto de nodos del grafo, es decir, consu entorno 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. EVs3D mas recientescomo el SVE [15], 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(EVIs) [17] reside en incrementar las capacidadescomportamentales e interactivas de los EVs3D.

Esto se consigue mediante la incorporacion de ca-pas o sistemas de IA situados e interactuando conel sistema grafico.

Aunque existen diferentes tecnicas de animacion(p.ej: interpoladores VRML o nodos de secuenciade OpenGL-Performer) y sencillos modelos com-portamentale 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 otros 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 (como motores de razonamiento) en elEV, debido a que VRML no dispone de mecanis-mos internos que faciliten la implementacion y elcontrol de eventos asıncronos.

A continuacion revisamos tres formas de incre-mentar las capacidades interactivas de un EV,mediante la integracion de sistemas de IA, y, ex-plicamos, como los EV basados en la distribucionasincrona de eventos favorecen esta integracion.

Incremento de la interactividad delEV: Una forma de alcanzar este incremen-to en la interactividad del EV es mediantela integracion de motores de razonamientosimbolico que interpretan, por ejemplo, lasacciones del usuario. Un ejemplo es el sis-tema de configuracion inteligente desarro-llado en [4], donde el usuario puede navegarlibremente en el EV e interactuar con el pro-blema de configuracion espacial mediante lamodificacion de configuracion de los distin-tos elementos. El sistema, es sensible a estoscambios de entorno, siendo capaz de reco-locar automaticamente los elementos nece-sarios, de forma que se obtenga una posiblesolucion a distintos problemas de diseno y/oconfiguracion del mismo.

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 EV. Esto in-teraccion del usuario es encapsulada en unevento generado por el entorno grafico y espasada a traves al motor de razonamientoquien genera una nueva configuracion, en laforma de un mensaje de texto (figuras 3 y6). La recepcion de este genera una serie deeventos de bajo nivel (p.ej: spawn, received-line, etc) en el motor grafico que hacen po-sible que la nueva configuracion sea visibleal usuario. Este es un modelo general quepuede aplicarse a varias operaciones en losobjetos: cambio de propiedades del objeto,estado, etc.

Figura 3. Ejemplo de evento en

UnrealTM: el usuario deja un objeto.

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: cojer, 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 3DIVAs 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 nivelsemantico, los 3DIVAs 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 fi-gura 4. Y en segundo, disponer de algunmecanismo de comunicacion que le permitainvocar la ejecucion de sus acciones motorasen el EV3D, modificando ası el estado delmundo en caso de poder llevarlas a cabo.

El mantenimiento del modelo semanti-co asociado al EV3D es un paso necesariopara la integracion de distintos agentes si-tuados en un mundo compartido. De estaforma se facilita la integracion de mecanis-mos de cooperacion entre 3DIVAs, tal y co-mo muestra la figura 7 donde varios agentescooperan en el conocido mundo de bloques,gracias a la percepcion del estado simboli-co en su campo de vision [8]. Para que estacooperacion pueda producirse es necesariodisponer de un modelo semantico dinamicoque muestre en todo momento el estado vi-sible de los objetos del EV3D y maneje suscambios. De esta forma, los cambios produ-cidos por un agente (coger/dejar cubo) sonpercibidos por el resto de agentes, pudiendoadaptar sus planes en caso necesario.

Por consiguiente, los entornos basados eneventos se adecuan correctamente a estetipo de protocolos de accion, donde tıpi-camente los agentes envıan peticiones deactuacion al entorno3D y esperan el feed-back o resultado asociado a dicha accion.Ademas, estos eventos pueden encapsular lainformacion semantica necesaria (atomos)para la actualizacion de la memoria delagente, el cual podra de esta forma adap-tarse al mundo cambiante que percibe.

Figura 4. Operadores utilizados en

story-telling [6]

Por ejemplo, en [6] se compararon variosformalismos de planificacion adecuados aactores virtuales. Los operadores basados enSTRIPS y utilizados en este problema tıpicode story-telling se muestran en la figura 4.En este caso, se permite cierto grado de nodeterminismo en la actuacion, por lo que lasacciones, ademas de fallo, pueden devolverdistintos resultados, que seran encapsuladosen sus correspondientes eventos y enviadosal agente.

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 (ref). 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 5. Arquitectura para el control y

manipulacion de eventos en RA [5]

Un ejemplo de la arquitectura de este tipode sistemas es ilustrado en la figura 5. Lafigura muestra como especıficos eventos, 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 delmotor grafico. Ası es facil ver como este tipode tecnologıas facilita la implementacion deesta nueva generacion de EV: entornos vir-tuales inteligentes.

4. Conclusiones

La evolucion natural de los EVs3D, pasa porproporcionar 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 EVIs3D.

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 EVIs, es un proble-ma raramente tratado desde el punto de vista delmodelo computacional que soporta el EV3D. Da-do que estos entornos estan llamados ser los am-bientes de simulacion de distintos tipos de EVIs,

deberan ser capaces de gestionar los nuevos re-querimientos dinamicos impuestos. En este senti-do, los modelos basados en el envıo de recepcionasıncrona de eventos proporcionan un modelo desimulacion adecuado para la actual interseccionentre la IA y los Graficos 3D en tiempo real.

5. Agradecimientos

Los autores queremos agradecer el interes, apoyoy buenas ideas de Rafael Rodriguez en la elabo-racion 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] D. Diaz C. Calderon, M. Cavazza. Interac-tive problem solving in an intelligent virtualenvironment. Proc of the 2003 internatio-nal conference on Intelligent user interfaces(ACM). Florida(USA), Enero 2003, pp 319- 319.

[5] 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.

[6] Steven J. Mead-A.Bisquerra Charles F., Lo-zano M. and Marc Cavazza. Planning for-malisms and authoring in interactive story-telling. Proc on 1st International Confe-rence on Technologies for Interactive DigitalStorytelling and Entertainment, March, 2003Darmstadt Germany.

[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).

[9] Eva Cerezo-Alfredo Pina Francisco J. Seron,Rafael Rodriguez. Adding support for high-level skeletal animation. Proc of the IEEEComputer Animation, 2002, 360-372.

[10] 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.

[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. 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.

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

[16] 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.

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

[18] S. J. Mead M. Cavazza, F. Charles. Charac-ter based interactive storytelling. IEEE In-telligent systems, July/August 2002, 17-24.

[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] R.M. Young. 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.

Figura 6. 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.

Figura 7. 3DIVAs cooperando en un mundo compartido.