introdução prática ao x3d
Post on 18-Dec-2014
2.483 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introdução Prática ao X3D
Eduardo de Lucena Falcão
13/10/2010
Arquitetura de Computadores II
Sumário
• WTF is X3D?• Browsers X3D• Exemplos de aplicações que utilizam o X3D• Meio de disponibilização• Nós e Campos X3D• Especificações• Exemplos práticos
13/10/2010
Arquitetura de Computadores II
WTF is X3D?
• 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?
13/10/2010
Arquitetura de Computadores II
• Programas que interpretam o arquivo X3D para a renderização da cena
• Podem se apresentar como plugins, como aplicações independentes (desktop) e applets.
Browsers X3D
13/10/2010
Arquitetura de Computadores II
Exemplos de Aplicações – X3D
13/10/2010
Arquitetura de Computadores II
Browser como Applet
• http://dl.dropbox.com/u/5095342/Xj3DApplet/rc1/X3DForWebAuthorsExamples.html
13/10/2010
Arquitetura de Computadores II
Customização da Interface Gráfica
• Pode-se desenvolver uma interface gráfica que se adapte a aplicação e incorporar o visualizador (browser) Xj3D à mesma.– Swing
13/10/2010
Arquitetura de Computadores II
Exemplos Práticos
• Browser Xj3D instalado http://www.xj3d.org/snapshots.html)
• Opcionalmente: X3D Edit 3.2 (https://savage.nps.edu/X3D-Edit/X3D-Edit3.2.zip)
• Opcionalmente: Blender (http://www.blender.org/download/get-blender/)
13/10/2010
Arquitetura de Computadores II
Nós X3D
• Nós X3D são os elementos fundamentais que compõem a cena. Cada nó é formado por uma seqüência de campos.
• Alguns exemplos de nós são:– PointLight: nó de iluminação que descreve uma luz
pontual;– Box: nó de geometria que descreve um cubo;– NavigationInfo: nó de navegação que descreve os
meios e características de navegação.
13/10/2010
Arquitetura de Computadores II
Campos X3D
• Os campos servem para especificar os atributos dos nós X3D.
• Os campos que possuem ‘d’/‘D’ e ‘f’/‘F’ ao final do nome significam respectivamente a precisão double e float. Single e Multiple Field (SF e MF) significam, respectivamente, um ou vários valores do tipo especificado.
Tipos de campos.
13/10/2010
Arquitetura de Computadores II
O Arquivo X3D
13/10/2010
Arquitetura de Computadores II
Hierarquia
• Cada arquivo é composto por um conjunto de elementos (nós) que possuem hierarquia
<Shape> <Cylinder/> <Appearance>
<Material diffuseColor='0 0.5 1'/> </Appearance></Shape>
13/10/2010
Arquitetura de Computadores II
Como saber quais campos e nós X3D existem?
• Nas especificações do X3D. (http://www.web3d.org/x3d/specifications/)
13/10/2010
Arquitetura de Computadores II
• Exemplo 1: Conhecendo o arquivo X3D.– Criando uma cena com formas básicas.
• Exemplo 2: Adicionando alguma interatividade com eventos e rotas.
Exemplos Práticos
13/10/2010
Arquitetura de Computadores II
Exemplo Prático 2: Eventos e Rotas
• Permite animação dos AV através do mecanismo de Rotas fornecido pelo X3D
• 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.
13/10/2010
Arquitetura de Computadores II
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
13/10/2010
Arquitetura de Computadores II
Exemplo Prático 2: Eventos e Rotas
13/10/2010
Arquitetura de Computadores II
Exemplo Prático 2: Eventos e Rotas
13/10/2010
Arquitetura de Computadores II
Eventos com SAI
13/10/2010
Arquitetura de Computadores II
Script
• 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
13/10/2010
Arquitetura de Computadores II
Aplicação Externa
• Importante:• instalar as bibliotecas do Xj3D • colocar no classpath do projeto
13/10/2010
Arquitetura de Computadores II
13/10/2010
Arquitetura de Computadores II
Discussões
• Debater as idéias!
top related