Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Shivans

vrml

Recommended Posts

VRML - Virtual Reality Modelling Language

 

 

VRML é uma linguagem que permite através de elementos geométricos gerar ambientes virtuais 3D pelos quais o usuário pode navegar e interagir.

 

VRML é o sinônimo de Virtual Reality Modelling Language, segundo as palavras de Mark Pesce, um dos seus criadores. O poder do VRML reside na sua capacidade de fazer uma ponte entre dois métodos básicos de comunicação humana, a imaginação cerebral e a sensação visceral.

Esta linguagem permite descrever através de elementos geométricos, ambientes computacionais pelos quais o usuário pode navegar e com cujos componentes o visitante pode interagir.

 

VRML x HTML

VRML está para o mundo tridimensional, assim como HTML está para o mundo bidimensional. Enquanto o HTML especifica como documentos 2D são representados, VRML é um formato que descreve como ambientes 3D podem ser explorados e criados na WWW. Os espaços virtuais possuem também algumas vantagens, suas limitações são determinadas apenas pelos recursos de hardware e software disponíveis na máquina e os seus objetos não obedecem às leis físicas do mundo real, como a lei da gravidade.

 

Mundos Virtuais

A linguagem VRML acrescenta percepção à navegação na Web através de descrições completas da cena em que o usuário se encontra, montando verdadeiros "mundos virtuais" (razão pela qual os arquivos VRML apresentam a extensão ".wrl" , de word reality language). Da mesma forma que no mundo real, o usuário mantém uma perspectiva individual perante a cena, controlada completamente o quão perto deseja chegar de um objeto e a partir de que perspectiva deseja visualizá-lo.

 

Navegadores e Ferramentas

Para navegar pela realidade virtual na Internet, é necessário ter uma ferramenta (browser ou navegador) que entenda VRML. Existem diversas versões de navegadores que podem ser adquiridos gratuitamente na Web, dentre muitas você pode encontrar o Netscape Navigator e o Internet Explorer da Microsoft. Além dos navegadores, as outras categorias de ferramentas são pacotes de autoria em VRML e ferramentas para criação 3D. Virtus Walkthrough, WebSpace Author, Home Space Builder e Caligari WorldSpace que são as ferramentas de autoria mais populares, algumas permitem que se adicione referências e níveis de detalhes.

 

Links relacionados ao assunto:

 

Tutoriais, Informações e Dicas:

http://www.virtpark.com/theme/vrml

http://brasil3d.tripod.com/rpavrml.html

http://www.pgie.ufrgs.br/siterv/vrml.htm

http://www.di.ufpe.br/~if124/vrml/vrml.htm

http://www.dc.ufscar.br/~grv/vrml/tutoriais/vrml10

http://diginetbr.tripod.com/webmaster/vrml.htm

http://www.geocities.com/MotorCity/4630/cr...riar/index.html

http://www.realidadevirtual.com.br/publica...al_rv/tutrv.htm

 

Sites que usam esta tecnologia:

http://www.voicenet.com/~techno/geom.html

http://www.iper.net/rimini-vrml

http://bruno.postle.net/world_of_vrml_tent...nt_architecture

http://www.geom.umn.edu/software/weboogl/zoo

http://www.shop3d.com.br/shopping

http://www.pucsp.br/~cos-puc/interlab/in4/entrada.htm

http://www.lrv.ufsc.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhehueuhuhe... você deu um ctrl v em todos os meus topicos??? leu todos???nao to entendendo você rodney uheuheuheso informando possiveis pessoas q nao conhecem...so isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhehueuhuhe... você deu um ctrl v em todos os meus topicos??? leu todos???nao to entendendo você rodney uheuheuheso informando possiveis pessoas q nao conhecem...so isso

deu tilt no sitenovo, tá em loop infinito

Compartilhar este post


Link para o post
Compartilhar em outros sites

ALELUIA!Shivans acertou enfimhahah

