290 likes | 383 Views
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
E N D
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 • 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.
Exercício • Carregar uma cena qualquer utilizando o Browser Xj3d, a partir do Java.
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
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;
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
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
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;
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;
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);
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;
Tipos de Sensores • TouchSensor • PlaneSensor • CylinderSensor • SphereSensor • TimeSensor • StringSensor
Tipos de Sensores • CollisionSensor • VisibilitySensor • ProximitySensor • KeySensor • LoadSensor • GeoTouchSensor
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;
Exercício • Realizar movimentos esféricos em um cilindro, a partir de uma caixa (Box). • Girar um objeto através de um botão.
Exercícios • Exercite a sua criatividade
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.
Referências • BRUTZMAN, Don; DALY, Leonard. X3D: 3D Graphics for Web Authors. Morgan Kaufmann Publishers, 2007.
Obrigado ! alehoss@gmail.com www.joinville.udesc.br/larva LAboratório de Realidade Virtual Aplicada