Criação e Customização de Avatares Reais leves para Implementação em Ambientes Virtuais Colaborativos 3D Andouglas Gonçalves da S. Júnior¹, Filipe Gurgel Nóbrega¹, Julio Cesar Paulino de Melo2, Aquiles Medeiros Filgueira Burlamaqui¹ ¹Escola de Ciências e Tecnologia – Universidade Federal do Rio Grande do Norte (UFRN) 2 Programa de Pós Graduação em Engenharia Elétrica e de Computação(PPGEEC)– Universidade Federal do Rio Grande do Norte(UFRN) [email protected], {paldxd,aquilesburlamaqui,julio.engcomp}@gmail.com Abstract. The possibility of customizing characters in a 3D virtual environment is a well know problem of the virtual reality applications field, mainly because of its main requirement that aggregates perfection with performance. This work presents a tool to character customization to virtual collaborative environment that is easy to use, but generates optimized models in order to reduce the virtual environment hardware requirements. Resumo. A possibilidade de customizar personagens em um ambiente virtual 3D é um problema bem conhecido da área de aplicações de ambientes virtuais, principalmente por causa do principal requisito que une desempenho e perfeição. Este trabalho apresenta uma ferramenta para customização de personagens que é fácil de usar, mas gera modelos otimizados visando reduzir os requisitos de hardware do ambiente virtual. 1. Introdução Diversos sistemas que permitem criar avatares com diferentes características, estilos e formas, tem ocupado uma boa parte do entretenimento na internet, possibilitando que usuários, sem conhecimento na área de modelagem, desenvolvam seus próprios personagens. Um ambiente virtual e tridimensional que simula aspectos da vida real e social do ser humano, criado em 1999 e desenvolvido em 2003 pela empresa Linden Lab, chamado Second Life [Second Life, 2003], possui um dos mais avançados sistemas de criação, customização e manutenção de avatares. Porém, um dos maiores problemas desse ambiente é a necessidade, por parte do usuário, de uma alta configurações gráficas e uma internet rápida, que possa carregar todas as funções do personagem recém-criado, assim como visualizar os personagens dos outros participantes do jogo. Desenvolver avatares que não necessite de uma alta conexão com a internet, permitindo o acesso de diversos outros clientes ao ambiente virtual possibilitará um avanço considerável e abrirá caminhos para a socialização da web. 2. Trabalho Proposto Nosso trabalho propõe uma ferramenta de customização de avatares para ambientes virtuais colaborativos. O principal objetivo de nossa ferramenta é atingir usuários leigos na área de conhecimentos na área de modelagem geométrica, fornecendo opções de configuração de forma e textura dos modelos. O objetivo final do nosso trabalho é desenvolver uma aplicação que permita customização de avatares integrada com um ambiente virtual que suporte vários usuários sem perda de desempenho ou necessidades de altas configurações gráficas por parte do usuário final. 2.1 Solução Proposta No projeto, para a criação do ambiente virtual, assim como para a indexação dos personagens criados no Blender, é utilizado a API Java JPCT da Linguagem JAVA, ao invés da API JAVA3D, mais comumente encontrada em outros projetos que usam Java como o Vida Artificial em Ambientes virtuais (A.L.I.V.E)[ NEVES, Rogério & LOBO, Márcio N.], que desenvolvia experimentos em realidade virtual para estudos dos seres vivos e da dinâmica da vida. A api JPCT foi escolhida para nosso projeto por possuir melhor desempenho. Ela possui um sistema eficiente de renderização, que detecta automaticamente placas de aceleração de vídeo compatíveis com OpenGL (através da API JOGL). Com isso, é possível distribuir aplicativos com tecnologia OpenGL através do JAVA Webstart ou executar o programa como um applet. Por utilizarmos a tecnologia Java, o código desenvolvido tem a característica de ser portável para outras plataformas, embora ainda fique dependente de uma versão compatível do JPCT instalada no computador. Para que seja possível diminuir a necessidade de alta configuração de sistema do computador, assim como a de conexão com a internet, na criação do avatar procuamos utilizar o menor número de polígonos possível, além disso podemos contar com a capacidade da JPCT de detectar automaticamente placas de vídeo, aumentando o desempenho gráfico em computadores melhores. Para as animações foi feita uma redução da taxa de frames por segundo(FPS), possibilitando um menor tamanho do arquivo gerado e um melhor controle das configurações pré-definidas de movimentação do personagem. Para que não se perca a qualidade da animação, estuda-se uma forma de re-utilizar um frame já usado em outro movimento para outra ação do personagem, diminuindo assim a quantidade de quadros no arquivo e, consequentemente, seu tamanho. Inicialmente, a idéia é que seja possível dar qualidades ao personagem: homem ou mulher, gordo ou magro, alto ou baixo, etc. sendo necessárias apenas algumas configurações para isso. Posteriormente, fazer com que cada parte do corpo do personagem possa ser modificada em altura, largura, posição e textura. 3. Tecnologias Utilizadas no Trabalho Para implementação da solução proposta algumas tecnologias em adição a JPCT e a linguagem Java foram utilizadas, nessa seção descrevemos um pouco cada uma delas. 2.1 Blender No projeto, o avatar é desenvolvido no Blender, programa gratuito de modelagem 3D. Ele oferece ferramentas para auxílio na criação de objetos tridimensionais, iluminação de cenas, otimização de malhas e edição das animações. O blender foi escolhido para nosso projeto por ser uma ferramenta free e com uma grande e ativa comunidade. 2.2 Eclipse O Eclipse consiste em um programa gratuito que permite a criação de códigos para diversas linguagens de programação. Apresenta uma interface simples e funções que ajudam ao programador a desenvolver programas de forma mais rápida. No trabalho é utilizado a Linguagem Orientada a Objetos JAVA, que permite a criação de diversos programas, assim como mundos virtuais. 3. Resultados Parciais Atualmente, a ferramenta possibilita a customização do avatar de acordo com características pré-definidas, como: sexo, formato do corpo e roupas a serem utilizadas. Figura 1. Avatares customizados Figura 2. Tela de Customização de avatares A versão em desenvolvimento atualmente permite a partes do corpo de um personagem em tamanho, largura, altura e textura. Um problema foi encontrado relacionado a velocidade de tempo de execução do programa quando um grande número de clientes se conecta ao ambiente, fazendo com o que o mesmo torne-se lento em computadores de baixa configuração. Porém, algumas animações utilizadas para a movimentação do personagem foram modificadas para correção dos problemas de lendidão. 4. Conclusões A idéia de realidade virtual traz a possibilidade de utilização de um outro tipo de interação humano-computador onde as partes usuárias do sistema localizam-se dentro do próprio ambiente tornando-a mais simples e intuitiva. Com isso, é possível ter características como imersão, interação e envolvimento do usuário nesses ambientes. Seguindo esses conceitos, muitos ambientes virtuais multiusuários têm sido criados, sejam baseados em ambientes reais (simulações) ou não. A utilização de avatares como mecanismos de percepção em ambiente de RV permite uma representação mais real dos participantes envolvidos facilitando a percepção e comunicação entre os diversos elementos no ambiente virtual. A introdução de características multimídia, tais como, texto, imagem, áudio e vídeo aumentam as potencialidades dessa facilidade e tem sido uma tendência verificada na literatura. Os ambientes 3D multiusuário apresentados oferecem a possibilidade de personalização de seus avatares, permitindo que os usuários escolham (e/ou montem) um avatar de acordo com suas preferências, salvando esta configuração em seguida. E desenvolver algo que possibilite a uma maior quantidade de usuários, que usufruam ou não de alta tecnologia é de essencial importância para o crescimento da inclusão digital. 5. Referencias API JPCT. Disponível em: <http://www.jpct.net/doc>. Ultimo Acesso em: 05/07/2010. API JAVA 3D – Versão 1.5.2. Disponível em: <HTTP://download.java.net/media/java3d/javadoc/1.5.2/index.html>. Ultimo acesso em: 05/07/201. NEVES, Rogério & LOBO, Márcio N. Em: A.L.I.V.E. – Vida Artificial em ambientes virtuais: uma plataforma experimental em realidade virtual para estudos dos seres vivos e da dinâmica da vida. Laboratório de Sistemas Integrados, Escola Politécnica, Universidade de São Paulo. API JOGL Disponível em: <https://jogl.dev.java.net/>. Ultimo acesso em 6 de set. 2010. A. Morningstar; R.F. Farmer. “The lessons of Lucasfilm's habitat”. In M. Benedikt, editor, Cyberspace: First Steps, pages 273--302. MIT Press, 1991. R. Eduardo da Silva. Realidade Virtual: um novo conceito em interface. São Paulo. Disponível em: <http: //www.unirroo.br/fair/Rogerio.pdf>. Acesso em: 7 dez. 2003. Sulake Company. Habbo Hotel. Disponível em: <http: //www.habbohotel.com>. Acesso em: 5 Jun. 2010. Second Life. Disponível em: <http://secondlife.com/>. Ultimo acesso em 5 de Jul. 2010; Runescape. Disponível em: <http://www.runescape.com>. Ultimo acesso em 5 de Jul. 2010;