mj3a-pa - um motor de jogos 3d para android com personagens

Propaganda
MJ3A-PA - UM MOTOR DE
JOGOS 3D PARA ANDROID
COM PERSONAGENS
ARTICULADOS
Acadêmico: André William Prade Hildinger
Orientador: Dalton Solano dos Reis
Roteiro
•
•
•
•
•
•
•
Introdução
Fundamentação teórica
Desenvolvimento
Resultados e discussão
Conclusão
Extensões
Demonstração
Introdução
• Objetivos do trabalho
– Virtual Articulations for Virtual Reality
– Biblioteca de personagens articulados para a
plataforma Android
– Aplicação que utiliza a biblioteca
• Personagem simples sobre um chão
– Aplicação de teste de desempenho
Fundamentação teórica
• Articulações
– Degrees Of Freedom (DOFs)
• Uniaxial
• Biaxial
• Poliaxial
Fundamentação teórica
• Plataforma Android
– Kernel Linux
– Bibliotecas (OpenGL ES)
– Framework de aplicação
– Aplicações
Fundamentação teórica
• OpenGL for Embedded Systems
– Biblioteca gráfica para dispositivos móveis
– Multiplataforma
•
•
•
•
•
Android
iOS
Symbian
BlackBerry
Nintendo 3DS
– Suporte nativo no Android
Fundametanção teórica
• V-ART
– C++
– Inteiramente orientado a objetos
– Suporte a animações
– Representação de articulações
biologicamente corretas
– Independente da biblioteca gráfica
Fundametanção teórica
• Trabalhos correlatos
– Visualizador de Animação 3D com Suporte ao
Formato de Arquivos FBX em Objective-C++
Fundametanção teórica
• Trabalhos correlatos
– Catcake
• Iluminação
• Gestão de periféricos
(mouse e teclado)
• Reprodução de sons
• Detecção de colisão
Desenvolvimento
• Requisitos
– exibir um personagem articulado num mundo virtual simples,
somente o personagem sobre um chão (RF)
– disponibilizar uma aplicação usando o MJ3A-PA com funções
básicas de visualização que permita inspecionar o personagem
mudando a posição da câmera (RF)
– o sistema deve ser desenvolvido na linguagem Java (RFN)
– o sistema deve ser compatível com o sistema operacional
Android 2.3.3 ou superior (RNF)
– o código fonte deve ser documentado utilizando JavaDoc (RNF);
– a aplicação disponibilizada deve ser testada no simulador e
também no dispositivo físico (RNF)
Desenvolvimento
• Especificação
Desenvolvimento
• Principais classes da biblioteca
Desenvolvimento
• Técnicas e ferramentas utilizadas
– Eclipse
– Android Development Tools (ADT)
– Simulador
– Samsung Galaxy S
Desenvolvimento
• Operacionalidade da aplicação
Desenvolvimento
• Operacionalidade da aplicação
Desenvolvimento
• Aplicação teste
Desenvolvimento
• Aplicação teste
Desenvolvimento
• Aplicação teste
Resultados e discussão
•
•
•
•
•
•
Importação de XML
Funcionalidades complexas do V-ART
C++ x Java
OpenGL x OpenGL ES
Renderização de números
Baixo desempenho do simulador
Resultados e discussão
• Testes de desempenho
• Média em milissegundos de 100 quadros
Resultados e discussão
• Variação da quantidade de nodos
Resultados e discussão
• Variação da quantidade de nodos
Resultados e discussão
• Variação da quantidade de DOFs com 64 nodos
Resultados e discussão
• Cálculo teórico de uso de memória
– Soma dos bytes dos atributos das classes
dos objetos envolvidos
Resultados e discussão
• Variação da quantidade de nodos
Resultados e discussão
– Variação da quantidade de DOFs
Conclusões
• Bom desempenho
• Baixo consumo de memória
• Desenvolvimento para Android
– Fácil
– Intuitivo
• Baixo desempenho do simulador
Extensões
• Transcrever classes pertinentes do V-ART para utilizar
um personagem humanoide
• Transcrever classes para o desenho de formas
geométricas além de formas retangulares, como
esferas, cilindros e triângulos
• Utilizar a biblioteca OpenGL ES 2.0 para renderização
da cena
• Adicionar a importação de um arquivo XML que
contenha personagens e suas animações
• Implementar o correto uso de luzes, cores e texturas
Demonstração
Obrigado
Download