1 VRML 2.0 con Java CAPÍTULO 9
Avatares Universales y el Grupo de Trabajo Humanoide
Contenido CAPÍTULO 9 • Universal Avatares • El Grupo de Trabajo de Animación humanoide
2 VRML 2.0 con Java CAPÍTULO 9
• El futuro
Avatares universales El Grupo Universal Avatares está tratando de hacer frente a una gama muy amplia de cuestiones relacionadas con los avatares. Su mandato consiste en "normalizar lo que son los avatares y hacer", y sus objetivos parece que todo lo abarca. Ellos están tratando de normalizar no sólo la representación visual de los avatares y de su comportamiento, sino también su identidad, información
3 VRML 2.0 con Java CAPÍTULO 9
transaccionales, intransitiva y transitiva acciones, agentes personales, las comunicaciones con otros avatares, y específicos del fabricante de apoyo. Es un desafío conjunto de objetivos, y el tiempo dirá cómo es el grupo con éxito en el cumplimiento de ellos. Por lo menos, sus esfuerzos de proporcionar un marco para examinar muchas de las cuestiones implicadas en la normalización de los avatares.
Convenciones de nomenclatura y los formatos de archivo El Universal Avatares especificación indica que los usuarios se describen los avatares de los archivos que se almacenan en un sitio seguro gestionado por una organización de confianza, con el fin de proporcionar seguridad y disponibilidad, así como de gran ancho de banda. Sin embargo, este no es un requisito del pliego de condiciones; Universal Avatar de archivos se pueden almacenar en cualquier lugar de HTTP. Universal Avatar archivo se guardan usando sintaxis VRML y contendrá una serie de contextos avatar. Estos contextos esencialmente avatares estar separados, uno para cada una de varias situaciones diferentes. La propuesta señala una serie de contextos estándar: Sociales, Negocios, Juegos, Compras, Anónimo, Pareja, y otros. Estos contextos serían seleccionados por la aplicación y podrían utilizarse para limitar la cantidad de información disponible sobre el avatar. Cada contexto consistiría en un indicador del tipo (como el social o social y devocional), junto con la URL del avatar que debe utilizarse en ese contexto. No es del todo claro por qué se escogió la sintaxis de VRML para este archivo. No es particularmente fácil de analizar, y el fichero no es de interés para los navegadores de VRML. Es posible que este archivo puede convertirse en un simple conjunto de etiqueta / valor pares, tal vez de la forma social / url = devocional ".
Los seis componentes de un Avatar Los avatares de referencia en los Avatar de archivo universal que también se expresarán utilizando VRML sintaxis, y cada uno de ellos sirven como un contenedor de seis tipos diferentes de información: Perfil de usuario, y el comportamiento de los modelos, la confianza y la transacción de información, comunicaciones, gestión de personal de agente, y de proveedores Extensiones.
4 VRML 2.0 con Java CAPÍTULO 9
Perfil del usuario El perfil de usuario se especifica como la dirección URL de un archivo HTML que proporciona información personal sobre el avatar. Esto puede o no ser el mismo que un usuario de la página de inicio, la idea es que habrá una página de información sobre el avatar que es distinta de la del usuario. La propuesta lugar algunos requisitos en el archivo HTML. En particular, exige que haya campos de datos para el avatar del nombre, ubicación, intereses, etc, así como un mailto: tag. Estos campos serían etiquetados de manera que sea transparente para un navegador HTML (por ejemplo, mediante el uso de códigos de comentario HTML) y sólo sería analizada por el sistema de Avatares Universal. Por supuesto, esto plantea la pregunta de por qué se debe utilizar HTML. Wouldn'ta simple etiqueta / formato del valor de nuevo ser la solución? El avatar puede tener un ser humano de lectura página por la que se especifica una dirección URL en el archivo de avatar. Es posible que la propuesta de Universal Avatares pueden evolucionar en esa dirección.
Y modelos de comportamiento La segunda categoría es la más compleja. Abarca la mayor parte de lo que pensamos como un avatar, incluido su aspecto y el comportamiento. El Universal Avatar intentos propuesta para incluir no sólo basada en los avatares de VRML, pero otros formatos, como el 2-D los sprites para los sistemas como El Palacio. Se logra esto permite al usuario especificar un número de diferentes tipos de avatar, que se distinguen por mayor y menor versión nombres. Por ejemplo, se remite a browser/vrml2/live3d un VRML 2.0 avatar Live3D con extensiones. Esto sería seguido por la URL de los datos necesarios (por ejemplo, un archivo VRML, o un mapa de bits de algún tipo). El comportamiento se especifica de manera similar, con mayores y menores tipos. El principal tipo que indique la tecnología que se utiliza para representar el comportamiento, y el menor tipo de nombre de la conducta en sí. Por ejemplo, se remite a vrml2/java/walk un VRML 2.0 caminar comportamiento implementado en Java. Esto sería seguido por la URL de la walk.class archivo. Este enfoque tiene sentido, aunque de nuevo estos etiqueta / valor pares se
5 VRML 2.0 con Java CAPÍTULO 9
expresan en VRML, por razones que no están totalmente claras. El Universal Avatares propuesta también recomienda que el tamaño estándar para ser avatares 1,0 metros, o poco más de 3 pies. No es claro por qué el diminutivo tales avatares sean mejores que los que se escalan en el mundo real de unidades. La propuesta también sugiere tener varios tipos de avatares, con diferentes ajustes de complejidad polígono. Por supuesto, exactamente lo mismo se puede hacer en VRML utilizando el nodo de LD; la única razón para reproducir este mecanismo es permitir que los no-mundos VRML.
Avatares universal no trata de especificar la estructura jerárquica o de la representación geométrica de un avatar, lo que es el área que el Grupo de Trabajo de Animación humanoides se ha centrado en, y se discutirá más adelante en este capítulo. En el área de comportamiento, Universal Avatares distingue entre acciones intransitiva y transitiva. Esta distinción es importante y útil: intransitivo conductas son realizadas por un avatar y no tienen efecto directo sobre cualquier otra cosa en el medio ambiente, mientras que las conductas transitivo se llevan a cabo en o en o para algo más. Por ejemplo, "saltar hacia arriba y hacia abajo" sería intransitivo, mientras que "dar las flores a Karen" se transitivos. La propuesta presenta una lista de verbos primitivas, las cosas como eMote, locomote, propulsar, ingerir, y transformar. También prevé la transferencia de objetos virtuales o conceptual de los objetos (tales como tarjetas de visita) a otros usuarios. La idea es que una clasificación jerárquica puede construirse utilizando los verbos como las raíces. Transitivo conductas de interacción, la propuesta recomienda la adopción de un enfoque similar al utilizado en los sistemas de MOO.
La confianza y las transacciones El Universal Avatares propuesta reconoce la necesidad de algún método de establecer la confianza, especialmente en lo que se refiere a cuestiones tales como identidad, derechos de autor, y la transferencia electrónica de fondos. Desafortunadamente, no dice mucho sobre cómo estos pueden ser implementados. El grupo tiene plan para cubrir esta área con más detalle en el tercer borrador de su propuesta.
6 VRML 2.0 con Java CAPÍTULO 9
Comunicaciones Sobre el tema de las comunicaciones de voz y texto entre avatares, Universal Avatares propuesta se remite a las normas existentes, como el IRC (Internet Relay Chat) y H.323. Más información acerca de H.323 se puede encontrar en la http://www.databeam.com/H323/H323_Primer/ o en el sitio de la Asociación Internacional de Teleconferencia (www.itca.org). Además, la propuesta de Universal Avatares sugiere la inclusión de una lista de preferencia a campo natural (es decir, humanos), los idiomas que el avatar puede hablar o entender.
Agente de gestión de personal El Universal Avatares propuesta anule una parte de su formato de archivo para vincular a los agentes de usuario. Agente de la tecnología ha caído en el descrédito de un poco últimamente, pero la propuesta sostiene que los nuevos sistemas, como IBM Aglet de trabajo y de la Mitsubishi Concordia, que va a cambiar. La idea es que un avatar del usuario que estar equipados con un número de agentes inteligentes, que interactúan con otros agentes en el medio ambiente para simplificar y racionalizar la experiencia del usuario del mundo. La propuesta ofrece un centro comercial como ejemplo, la tienda en la que los agentes interactúan con el usuario del agente con el fin de obtener información sobre el perfil de usuario y coordinar el envío de "adbots" para ofrecer información sobre el producto.
Extensiones de proveedores El Universal Avatares propuesta también contiene disposiciones específicas de su proveedor de extensiones con el fin de apoyar cosas como los juegos multijugador. Se remite los datos a un proyecto de futuro de la especificación.
Cuestiones de aplicación La propuesta sugiere formas concretas de la aplicación universal Avatares. El concepto de un servidor se introduce avatar, lo que sería una especie de base de datos de los avatares que están protegidos por nombre de usuario y contraseña. Una aplicación podría crear nuevos avatares, recuperar los avatares, y actualizar los parámetros en el avatar (por ejemplo, el perfil de
7 VRML 2.0 con Java CAPÍTULO 9
usuario, la tecnología, y así sucesivamente). El avatar mismo servidor se utiliza para almacenar avatar comportamientos y otros parámetros. Cabe señalar que gran parte de este trabajo que los duplicados de la base de datos del Grupo de Trabajo, que está examinando las cuestiones relativas a la persistencia y la escalabilidad de bases de datos utilizando la tecnología.
El futuro de Universal Avatars Mientras que el Universal Avatares propuesta introduce una serie de importantes conceptos, hay varios aspectos de su diseño que podría usar un nuevo examen. En particular, el uso de sintaxis para VRML VRML datos no es una carga innecesaria aplicación. El Universal también parece Avatares propuesta para duplicar el trabajo de otros grupos, tales como la Base de Datos Grupo de Trabajo y la Vida Mundos grupo. De mayor preocupación es el hecho de que la propuesta pretende ser un estándar que abarque todos para todo tipo de avatares. Si bien este es un noble objetivo, es considerablemente más difícil aplicación. Tampoco es claro qué beneficios reales que ofrece, ya que el número de multiusuario 3-D que no son compatibles con VRML está disminuyendo rápidamente.
El Grupo de Trabajo de Animación humanoide En claro contraste con el Grupo Universal Avatars, el humanoide Animación Grupo de Trabajo se está concentrando en un muy estrecho y problema específico: en representación virtual de los seres humanos y su comportamiento en VRML. El Grupo de Trabajo se formó en el 97 Simposio de VRML, y como este libro va a la imprenta su trabajo apenas comienza. Sin embargo, varias cosas son claras desde sus primeras notas de trabajo.
Objetivos Los principales objetivos de la animación del Grupo de Trabajo humanoides son en 3-D permite a los modeladores virtuales crear seres humanos que son fáciles de animar y permitir a los animadores para crear secuencias de fotogramas clave que pueden ser compartidos entre un número de seres humanos virtuales. Siempre que un nuevo avatar humanoide se crea, tendrá acceso a todo el repertorio de conductas que ya se han creado. Siempre que un nuevo comportamiento se crea, estará disponible a todo el humanoide
8 VRML 2.0 con Java CAPÍTULO 9
avatares. Los tipos de comportamientos que el grupo está interesado en cosas como son el movimiento de extremidades, expresiones faciales, y, finalmente, la sincronización de labios con el habla. Objetivos a más largo plazo incluyen tratar con cosas como apoyo para la ejecución de sistemas de animación, cinemática inversa de software, y la cara / cuerpo de las secuencias de animación del tipo que se producen por el MPEG-4 Natural Sintético-Híbrido Codificación (SNHC) grupo. Información sobre SNHC y MPEG-4 se puede encontrar en la http://drogo.cselt.stet.it/mpeg/, así como en otros sitios Web. El humanoide Animación Grupo de Trabajo está haciendo un punto de no hacer frente a cualquier otro de los temas complejos que el Grupo Universal Avatares está tratando de lidiar con, como la identidad, la información de la transacción, los agentes inteligentes, transitiva comportamientos, proveedores de información, y así sucesivamente. Además, al centrarse estrictamente en humanoide avatares, el grupo aspira a simplificar la tarea que tenemos por delante de ellos.
Definición de una virtual Humanos El primer paso del grupo será la de decidir sobre una forma de describir como un humano virtual de una jerarquía de las entidades geométricas. Cada conjunto es probable que se representa como una transformación, con la orientación de las articulaciones están fijados por el control de los comportamientos que humanoide. Además, la información sobre el avatar que deben estar disponibles. Por ejemplo, algunos comportamientos se necesita tener un conocimiento de las dimensiones del avatar con el fin de calcular el conjunto de los ángulos correctos para el avatar. Además, la información sobre el avatar de la longitud de zancada es necesario, a fin de que la traducción de la avatar coincide con sus pasos, de lo contrario, el avatar se parece deslizarse sobre el hielo o barro a avanzar a través de invisibles. También es preciso que haya un espacio para la información de copyright en la práctica humana. Esto no es lo mismo que la información sobre el avatar virtual que utiliza el cuerpo humano como, por ejemplo, un humanoide puede ser creado por un profesional en 3-D modelador que poner un aviso de derechos de autor sobre el mismo, pero ese mismo humanoide sería utilizarse como un avatar para un cliente de ese modelador.
9 VRML 2.0 con Java CAPÍTULO 9
Definir comportamientos El segundo paso será especificar un conjunto de comportamientos para el humanoide. Los comportamientos se centrará principalmente en "motores" que impulsan la rotación de las articulaciones, la deformación de la cara de las expresiones emocionales y de expresión, y la traducción del avatar a través del entorno virtual. Hay varias fuentes de datos de comportamiento. El más obvio son simples secuencias de animación de fotogramas clave, expresado como OrientationInterpolator nodos. Dado que estas secuencias pueden ser muy voluminoso, de alguna forma de compresión de datos sean necesarios. Afortunadamente, con un conocimiento de los datos comprimido permite un mayor ratio de compresión que se desea alcanzar. Animaciones también pueden ser generados dinámicamente a partir de un guión o nodo computa utilizando un sistema de cinemática inversa. Sistemas de rendimiento de la animación (también llamados sistemas de captura de movimiento) se podría utilizar para impulsar directamente los movimientos de los humanoides. Sin embargo, otra fuente de la animación se humanoide datos transferidos mediante el próximo estándar MPEG-4. Norma que incorpore tanto BAP (Cuerpo Animación Parámetros) y PAF (Animación Facial parámetros), que puede ser transferido directamente a la práctica humana que se ha construido en VRML.
La estructura del cuerpo humano en VRML Un número de compañías han construido humanoides avatares en VRML. Entre estas se encuentran 3Name3D, Protozoos, Zapa Digital Arts, Atico Graphics, OZ interactivo, y muchos más. El problema es que no hay dos avatares tienen suficiente en común que puedan compartir las animaciones o ser impulsados por fuentes de datos externas, tales como MPEG-4 de un flujo de datos. La solución es estandarizar un conjunto de segmentos corporales y de la conexión de las articulaciones y para permitir a las aplicaciones acceder a las articulaciones con el fin de modificar los ángulos de rotación y, por ende, la reposición de las extremidades.
Expresiones faciales en VRML Así como es necesario que haya un conjunto de parámetros para describir la
10 VRML 2.0 con Java CAPÍTULO 9
animación corporal, es necesario que haya otro conjunto para describir cambios en las expresiones faciales. En particular, alterando la boca en posición de sincronización de datos con el habla es un paso importante, ya que aumenta el realismo de un humano virtual. Geometría facial en VRML es generalmente modelada utilizando un IndexedFace-Set y, a cambio de la forma de que la geometría de las diferentes expresiones y fonema de datos se logra al alterar la coordinación de datos.
Enfoques posibles Hay una serie de enfoques para la definición de un humano virtual en VRML. Una muestra que una gran cantidad de promesas es utilizar un PROTO para el avatar, lo que ha eventIns o exposedFields para las diferentes rotaciones, junto con una para la ubicación y orientación de todo el avatar y una de las coordenadas de la IndexedFaceSet que define el cara. Por ejemplo, un PROTO puede tener este aspecto:
#VRML V2.0 utf8 PROTO Humanoid [ exposedField SFVec3f whole_bodyTrans 0 0 0 exposedField SFRotation whole_bodyRot 0 0 1 0 field MFString information [] # copyright, author, etc field MFFloat dimensions [] # segment lengths, diameters, etc eventOut MFFloat dimensions_changed exposedField SFVec3f scale 1 1 1 exposedField SFColor skinColor 1 1 1 exposedField SFColor faceColor 1 1 1 exposedField SFColor eyeColor 1 1 1 exposedField SFColor hairColor 1 1 1 exposedField SFColor beardColor 1 1 1 exposedField SFColor shirtColor 0.601 0.0739 0.115 exposedField SFColor pantsColor 0.054 0.233 0.39 exposedField SFColor shoeColor 0.8 0.8 0.8 exposedField SFRotation pelvisRot 0 0 1 0 exposedField SFRotation torsoRot 0 0 1 0 exposedField SFRotation v8Rot 0 0 1 0 # head exposedField SFRotation v7Rot 0 0 1 0 # neck part 2 exposedField SFRotation v6Rot 0 0 1 0 # neck part 1 exposedField SFRotation l_hipRot 0 0 1 0 exposedField SFRotation r_hipRot 0 0 1 0 exposedField SFRotation l_kneeRot 0 0 1 0 exposedField SFRotation r_kneeRot 0 0 1 0 exposedField SFRotation l_ankleRot 0 0 1 0 exposedField SFRotation r_ankleRot 0 0 1 0 exposedField SFRotation l_shoulderRot 0 0 1 0
11 VRML 2.0 con Java CAPÍTULO 9
exposedField SFRotation r_shoulderRot 0 0 1 0 exposedField SFRotation l_elbowRot 0 0 1 0 exposedField SFRotation r_elbowRot 0 0 1 0 exposedField SFRotation l_wristRot 0 0 1 0 exposedField SFRotation r_wristRot 0 0 1 0 exposedField SFRotation l_clavRot 0 0 1 0 # clavicle exposedField SFRotation l_scapRot 0 0 1 0 # scapula exposedField SFRotation r_clavRot 0 0 1 0 exposedField SFRotation r_scapRot 0 0 1 0 exposedField SFRotation v1Rot 0 0 1 0 # first vertebra exposedField SFRotation v2Rot 0 0 1 0 exposedField SFRotation v3Rot 0 0 1 0 exposedField SFRotation v4Rot 0 0 1 0 exposedField SFRotation v5Rot 0 0 1 0 exposedField SFRotation l_subtalarRot 0 0 1 0 exposedField SFRotation l_midFootRot 0 0 1 0 exposedField SFRotation l_toeRot 0 0 1 0 exposedField SFRotation r_subtalarRot 0 0 1 0 exposedField SFRotation r_midFootRot 0 0 1 0 exposedField SFRotation r_toeRot 0 0 1 0 field MFVec3f faceShape [] # resting position of face eventOut MFVec3f faceShape_changed exposedField MFVec3f faceExpression]
Este es un gran PROTO, pero proporciona acceso a toda la base de las articulaciones del cuerpo. Deja las manos, que tienen el mayor número de grados de libertad como todo el resto del cuerpo. Las dimensiones del campo de tiendas de longitudes y diámetros de los diversos segmentos corporales. El faceShape es el conjunto inicial de los vértices de coordenadas para el rostro en una expresión, a la que puede añadir comportamientos desplazamientos y, a continuación, enviar los resultados a la set_faceExpression eventIn. La escala permite al exposedField avatar hacerse a escala en un tamaño diferente. Cada avatar diferente tendría su propio PROTO, aunque varias instancias de un avatar podrían compartir el mismo PROTO. Que se pueden personalizar cambiando los colores y factores de escala.
El futuro El trabajo de la Universal Avatares Grupo, el Grupo de Trabajo de Animación humanoide, el Grupo de los mundos de vida, el Open proyecto comunitario, la Base de Datos Grupo de Trabajo, y otros finalmente convergen para producir un conjunto de normas que permitan la creación de mundos virtuales multiusuario. Voy a ser el seguimiento de los progresos de esta cantidad de encabezados por el esfuerzo de normalización en mi página Web: http://ece.uwaterloo.ca/ ~ broehl / vrml.
12 VRML 2.0 con Java CAPÍTULO 9
En el ínterin, es posible que desee comprobar el capítulo 20 para una descripción más detallada de cómo los avatares de trabajo y la forma en que está construido.