alessandro hoss larva - laboratório de realidade virtual aplicada alessandro hoss

29
Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Upload: internet

Post on 17-Apr-2015

126 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Alessandro Hoss

Page 2: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Conteúdo

• Configurações Necessárias• Componentes X3D• Tipos de Sensores• Métodos para acessar a cena

– Como tratar eventos– Como enviar eventos

• Adicionando ROUTEs• TimerSensor + Interpolators• Proto + ExternProto

Page 3: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Configurações Necessárias

• Java 6• Xj3D 2.0• Copiar as dll’s da pasta “bin” do Xj3D para a pasta

“jdk..\jre\bin”:– odejava.dll– jinput-dx8.dll– jogl.dll– gluegen-rt.dll

• Adicionar TODOS os arquivos “*.jar” do Browser Xj3D (..\Xj3D\jars) ao projeto.

Page 4: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Carregar o Xj3D em Java

Page 5: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Parâmetros do Browser

Page 6: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Exercício

• Carregar uma cena qualquer utilizando o Browser Xj3d, a partir do Java.

Page 7: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Objetos X3D

• A descrição X3D possui 2 tipos primitivos de objetos: Nós e Campos (Nodes & Fields)

• Todos os objetos precisam ter um nome e uma implementação

Page 8: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

X3DNodes (nós)

• São compostos por um ou mais campos que podem enviar e/ou receber eventos;

• Nós podem ser campos de outros nós;

• Cada nó pode ter zero ou mais campos e zero ou mais eventos associados à ele;

Page 9: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

X3DFields (campos)

• Definem o estado dos nós na cena;

• Podem conter um único valor ou uma lista de valores de um determinado tipo;

• Podem ser acessados de 4 maneiras

Page 10: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Formas de acesso aos campos• initializeOnly: permite que um valor seja atribuído

ao campo, porém este não pode ser alterado após a cena ser carregada;

• inputOnly: permite que um evento seja recebido para alterar o valor de um campo;

• outputOnly: permite mostrar o valor em um determinado campo;

• inputOutput: acesso completo ao campo

Page 11: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de campos

• SFBool / MFBool: true / false• SFColor / MFColor: Composto por uma “3-

upla” de valores float no sistema RGB. Tem por default a cor preta (0 0 0);

• SFColorRGBA / MFColorRGBA: RGB com canal Alpha para suportar transparencia. Valores de 0.0 a 1.0 (0 0 0 0);

• SFDouble / MFDouble: Suporta 14 dígitos de precisão decimal com expoentes de -12 a +12;

Page 12: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de campos

• SFFloat / MFFloat: até 6 dígitos de precisão decimal;

• SFImage / MFImage: Imagem 2D sem compressão. Composto por largura, altura e número de componentes da imagem (0 0 0);

• SFInt32 / MFInt32: Inteiro de 32 bits (+ / -)

• SFNode / MFNode: nó X3D, tem por default NULL;

Page 13: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de campos

• SFRotation / MFRotation: 4-upla (x y z a) tx2+c txy+sz txz-sy txy-sz ty2+c tyz+sx txz+sy tyz-sx tz2+c Onde: c=cos(a), s = sen(a), e t = 1–c (a em rad)• SFString / MFString: Strings codificadas em UTF-8• SFTime / MFTime: Double indicando o número de

segundos desde 00:00h de 1 de janeiro de 1970 (Meridiano de Greenwich);

Page 14: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de campos

• SFVec2d / MFVec2d: Vetor bidimensional composto por double’s;

• SFVec2f / MFVec2f: Vetor bidimensional composto por float’s;

• SFVec3d / MFVec3d: Vetor tridimensional composto por 3 double’s;

• SFVec3f / MFVec3f: Vetor tridimensional composto por 3 float’s;

Page 15: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de Sensores

• TouchSensor

• PlaneSensor

• CylinderSensor

• SphereSensor

• TimeSensor

• StringSensor

Page 16: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tipos de Sensores

• CollisionSensor

• VisibilitySensor

• ProximitySensor

• KeySensor

• LoadSensor

• GeoTouchSensor

Page 17: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Métodos para acessar a cena

Page 18: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Métodos para acessar a cena

Page 19: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Tratamento de eventos da cena

Page 20: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Exercícios

• Mudar a cor de um cilindro quando o mouse passar sobre ele .– Dica: Nomear (DEF) o campo “Material” do

cilindro e utilizar o método setValue;

• Fazer o mesmo utilizando botões em outra janela;

• Abrir uma Janela quando o usuário clicar no cilindro;

Page 21: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

ROUTE

Page 22: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Exercício

• Realizar movimentos esféricos em um cilindro, a partir de uma caixa (Box).

• Girar um objeto através de um botão.

Page 23: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

TimeSensor + Interpolator

Page 24: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Proto

Page 25: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

ExternProto

Page 26: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Exercícios

• Exercite a sua criatividade

Page 27: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Referências

• BRUTZMAN, Don. X3D Tooltips.Disponível em: http://www.web3d.org/x3d/content/X3dTooltips.html , acessado em: 14/05/2009;

• GEROIMENKO, Vladimir; CHEN, Chaimei. Visualizing Information Using SVG and X3D. Editora Springer, 298p. 2005.

• ISSO/IEC 19775. X3D Abstract Specification. Disponível em: <http://libx3d.sourceforge.net/ISO-IEC-19775-X3DAbstractSpecification/>, acessado em 15/05/2009.

Page 28: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Referências

• BRUTZMAN, Don; DALY, Leonard. X3D: 3D Graphics for Web Authors. Morgan Kaufmann Publishers, 2007.

Page 29: Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada Alessandro Hoss

Alessandro Hoss LARVA - LAboratório de Realidade Virtual Aplicada

Obrigado !

[email protected]

www.joinville.udesc.br/larva