Ate q enfim ne??? uhehueuhec alguem tive alguma coisa de legal sobre VRML posta ae beleza???pra ficar atrativo mais do q ja ta esse post...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nodes básicos - Criando objetos NodesVRML possui diferentes classes de nodes. Esta seção mostra em detalhes alguns nodes que são usados mais freqüentemente para construir os cenários 3D. São os que definem propriedades, grupos e sólidos (cubo, esfera etc). Para começar, AsciiText é um bom exemplo.AsciiText - Começando com textoO node AsciiText é usado para colocar texto no cenário. Por definição, o texto é colocado pela primeira vez na posição (0,0,0). Outros parâmetros como tipo e estilo da fonte podem ser mudados usando o node FontStyle. Os parâmetros para AsciiText são os seguintes: justification - Define a justificação do texto, que pode ser:LEFT - alinha o texto à esquerda.CENTER - centraliza o texto.RIGHT - alinha o texto à direita.STRING - String contendo o texto a ser mostrado.SPACING - espaçamento (número real).WIDTH - Largura do texto (número real).Exemplo:#VRML V1.0 asciiAsciiText { string "UFSCar" justification CENTER}FontStyle - Mudando a aparência do textoEste node é usado para mudar a aparência dos textos que são mostrados com AsciiText. Os atributos que são especificados por este node afetam o modo como o texto é mostrado por todos AsciiText subseqüentes. FontStyle permite mudar o tamanho da fonte, estilo e família a qual ela pertence. Os parâmetros para AsciiText são os seguintes: SIZE - número real que define o tamanho da fonte a ser usada.FAMILY - tipo de fonte:SERIF - estilo serif, geralmente a fonte Times New Romam.SANS - estilo sans serif.TYPEWRITER - estilo teletipo.STYLE - estilo da fonte:BOLD - fonte em negrito.ITALIC - itálico.NONE - nenhuma mudança no estilo.Exemplo:FontStyle { size 10 # número real family SANS # SANS ou SERIF ou TYPEWRITER style BOLD # BOLD ou ITALIC ou NONE}Cube - Definindo CubosO node Cube é usado para definir paralelepípedos. Para isso, entramos com sua largura (width), sua altura (height) e sua profundidade (depth). A posição do cubo no espaço será definida pela posição do seu centro. Então quando falarmos em posição de um cubo, estaremos falando da posição do seu centro. Esta regra vale para muitos outros objetos.Exemplo 1:#VRML V1.0 asciiCube { width 30 height 30 depth 60}Exemplo 2:VRML V1.0 asciiCube { width 30 height 30 depth 60 }Translation { translation -70 0 0 }Cube { width 45 height 45 depth 45 }Veja os exemplos acima. O exemplo 1 demonstra um cubo. O exemplo 2 mostra como podemos criar um outro cubo deslocado para a posição (-70, 0, 0) do espaço, usando o node de transformação Translation. Este node é usado para posicionar objetos no espaço. Se colocássemos no arquivo texto outro objeto logo abaixo da definição do cubo, este teria seu centro na mesma posição que o centro do cubo, porque o novo objeto estaria no mesmo contexto ou hierarquia que o cubo. Quem define a hierarquia dos objetos no ambiente é o node Separator. Se tivéssemos definido cores, luz, rotação etc., estas características só estariam presente nos objetos contidos nesse contexto.Cone - Definindo ConesO node Cone é usado para criar cones simples. Os parâmetros para este node são: bottomRadius, que define o raio da base, e height, que define sua altura. Por default, o cone é centralizado na posição (0,0,0), tem raio 1 e altura 2. Exemplo de um cone de altura 3 e raio 1:#VRML V1.0 asciiCone { bottomRadius 1 height 3}Vamos agora acrescentar mais um objeto ao exemplo acima. Vamos colocar mais um cone em outra posição no cenário. Para isso temos de usar o node Translation para definir a posição deste novo objeto. O novo exemplo é o seguinte:#VRML V1.0 asciiCone { bottomRadius 10 height 15}Translation { translation 70 0 0}Cone { bottomRadius 10 height 30}No exemplo acima são criados dois cones : um de altura 15 e outro de altura 30. Devido ao node Translation o cone de altura 30 é colocado na posição (70,0,0). Se outro objeto for acrescentado ao exemplo, este terá seu centro nesta mesma posição.Sphere - Definindo EsferasO node Sphere é usado para representar uma esfera. Por default, o raio da esfera é 1 unidade e seu centro está em (0,0,0). O único parâmetro para Sphere é radius, que define o comprimento do seu raio. Exemplo de uma esfera de raio 10: #VRML V1.0 asciiSphere { radius 10}Vamos agora acrescentar outro objeto ao exemplo acima:#VRML V1.0 asciiSphere { radius 10 }Translation { translation 0 -15 0}Rotation { rotation 1 0 0 3.1415}Cone { bottomRadius 8 height 25}No exemplo acima uma esfera de raio 10 é criada. Em seguida, um cone é criado. O cone de altura 25 e raio 8 sofre duas transformações : uma rotação e uma translação. Primeiro, a translação desloca o cone um pouco para baixo em relação ao eixo-y. Depois, o node Rotation rotaciona o cone para que sua base fique para cima. Os parâmetros para o node Rotation indicam que os objetos subseqüentes sofrerão rotação no eixo-x (1,0,0) de 3.1415 radianos (ou 180 graus). Após estes procedimentos teremos um objeto parecido com um sorvete.Cylinder - Definindo CilindrosO node Cylinder é usado para definir cilindros. Por default, o cilindro está na vertical, com seu centro na posição (0,0,0) e com raio igual a 1 unidade. Existem dois parâmetros para Cylinder : radius, que define seu raio, e height, que define sua altura. Exemplo:#VRML V1.0 asciiCylinder { radius 10 height 30}A seguir, um outro exemplo mostrando como modelar um simples pinheiro:#VRML V1.0 asciiCone { height 30 bottomRadius 10} Translation { translation 0 -22.5 0 } Cylinder { radius 3 height 15 }No exemplo acima criamos um cone e um cilindro. Como o cone tem altura 30, a coordenada y do seu centro será 15. Deslocando 22.5 pontos em relação ao eixo-y no sentido negativo, teremos a posição y = -7.5 (15 - 22.5 = -7.5). Para que o cilindro alcance o cone ele precisa ter altura 15, pois assim seu centro estará em y = -7.5. Assim conseguimos fazer com que os dois objetos fiquem adjacentes. Para visualizar com mais detalhes, clique com o botão direito, selecione a opção Detail, e então selecione Wireframe.IndexedFaceSet, IndexedLineSet, Coordinate3 - Trabalhando com polígonosEste conjunto de nodes é muito importante pois é com eles que definimos formas geométricas que não estão pré-definidas na linguagem. O node Coordinate3 é usado para definir pontos no ambiente, onde cada ponto tem seu respectivo índice, iniciando em zero. Por exemplo:#VRML V1.0 ascii Coordinate3 { point [ 0 0 0, #ponto 0 10 0 0, #ponto 1 5 10 0, #ponto 2 ]}Isto define 3 pontos : o ponto 0, cujas coordenadas são (0,0,0), o ponto 1 (10,0,0) e o ponto 2 (5,10,0). Coordinate3 apenas especifica as coordenadas dos pontos no espaço. Isso significa que, por enquanto, não temos nenhuma figura no ambiente. Agora queremos ligar os 3 pontos no espaço para formar um triângulo. Para isso usamos o node IndexedFaceSet.#VRML V1.0 asciiCoordinate3 { point [ 0 0 0, 10 0 0, 5 10 0, ]}IndexedFaceSet { coordIndex [ 0, 1, 2, -1 ]}Definidos os pontos, basta ligá-los para formarmos um triângulo. No exemplo, IndexedFaceSet definiu quais pontos seriam ligados para formar esta face. O -1 indica o fim da ligação. Se ao invés de um triângulo preenchido quiséssemos só um contorno, usaríamos o node IndexedLineSet. Ele funciona da mesma maneira que IndexedFaceSet, mas ao invés de preencher a face que está sendo definida ele apenas desenha seu contorno. Exemplo usando IndexedLineSet:#VRML V1.0 asciiMaterial { diffuseColor 1 1 0}Coordinate3 { point [ 0 0 0, 10 0 0, 5 10 0, ]}IndexedLineSet { coordIndex [ 0, 1, 2, 0, -1 ]}O exemplo a seguir mostra como criar uma pirâmide sólida e outra com apenas o contorno:#VRML V1.0 asciiSeparator { DEF CoordPiram Coordinate3 { point [ 0 0 0, #0 30 0 0, #1 30 30 0, #2 0 30 0, #3 15 15 20, #4 ] } Separator { USE CoordPiram IndexedFaceSet { coordIndex [ 0, 1, 2, 3, -1, 0, 1, 4, -1, 1, 2, 4, -1, 2, 3, 4, -1, 3, 0, 4, -1, ] } } Separator { Translation { translation 75 0 0 } USE CoordPiram IndexedLineSet { coordIndex [ 0, 1, 2, 3, -1, 0, 1, 4, -1, 1, 2, 4, -1, 2, 3, 4, -1, 3, 0, 4, -1, ] } }}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Documentação e tutoriais

 

