Sei sulla pagina 1di 45

X3D Bsico

Sumrio
Introduo BS X3D

Estrutura Conceito

X3D-Edit Estrutura dos Objetos Campos dos Objetos DEF/USE Textos Transformaes
Translao Rotao Escala

Sumrio
Aparncia Site de Referncias Linha Face Viso Outros Grupos Interpolao Sensores Juno com Java

Introduo
X3D significa extensible 3D Foi criado para fazer a comunicao entre 3D e web, sendo feito em XML O X3D no uma API de programao,nem to pouco um formato de arquivo para troca de geometrias um padro aberto para distribuir contedo 3D

Site para Referncias

http://www.web3d.org/x3d/content/X3dTooltipsPortuguese.ht ml

BS Contact
uma aplicao desenvolvida pra visualizao de contedo Web 3D. Funciona como plugin para browsers Pode ser encontrada em:

http://www.bitmanagement.com/en/download

Vamos aos exemplos

X3D
Arquivos X3D so simples arquivos de texto definidos pela extenso .x3d O cdigo baseado em TAGs, como no HTML ou XML. Exemplos:

<head> Codigo </head> <!-- TAG de comentario --> <Box size='10 50 10'/>

X3D

Um arquivo X3D comea com um cabealho que o

identifica o arquivo. Independente da codificao, o cabealho contm os seguintes elementos na ordem: Identificao do padro suportado (neste caso X3D); Verso do padro suportado (a mais atual a 3.2); Identificao da codificao de caracteres suportado (utf8 case sensitive).

X3D Cabealho Bsico

X3D

O cdigo desenvolvido ficar dentro das TAGs <Scene> </Scene>

As TAGs <Shape> </Shape> so usadas dentro de <Scene> e definem uma forma.

Usando o X3D-Edit

X3D-Edit
Ambiente que facilita a criao e manipulao do cdigo. Pode ser encontrado em:

https://savage.nps.edu/X3D-Edit/#Downloads Para us-lo, descompacte o arquivo baixado em alguma pasta e execute o arquivo: ..\X3D-Edit\x3deditor32\bin\x3deditor32.exe

Primeiro Exemplo

X3D Estruturas Bsicas


<Sphere/> <Box/> <Cone/> <Cylinder/>

Execcio

Crie e visualize cada umas das estruturas bsicas apresentadas. <Sphere/> <Box/> <Cone/> <Cylinder/>

X3D Estrutura Bsica

DEF e USE: usado com qualquer elemento para dar um nome a ele (DEF) e depois usar ele de novo (USE)

Exerccio

Altere o tamanho e a forma das estruturas usando os comandos apreendidos.

X3D - Textos

Cada conjunto de aspas uma linha.

Exerccios

Crie um Ol Mundo em X3D.

Crie dois objetos (ex.: um cone e um cubo) na mesma cena.

Eixos

X3D Transformaes

Translation
Translada o objeto de um ponto ao outro.

Exerccio

Crie 5 objetos na mesma cena, fazendo com que eles no se interceptem.

X3D - Transformaes

Rotao
Rotaciona o objeto em volta do eixo.

rotation = x y z angulo angulo = 0~3.14.

Exerccio

Utilize a rotao para alterar a posio dos objetos.

X3D - Transformaes

Scale
Aumenta ou diminui a escala de um objeto, multiplicando os lados (x, y, z) por um valor definido.

Exerccio

Altere o tamanho dos seus objetos utilizando a escala.

X3D - Transformaes

Utilizando todas juntas.

Exerccios

Crie um palhao utilizando os objetos e as transformaes.

Crie uma cadeira.

X3D - Aparncia
A aparncia alterada entre as TAGs <Appearance> </Appearance> possvel alterar a cor dos objetos, a forma com que emana ou absorve a luz do ambiente e adicionar texturas

X3D - Aparncia

TAG <Material/>
Material:
diffuseColor: Reflete as luzes do ambiente. Depende do ngulo de viso e do ngulo da fonte de luz.

emissiveColor:
Incandecnsia do objeto, independente da luz.

specularColor:
Conduz o reflexo do objeto.

Shininess:
Controla a intensidade especular (poldo).

Transparency:
Permite ver atravs do objeto, 0 at1.

X3D - Aparncia

Textura

Exemplo

Exerccio

Crie 5 objetos com cores diferentes.

Sites

http://www.web3d.org/x3d/content/X3dTooltips
Site para informao de tags e campos dela.

http://x3dGraphics.com

Site com exemplos com cdigo fonte e um livre gratis com informaes sobre X3D.

http://www.xj3d.org/

