minicurso sobre x3d

49
Natal, 24 a 27 de maio de 2010 XII Symposium on Virtual and Augmented Reality Descrevendo cenas em X3D Descrevendo cenas em X3D para Integração de para Integração de Aplicações e Suporte Aplicações e Suporte Multiplataforma Multiplataforma Eduardo L. Falcão Liliane S. Machado Thaíse K. L. Costa Universida de Federal da Paraíba XII Symposium on Virtual and Augmented Reality

Upload: eduardo-de-lucena-falcao

Post on 17-Dec-2014

238 views

Category:

Education


5 download

DESCRIPTION

Descrevendo cenas em X3D para Integração de Aplicações e Suporte Multiplataforma. Minicurso prático sobre o X3D ministrado no SVR 2010.

TRANSCRIPT

Page 1: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

EspecificaçõesEspecificações

Page 10: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

EspecificaçõesEspecificações

Page 11: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

EspecificaçõesEspecificações

Page 12: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

EspecificaçõesEspecificações

Page 13: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

EspecificaçõesEspecificações

Page 14: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

Page 19: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

X3D EditX3D Edit

Page 26: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

Eventos com SAIEventos com SAI

Page 32: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

Aplicação ExternaAplicação Externa

ScriptJava.classScriptJava.class

Page 35: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

Page 36: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

Natal, 24 a 27 de maio de 2010XII Symposium on Virtual and Augmented Reality

Expansão de Expansão de FuncionalidadesFuncionalidades

Page 40: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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: Minicurso sobre X3D

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]