- Tutorial VRML em português

http://www.dc.ufscar.br/grv/vrml/tutorials/vrmltut10/

 

- Tutorial Extensões Live3D para VRML 1.0 - em português - crie animação e adicione som ao VRML 1.0

http://www.dc.ufscar.br/grv/vrml/tutorials/live3dex/

 

- Grupo de Realidade Virtual - Departamento de Computação - UFSCar

http://www.dc.ufscar.br/grv/

 

- Realidade Virtual - Introdução, conceitos, aplicações, equipamentos, software etc.

http://www.dc.ufscar.br/~juliano/rv/

http://www.dc.ufscar.br/~juliano/

 

- Especificação VRML 1.0

http://www.eit.com/vrml/

 

- Especificação VRML 2.0

http://vrml.sgi.com/moving-worlds/

 

- Tutorial básico sobre VRML em 13 lições

http://www.mwc.edu/~pclark/vrmltut.html

 

- Guia completo sobre como utilizar texturas

http://www.ywd.com/cindy/texture.html

 

- FAQ VRML

http://www.oki.com/vrml/VRML_FAQ.html

 

- Objetos e cenários prontos

http://vrml.arc.org/worlds/

http://www.sdsc.edu/SDSC/Partners/vrml/examples.html

 

 

>> Índices, referências, grupos de discussão

 