Site sobre o XJ3D, ferramenta utilizada na juno de X3D com Java.

IndexedLineSet

IndexedLineSet = cria linhas que preciso se fechar, onde o campo, onde -1 para informar que um conjunto de linhas acabou. coordIndex indica a ordem de criao das linhas atravs dos vrtices. Coordinate = cria os vrtices, atravs do campo point, que sero usados no index <IndexedLineSet DEF='ILS' coordIndex='0 1 2 0 -1'> <Coordinate DEF='TurnPoints' point='0.0 -7.0 -1.0 -1.75 -7.0 -0.5 2.25 -7.0 -0.25'/> </IndexedLineSet>

IndexedFaceSet

IndexedFaceSet = mesma coisa que o Line mas cria faces. Coordinate = continua igual. <IndexedFaceSet DEF='IFS' coordIndex='0 1 2 3 -1 3 4 5 0 -1'> <Coordinate point='0.0 0.0 0.0 2.0 0.0 0.0 2.0 2.0 0.0

Viewpoint

NavigationInfo = Modo do usurio navegar pela cena com campo


type ("EXAMINE" "WALK" "FLY" "LOOKAT" "ANY" "NONE")., speed, headlight, avatarSize, visibilityLimit, transitionType, transitionTime entre outros.

Viewpoints = define uma especifica posio e orientao ao olhar um cena 3D


description = nome da viso. orientation = orientao da viso. position = posiso da viso. fieldOfView = alcance limite da viso.

<Viewpoint DEF='DefaultPositionLeft7Degrees' description='7' orientation='1 0 0 -0.1'/> <Viewpoint DEF='DefaultPositionLeft7Degrees' description='8' orientation='1 0 0 -0.3'/>

Outros Grupos

Group grupo basico.


bboxCenter (trs valores) bboxSize (trs valores)

StaticGroup - grupo no animado. LOD (level of detail) - quando dois objetos se colidem ele deixa o de maior prioridade. Switch - serve para escolha de nodos.

Interpolao
<CoordinateInterpolator/> <OrientationInterpolator/> - dada as orientaes essa tag cria um trajeto entre elas <PositionInterpolator/> - dada as coordenadas essa tag cria um trajeto entre elas <ScalarInterpolator/> - idem com scalas. <ColorInterpolator/> -idem com cores.

Sensores

TimeSensor sensor de tempo. PlaneSensor sensor para movimento em um plano. KeySensor sensor de entrada pelo teclado por boto clicado. CylinderSensor sensor para rotao em um eixo. SphereSensor sensor para rotao em todos os sentidos. StringSensor quando usado o enter do teclado. TouchSensor sensor de click na estrutura. ProximitySensor sensor de proximidade. LoadSensor sensor para carregar estruturas pesadas (no ser visto)

Sensores

<TimeSensor/> = controla quando a animao flui cycleInterval, startTime, stopTime, pauseTime, resumeTime (um valor), loop, enabled (booleano) <ROUTE/> = Conecta a sada informao de um n para passar um valor e estimular a entrada dessa informao para outro n. fromNode,fromField,toNode,toField (nomes)

Sensores
9 passos bsicos para sensores:
1 Escolha o n a ser animado; 2 Defina um nome para o n de interesse; 3 Certifique-se se o n input e determine seu ponto flutuante: SFFloat, SFVec3f, SFColor e etc; 4 Determinar qual Interpolator: se voc no estiver usando um n sequencer ou Script, determine qual interpolador ir produzir a informao correta para uma mudana de valor(value_changed) de saida, por exemplo: PositionInterpolator produz SFVec3f value_changed events. 5 Triggering sensor: se desejar adicione um sensor no inicio, para produzir SFTime ou SFBool trigger para comear a animao. Normalmente um evento triggering um informao de saida para uma cascata de animao.

Sensores
6 TimeSensor clock: adicione um sensor de tempo, ento ajuste seu campo cycleInterval de acordo com o intervalo de durao de seu animao. Ajuste loop=false se a animao percorre at um tempo pr estimado; Loop=true se repetitivo. 7Connect Trigger: sensor ROUTE para o TimeSensor enviar uma ordem de iniciar a animao. 8 Connect clock: faa um ROUTE o TimeSensor fraction_changed para o interpolador(ou sequencia) set_fraction na ordem para seguir a animao de modo correto; 9 Connect animation output: ROUTE a interpolao, sequencia, ou Script no campo value_changed para o objetivo de interesse na ordem para se completar a animao.

Mais Exemplos

Referencias

http://x3dgraphics.com/ http://www.xj3d.org/ http://www.web3d.org/

Potrebbero piacerti anche