1 / 29

Alessandro Hoss

Alessandro Hoss. 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. Configurações Necessárias. Java 6 Xj3D 2.0

dore
Download Presentation

Alessandro Hoss

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alessandro Hoss

  2. 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

  3. 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.

  4. Carregar o Xj3D em Java

  5. Parâmetros do Browser

  6. Exercício • Carregar uma cena qualquer utilizando o Browser Xj3d, a partir do Java.

  7. 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

  8. 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;

  9. 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

  10. 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

  11. 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;

  12. 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;

  13. 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);

  14. 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;

  15. Tipos de Sensores • TouchSensor • PlaneSensor • CylinderSensor • SphereSensor • TimeSensor • StringSensor

  16. Tipos de Sensores • CollisionSensor • VisibilitySensor • ProximitySensor • KeySensor • LoadSensor • GeoTouchSensor

  17. Métodos para acessar a cena

  18. Métodos para acessar a cena

  19. Tratamento de eventos da cena

  20. 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;

  21. ROUTE

  22. Exercício • Realizar movimentos esféricos em um cilindro, a partir de uma caixa (Box). • Girar um objeto através de um botão.

  23. TimeSensor + Interpolator

  24. Proto

  25. ExternProto

  26. Exercícios • Exercite a sua criatividade 

  27. 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.

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

  29. Obrigado ! alehoss@gmail.com www.joinville.udesc.br/larva LAboratório de Realidade Virtual Aplicada

More Related