- Índice VRML Yahoo

http://yahoo.com/.../Virtual_Reality_Model...Language_VRML_/

 

- Muitos links sobre VRML : browsers, ferramentas, documentação

http://www.3dsite.com/cgi/VRML-index.html

 

- Repositório

http://www.sdsc.edu/vrml/

 

- Fórum

http://vrml.wired.com/

 

- Referências

http://www.yahoo.com/Entertainment/Virtual...eality/Indices/

 

- Informações técnicas, software, documentos

http://www.well.com/user/caferace/vrml.html

 

- Newsgroups, mailing lists

http://www.sdsc.edu/SDSC/Partners/vrml/rep...os_mailing.html

 

 

>> Ferramentas para modelagem e conversores

 

- Caligari Pioneer Pro

http://www.caligari.com

 

- Sony CyberPassage

http://vs.sony.co.jp/VS-E/works/editor/what.html

 

- HomeSpace Builder

http://www.us.paragraph.com/whatsnew/homespce.htm

 

- Conversor 3D Studio para VRML

http://www.best.com/~adhoc/html/vrml.html

 

- Conversor DXF para VRML

http://www.organic.com/vrml/

 

- Conversor WLK para VRML

http://ima-www.informatik.uni-hamburg.de/S...pel/hempel.html

 

- Ferramentas e conversores

