Page 1
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Descrevendo cenas em X3D Descrevendo cenas em X3D para Integração de Aplicações para Integração de Aplicações
e Suporte Multiplataformae Suporte Multiplataforma
Eduardo L. Falcão
Liliane S. Machado
Thaíse K. L. CostaUniversidade Federal da
Paraíba
XII Symposium on Virtual and Augmented Reality
Page 2
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Parte I – • Conceitos, embasamento teórico,
introdução aos nós X3D
Parte II – • Introdução de interatividade aos AVs,
tópicos específicos em X3D
Descrevendo cenas em X3D Descrevendo cenas em X3D para Integração de Aplicações para Integração de Aplicações
e Suporte Multiplataformae Suporte Multiplataforma
Page 3
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Surgimento de AVs 3D na Surgimento de AVs 3D na WebWeb
• Nascimento do VRML • Virtual Reality Modeling Language (1994) • VRML 1.0 – criação de mundos estáticos• VRML 97 (VRML 2.0) – criação de mundos
dinâmicos
• Surgimento do X3D• Evolução do VRML 2.0• Principais avanços: introdução do XML,
reestruturação da especificação, …
VAG
Page 4
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
X3D – eXtensible 3DX3D – eXtensible 3D• As perguntas mais frequentes:
AmbienteVirtual.x3d
…<Scene>
…<Box/><Cylinder/><PointLight/>…
</Scene>
Browsers X3D
O X3D é uma linguagem de programação?É preciso
compilar o
arquivo X3D?
É um programa?
É uma API?
Page 5
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Aplicações Desenvolvidas Aplicações Desenvolvidas com o X3Dcom o X3D
http://www.de.ufpb.br/~labteve/portugues/projetos/campus.html http://www.web3d.org/x3d/content/examples/Basic/Medical/MedicalMetadataViewer.x3d
Page 6
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Aplicações Desenvolvidas Aplicações Desenvolvidas com o X3Dcom o X3D
http://x3dgraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d http://www.latec.ufrj.br/dinosvirtuais/catalogo/exposicaofull.html
Page 7
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Aplicações Desenvolvidas Aplicações Desenvolvidas com o X3Dcom o X3D
http://x3d-earth.nps.edu/*
Page 8
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações• O que são as especificações?• Processo de modificação
Page 9
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações
Page 10
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações
Page 11
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações
Page 12
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações
Page 13
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
EspecificaçõesEspecificações
Page 14
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Grafo de CenaGrafo de Cena• Grafo de Cena: contém todas as
informações (nós e campos) do AV, estruturadas de maneira hierárquica.
• Importante: • Boa localização espacial do grafo de cena• Alta segmentação dos sub-objetos do AV
Facilitam a construção do AV e a otimização da renderização.
Page 15
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Nós Intermediários
Nós Folhas
Térreo 1º andar
Recepção
Corredor (Dir.)
Corredor (Esq.)
2º andar
Aptos.01 - 25
Aptos.26 - 50
Corredor (Dir.) - 1
Corredor (Esq.) - 1
Corredor (Dir.) - 1
Corredor (Esq.) - 1
Aptos.101- 125
Aptos.126 - 150
Aptos.201 - 225
Aptos.226 - 250
Cadeira 1
TV 1
…
Cama 26
Cadeira 26
TV 26
…
Cama 101
Cadeira 101
TV 101
…
Cama 126
Cadeira 126
TV 126
…
……
Cama 1
Nó RaizHotel
Page 16
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Cada arquivo é composto por um conjunto de elementos (nós) que possuem hierarquia
HierarquiaHierarquia
<Shape> <Cylinder/> <Appearance>
<Material diffuseColor='0 0.5 1'/> </Appearance> </Shape>
Page 17
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• Programas que interpretam o arquivo X3D para a renderização do AV
• Podem se apresentar como plugins, como aplicações independentes e applets e para celular.
Browsers X3DBrowsers X3D
Page 18
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Page 19
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• Octaga plugin, aplicaçao local• Xj3D Java WebStart, Applet, Jar,
aplicação local• Instant Player aplicação local• BS Contact plugin, aparelhos móveis,
aplicação local• Cortona plugin, aplicação local,
apresentaçoes de PowerPoint, celular• Outros: H3DViewer, FreeWRL, OpenVRML,
SwirlX3D, Vivaty
Browsers X3DBrowsers X3D
Page 20
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
XMLXML• eXtensibilidade• Arquitetura:
• extensível e modular, permitindo vários níveis de suporte às funcionalidades X3D
• Facilitam a construção dos browsers e downloads mais rápidos dos browsers• especificações segmentadas em vários níveis
• Definição de perfis e componentes no cabeçalho
Page 21
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
XMLXML• Testes de validação• Facilita a construção de AVs
• Colaborativos• Ex.: AVs que adicionam objetos 3D em
tempo-real
Page 22
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Formatos de CodificaçãoFormatos de Codificação• .wrl• .x3dv• .x3d• .x3db: 50% de redução
Page 23
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• Construção de AVs X3D para fixação dos novos conceitos
• Ferramentas utilizadas:• Blender• X3D Edit
Exemplos PráticosExemplos Práticos
Page 24
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
BlenderBlender• Free e Open Source• Exportador X3D• Modelagem • Facilita a construção de modelos
complexos• Agiliza a contrução de qualquer AV
Page 25
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
X3D EditX3D Edit
Page 26
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• DEF/USE• Vantagens:
• Economizar espaço em memória• Diminuir tamanho do arquivo X3D• Maior eficiência na renderização
• “USE” aponta para o mesmo espaço de memória do “DEF”
Exemplo Prático 1: DEF/USEExemplo Prático 1: DEF/USE
Page 27
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Exemplo Prático 2: Eventos Exemplo Prático 2: Eventos e Rotase Rotas
• Permite animação dos AV através do mecanismo de Rotas fornecido pelo X3D
• Não é necessário script• Ex.: ProximitySensor
• inputOnly: permite apenas receber (valores) eventos;
• outputOnly: permite apenas enviar (valores) eventos;
• inputOutput: permite receber e enviar (valores) eventos;
• initializeOnly: tal campo não pode receber nem enviar (valores) eventos, o valor deste campo pode apenas ser inicializado.
Page 28
ProximitySensor DEF=“Sensor”Campos: SFBool [out]: isActive = false Rota
PointLight DEF=“Lamp”Campos: SFBool [in,out]: on = false
ESTADO1
ESTADO2
ProximitySensor DEF=“Sensor”Campos: SFBool [out]: isActive = true
PointLight DEF=“Lamp”Campos: SFBool [in,out]: on = true
TRUE
Sensor capta a presença do usuário e lança um evento.
Alarme é acionado.
Rota
Page 29
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Exemplo Prático 2: Eventos e RotasExemplo Prático 2: Eventos e Rotas
Page 30
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Exemplo Prático 2: Eventos Exemplo Prático 2: Eventos e Rotase Rotas
Page 31
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Eventos com SAIEventos com SAI
Page 32
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
ScriptScript• Possibilita fazer processamento em X3D que
envolva decisão lógica e gerência de estado• É ativado pelo recebimento de um evento• O evento ativa o campo URL
Page 33
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Aplicação ExternaAplicação Externa• Importante:
• instalar as bibliotecas do Xj3D • colocar no classpath do projeto
Page 34
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Aplicação ExternaAplicação Externa
ScriptJava.classScriptJava.class
Page 35
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Page 36
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Tópicos Específicos em X3DTópicos Específicos em X3D
Page 37
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Expansão de Expansão de FuncionalidadesFuncionalidades
• Protótipos• customizar novos nós a partir de outros nós X3D e/ou outros
protótipos
• Desenvolvedor pode• construir, declarar e instanciar nós que melhor se adequem a
necessidade do seu ambiente
Page 38
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Expansão de Expansão de FuncionalidadesFuncionalidades
Declarar -> Instanciar
Page 39
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Expansão de Expansão de FuncionalidadesFuncionalidades
Page 40
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• O que é estereoscopia?
• Métodos de visualização
EstereoscopiaEstereoscopia Paralaxe Negativa
Paralaxe Zero(ZPS)
Paralaxe Positiva
[Raposo, Szenberg, Gattas e Celes 2004]
Page 41
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• Alguns browsers dão suporte a estereoscopia:• Bs Contact Stereo (plugin no navegador)• Instant Player (suporta acesso da cena através de
Java)
• Pode-se gerar AVs estereoscópicos de qualquer arquivo X3D
AVs estereoscópicosAVs estereoscópicos
Page 42
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• Instant Player
AVs estereoscópicosAVs estereoscópicoshttp://www.instantreality.org/tutorial/passive-stereo/
Page 43
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
• BS Contact Stereo• Ajuste da estereoscopia por menu, em tempo real
AVs estereoscópicosAVs estereoscópicos
Page 44
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
AVs em dispositivos móveisAVs em dispositivos móveis
> BS Contact Mobile
> InstantMini
> X3DMini
> X3Dl
Page 45
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
>Flexibilidade (tempo e localização)Capacidade de gerenciar ou modificar configurações de dispositivos sem a necessidade da presença física;
>Colaboração Comuncação entre usuários e com o mesmo
objetivo.
Conexão entre Virtual<->Real Conexão entre Virtual<->Real e Colaboraçãoe Colaboração
Page 46
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
>Banco de Dados > Armazenamento de informações sobre os dispositivos;
>Sistema Embarcado > Comunicação do ambiente real com o virtual.
Conexão entre Virtual<->Real Conexão entre Virtual<->Real e Colaboraçãoe Colaboração
Page 47
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Conexão entre Virtual<->Real Conexão entre Virtual<->Real e Colaboraçãoe Colaboração
Page 48
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Serviço/Informação
• Ambientes Virtuais como suporte a diversos tipos de informações
ConsideraçõesConsiderações
Page 49
Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality
Divirtam-se com X3D!Divirtam-se com X3D!
Obrigado!Obrigado!
[email protected]
[email protected]
[email protected]