Introdução à VRML 2.0 (Profa. Isabel Harb Manssour) |
6. Controlando a Aparência de ShapesÉ possível controlar a aparência de qualquer shape especificando-se atributos do material a partir do qual ele é feito. Atributos do material incluem cor, quando ele brilha e qual é a cor do brilho, quando e o quanto ele é transparente, etc. Usando os nós Appearance e Material é possível controlar estes atributos. Como já visto, shapes VRML são definidos através de dois campos, geometria (geometry) e aparência (appearance), onde o valor utilizado é o nó Appearance. Similarmente, os atributos deste nó são separados nos nós Material e de textura. A sintaxe destes nós, cujos campos são descritos neste capítulo, está apresentada a seguir. Appearance { material NULL # SFNode texture NULL # SFNode textureTransform NULL # SFNode } Material { ambientIntensity 0.2 # SFFloat diffuseColor 0.8 0.8 0.8 # SFColor emissiveColor 0.0 0.0 0.0 # SFColor shininess 0.2 # SFFloat specularColor 0.0 0.0 0.0 # SFColor transparency 0.0 # SFFloat } As cores em VRML são descritas de uma maneira mais precisa, combinando porções de vermelho, verde e azul (ou RGB). Cores RGB contêm três valores de ponto flutuante que variam de 0.0 (não possui a cor) a 1.0 (cor máxima). A cor refletida pelo objeto é especificada através do campo diffuseColor. Já o campo emissiveColor, por sua vez, possibilita a obtenção de efeitos de brilho, pois através dele é possível especificar-se a cor emitida pelo objeto. É importante salientar que através deste campo não é possível iluminar shapes próximas, ele só indica que o shape é mais brilhante do que o usual. O valor do campo transparency determina um fator de transparência entre 0.0 (opaco) e 1.0 (transparente), e ambientIntensity determina como o material é afetado pelo nível de luz ambiente do "mundo" VRML. Quanto mais baixo for o valor, menor é o efeito da luz sobre o material. specularColor especifica a cor da luz refletida pelo shape, isto é, a cor do brilho. O valor default para este campo é preto, que desabilita a reflexão especular. Finalmente, shininess controla a intensidade do brilho, sendo que 0.0 torna-o mais escuro. O efeito visual para este campo consiste na redução do tamanho da reflexão especular. É importante salientar que os navegadores VRML incluem automaticamente uma headlight que move-se de acordo com a posição do observador. A textura na verdade nada mais é do que uma imagem 2D mapeada em um objeto. O valor do campo texture do nó Material consiste num nó que especifica a imagem da textura a ser aplicada a um shape. Tal nó pode ser ImageTexture, PixelTexture ou MovieTexture. ImageTexture { url [ ] # MFString repeatS TRUE # SFBool repeatT TRUE # SFBool } O campo url especifica uma lista de URLs ordenadas por prioridade. O navegador tenta abrir a primeira URL especificada na lista, se não encontrar, ele pega a próxima e assim por diante. Quando uma URL pode ser aberta, o arquivo é lido e mapeado como textura do shape. O arquivo que contém a textura pode ter formato JPEG ou PNG. Alguns navegadores também aceitam o formato GIF. Os campos repeatS e repeatT podem ter os valores TRUE (a textura é repetida dentro do sistema de coordenadas da textura) ou FALSE (textura não é repetida). PixelTexture { image 0 0 0 # SFImage repeatS TRUE # SFBool repeatT TRUE # SFBool } Este nó especifica uma imagem, ou atributos de mapeamento de textura, no próprio arquivo VRML. O valor para o campo image determina o tamanho da imagem e valores de pixel para uma textura de imagem. Os primeiros três valores inteiros são a largura da imagem em pixels, a altura da imagem também é pixels e o número de bytes para cada pixel. Os campos repeatS e repeatT são iguais ao nó anterior. MovieTexture { url [ ] # MFString loop FALSE # SFBool speed 1.0 # SFFloat startTime 0.0 # SFTime stopTime 0.0 # SFTime repeatS TRUE # SFBool repeatT TRUE # SFBool isActive # SFBool duration_changed # SFBool } O nó MovieTexture permite mapear uma textura animada para um objeto. Os formatos suportados são: MPEG1-Systems e MPEG1-Video. Além de campos para especificar a textura a ser mapeada, o nó possui campos que permitem controlar a exibição do filme: velocidade, horas de início, hora de fim e indicador de laço da exibição.
Comentários, dúvidas, sugestões, envie um mail para [email protected] |
Última alteração em 27 de julho de 2000.