http://webspace.sgi.com/Tools/index.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nodes de transformação - Mudando as características dos objetos Material - Dando cores aos objetosO node Material define características dos objetos como cor e brilho. Os parâmetros que são usados determinam a forma como a luz irá refletir sobre os objetos. São eles:diffuseColor - reflexão da luz que estiver incidindo sobre um objeto. Quanto mais diretamente a luz incidir sobre a superfície do objeto, mais luz será refletida. É usado para dar cor aos objetos.ambientIntensity - especifica quanto da luz ambiente um objeto deve refletir.shininess e specularColor - determinam a luminosidade de pontos de reflexão com maior quantidade de luz (highlight points). Se o ângulo que a luz incidir for próximo do ângulo de observação, o valor de specularColor é adicionado ao cálculo de diffuseColor e ambientIntensity. Shininess determina o brilho do objeto. Quanto maior seu valor, maior o brilho.emissiveColor - usado para representar objetos incandescentes. Usado quando todas as outras cores são preta (0,0,0).transparency - determina o grau de transparência do objeto, que varia de 0.0 (totalmente opaco) a 1.0 (totalmente transparente).A cor dos objetos é formada pela composição das cores básicas vermelho, verde e azul (RGB), cujos valores variam entre 0 e 1. Sendo assim, se quisermos um objeto amarelo temos que especificar (1,1,0), ou seja, 100% de vermelho e verde e nada de azul. Vamos acrescentar cor a alguns objetos do exemplo do pinheiro: #VRML V1.0 ascii Material { diffuseColor 0 1 0 shininess 0 } Cone {height 30 bottomRadius 10 } Material { diffuseColor 64 0 0 shininess 1}Translation { translation 0 -22.5 0 } Cylinder {radius 3 height 15 }Rotation - Rotacionando objetosO node Rotation é usado para rotacionar objetos no espaço. Como exemplo, vamos rever o node Cylinder. Por default, todo cilindro é criado na posição vertical. Se quisermos um cilindro na horizontal, basta utilizarmos o node Rotation :#VRML V1.0 ascii Rotation { rotation 0 0 1 1.57 } Cylinder {}No exemplo acima, o cone é rotacionado 90 graus (1.57 radianos) sobre o eixo-z ( 0 0 1 ).Translation - Deslocando objetosEste node é parecido com o Rotation, mas é usado para deslocar objetos. Veja o exemplo abaixo :#VRML V1.0 asciiCube {}Translation { translation 10 0 0}Sphere {}Translation { translation -20 0 0}Cone {}No exemplo acima, criamos um cone na origem (0,0,0), pois este é o primeiro objeto que está sendo criado e antes dele não foi aplicado nenhum deslocamento ou rotação. Logo após a criação do cubo, usamos o Translation para deslocarmos os objetos subseqüentes para a posição (10,0,0). Isto significa que todo objeto que for criado a partir daí terá seu centro nesta posição. Sendo assim, a esfera que é criada em seguida terá seu centro na posição (10,0,0). Depois aplicamos mais uma vez o Translation. Repare no valor do deslocamento : -20 em relação ao eixo-x. Isto faz com que o cone que é criado em seguida esteja localizado a -20 unidades de distância da esfera em relação ao eixo-x, e a -10 unidades de distância do cubo.Separator - Definindo a hierarquia dos objetosEste node define a hierarquia dos objetos dentro do cenário. É usado para separar um grupo de objetos do resto do ambiente, ou seja, as características desse grupo serão diferentes do resto. Veja o exemplo:#VRML V1.0 asciiMaterial { diffuseColor 1 1 0 }Separator { Material { diffuseColor 0 1 0 } Cube {} Translation { translation 10 0 0 } Sphere {}}Translation { translation -10 0 0}Cone {}Quando definimos a cor amarela pela primeira vez (diffuseColor 1 1 0), esperamos que todos os objetos subseqüentes sejam desta cor. No entanto, apenas o cone é amarelo. Isto se deve ao uso do node Separator, que separa o cubo e a esfera do resto do ambiente. As propriedades definidas para estes objetos (posição e cor) não irão interfirir nos outros objetos que estiverem fora deste contexto ou hierarquia. Repare no translation -10 0 0; não foi necessário deslocar -20 unidades porque este é o primeiro deslocamento feito no contexto em que está o cone. Também a cor verde só vale dentro do contexto do cubo e da esfera.Texture2 - Trabalhando com texturasEste node é usado para aplicar texturas aos objetos.#VRML V1.0 asciiTexture2 { filename "granite.gif"}Sphere {}LOD - Definindo o nível de detalheEste node determina o nível de detalhe de um objeto ou conjunto de objetos dependendo da distância em que estes se encontram do observador. Isto torna rápida a visualização porque objetos com menos importância na cena podem ser substituídos por outros menos complexos. Por exemplo, um carro que estiver a 1000 unidades de distância pode ser substituído por um cubo. Um cubo é bem mais simples que um carro. O objeto pode também ter mais de um nível de detalhe. O carro pode ser representado como um simples cubo a 1000 unidades de distância, dois cubos a 500 unidades, dois cubos e quatro esferas a 500 etc. Exemplo:#VRML V1.0 asciiLOD { range [15, 25] center 0 0 0 #primeiro nível Separator { Cube {} Translation { translation 3 0 0 } Sphere {} Translation { translation 3 0 0 } Cone {} } #segundo nível Separator { Cube {} Translation { translation 3 0 0 } Sphere {} } #terceiro nível Separator { Cube {} }}O que acontece no exemplo acima á o seguinte: no primeiro nível de detalhe são mostrados todos os objetos. Isto significa que o observador está posicionado a menos de 15 unidades dos objetos. Se o observador estiver entre 15 e 25 unidades, é mostrado apenas uma esfera e um cubo. Finalmente, se o observador estiver posicionado a mais de 25 unidades de distância apenas um cubo é mostrado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei "programar" um vrml, mas uso um programa pra modelamento em 3D que cria o vrml pra mim.só que não sei que m*rda está acontecendo que o meu IE6 sp1 não está abrindo os vrml.. :( alguém tem idéia? é algum plugin que tá faltando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa de um plugin tipo o do flashmas o plugin do vrml se não me engano tem 5mb

e onde posso baixar isso?descobri que VRML tem versão :) ueheuhuehe a gerada pelo meu prog é 2.0 e parece que o vrml padrão do IE é 1.0eu pesquisei sobre e descobri que a microsoft tem um prog chamado VRML Viewer 2.0, porém, não encontrei pra download. acabei baixando um programa da parallelgraphics.com, chama Cortona VRML Client, mas achei meio complicadinho de fazer o giro o 3D, usualmente, ao invés de girar, ele dá zoom. Aí complica, vira mó salada a parada.imagino que o VRML Viewer 2.0 seja mais simplificado.[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara é melhor usar a versão mais estável a 1.0Quanto ao plugin eu já usei o cortona e o cosmoplayerMas abandonei o vrml, não acredito que tenha algum futuro.O JAVA Applet está muito, muito mais a frente. Vale mais a pena estudar JAVA

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.