Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!

[GB]CRIANDO UM MATERIAL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[GB]CRIANDO UM MATERIAL

Mensagem por spectrus em Qua Maio 11, 2011 10:50 am

Neste tutorial aprenderemos a criar um
Material, este material é uma espécie de película que ficara recobrindo
toda a superfície de determinado objeto. Um material é composto
basicamente de cores e uma imagem chamada de textura.

Para começarmos primeiramente crie um
novo projeto, ou então utilize o criado nos tutoriais anteriores.
Partindo de um mapa se nenhum objeto coloque um cubo neste mapa, será
nele que aplicaremos o nosso material.
Agora vá até o menu Banco de Dados → Material você verá a seguinte tela:





Este é o cadastro de materiais, como
foi iniciado um novo projeto você estará vendo somente um material
cadastrado, ele é utilizado por padrão pelo Ator principal. Como você
pode ver existem varias opções nele, não somente uma imagem e uma cor
como foi dito anteriormente, mas não se preocupe com todas as opções,
elas serão explicadas agora, provavelmente de inicio você não utilize a
maioria, mas com o passar do tempo você percebera a importância delas.
Um Material possui as seguintes características:



- Disabled: Habilita ou desabilita a textura do material.
- Compression: Especifica como a textura
será compactada em memória. Pode ser usado para conseguir uma grande
compactação e assim reduzir o uso de memória da placa de vídeo, mas pode
resultar em uma diminuição da velocidade. Em algumas placas de vídeos
esta propriedade pode não ter efeito. O “Compression” pode ser de 5
tipo, o primeiro deles é o “Default”, com ele a textura é compactada da
maneira padrão definida na placa de vídeo. O segundo tipo é o “None”,
com ele não é feito nenhum tipo compactação da textura. O terceiro é o
“Standart” que utiliza uma taxa de compactação media com velocidade
media. O quarto tipo é o HighQuality, que utiliza uma grande taxa de
compactação mas possui uma baixa velocidade. E o ultimo tipo o é
HighSpeed, que possui uma grande velocidade de compactação, mas com uma
baixa taxa de compactação.
- FilteringQuality: Determina a qualidade
do filtro da textura. O filtro da textura determina como ela é exibida
quando ela é aumentada ou diminuída de tamanho. Existem duas opções de
filtro, o “Isotropic” e o “Anisotropic”. No “Isotropic” a quantia de
filtro ao longo do eixo x e y da textura é o mesmo, e é o máximo do
filtro aplicado individualmente ao longo de cada dos dois eixo, isto
pode escurecer a textura quando ela é vista a em um ângulo diferente de
uma reta. O filtro “Anisotropic” filtra a textura tridimensionalmente.
Em vez de apenas calcular a cor do pixel central e esse pixes ao redor
deles mesmos, formando uma esfera, o filtro “Anisotropic” calcula a cor
central do pixel e dos que estão ao seu redor, mas formando a figura
original, o que é ideal para a maioria dos polígonos.
- ImageAlpha: Define o tipo de
transparência da textura, este tipo pode ser “Default”,
“SuperBlackTransparent”, “TopLeftPointColorTransparent”,
“AlphaFromIntensity”, “Luminance”, “LuminanceSqrt” e “Opaque”. No tipo
Default a transparência é definida pelo “alpha chanel” da imagem da
textura. O tipo SuperBlackTransparent possui todas as partes
completamente pretas da imagem como transparentes. O
TopLeftPointColorTransparent indica que a cor a ser definida como
transparente será a que estiver em baixo no canto esquerdo da textura. O
tipo AlphaFromIntensity determina que o “alpha chanel” será extraído a
partir da intensidade das cores, quando mais brilho mais opaco. No
Luminance o valor de luminosidade é calculado para cada pixel e usado
gerar o “alpha chanel”, no LuminanceSqrt ocorre o mesmo processo porem
sempre com a raiz do resultado. E no tipo Opaque não existe
transparência.
- ImageBrightness: Determina o brilho da imagem, o Maximo é 1 e o mínimo 0.
- ImageGamma: Permite a correção do brilho da imagem.
- MagFilter: Determina como a textura é
exibida quando ela é aumentada, o filtro pode ser “Nearest” ou “Linear”.
Com o “Nearest” a cor do pixel mais próximo é usada pra exibir a
textura o processo é rápido porem de qualidade baixa. O “Linear” utiliza
a interpolação entre os pixels vizinho, o processo é mais lentro porem
possui uma qualidade visual muito melhor do que o “Nearest”.

- MappingMode: Define como a textura será
mapeado no objeto, o mapeamento pode ser feito de 8 modos, o primeiro
deles é o “User” com ele as coordenadas de mapeamento da textura terão
de ser definidas manualmente através do “MappingSCoordinates” e do
“MappingTCoordinates”. O segundo modo é o “ObjectLinear” nele a textura é
projetada sobre o objeto e fixada sobre ele, assim se o objeto se mover
a textura ficará fixa, o modo que a textura é projetada sobre o objeto é
especificado pelo “MappingSCoordinates” e pelo “MappingTCoordinates”. O
terceiro modo é o “EyeLinear” nele a textura é fixa no espaço, assim
caso o objeto seja movimentando a textura também mudará, a orientação da
textura é definida pelo “MappingSCoordinates” e pelo
“MappingTCoordinates”. O quarto modo é o “Sphere” o resultado dele é uma
textura 2D na forma de um esfera e produz um efeito de reflexão na
superfície. O “CubeMapReflection”, “CubeMapNormal”, “CubeMapLight0”,
“CubeMapCamera” são similares ao “Sphere”, porem produzem um efeito
diferente de reflexão.
- NormalMapScale: Somente é aplicado quando o
“TextureFormat” é definido como “NormalMap”, esta propriedade define o
escalonamento que é aplicado na textura durante geração do mapa normal.
- TextureFormat: Especifica como a textura é
guardada em memória. Por exemplo em uma textura definida como RGB ela é
guardada em memória sem o “Alpha Channel” diminuindo o uso de memória
pela placada de vídeo. O TextureFormate pode ser definido de 12 maneiras
diferentes, Default, RGB, RGBA, RGB16, RGBA16, Alpha, Luminance,
LuminanceAlpha, Intensity, NormalMap, RGBAFloat16, RGBAFloat32. O tipo
Default utiliza o modo RGBA. O tipo RGB possui 24 bits, e não guarda a
transparência. O tipo RGBA tem 32 bits e inclui a transparência da
imagem. O RGB16 possui 16 bits e não inclui a transparência. O RGBA16
possui 16 bits e inclui a transparência. O tipo Alpha possui 8 bits de
somente transparência. O Luminance inclui 8 bits de apenas
luminosidade. O LuminanceAlpha possui 16 bits, 8 de luminosidade e 8 de
transparência. E o tipo Intensity utiliza 8 bits apenas para valores de
luminosidade.

- TextureMode: Especifica como a textura é
aplicada ao objeto, este modo pode ser Decal, Modulate, Blend ou
Replace. O tipo Replace exibe a textura no objeto sem nenhum tipo de
transparência ou mistura, substituindo qualquer cor que o objeto possua.
O tipo Decal é similar ao Replace porem ele exibe transparências. No
tipo Modulate são exibidas as transparências e a textura será misturada
com a cor emissiva do objeto. E no tipo Blend são exibidas as
transparências e a textura será misturada com a cor Ambient do objeto.
- TextureWrap: Define como a textura será
“embrulhada” no objeto. Ela pode ser de 4 modos Both, None, Vertical ou
Horizontal. Em Both a textura é embrulhada em ambas as direções,
horizontal e vertical. Em None não é feita nenhuma envoltura, a textura
não é ladrilhada. Como Vertical a textura é embrulhada apenas na direção
vertical. Como Horizontal a textura é embrulhada apenas na direção
horizontal.
- BlendingMode: É utilizado para definir como será a transparência do material.
- IgnoreFog: Define se o material terá alguma alteração na presença de neblina do ambiente.
- IngoreLighting: Define se o material sofrerá influencia da luz do ambiente.
- Imagem: É a imagem utilizada como textura.
- TextureScale: Coordenadas X, Y e Z de escala da textura, determina o tamanho da textura.
- MapSCoords: São as coordenadas X, Y e
Z que são usadas para mapear a textura no objeto, só são utilizadas
caso o MappingMode esteja definido como User.
- MapTCoords: São as coordenadas X, Y e Z
que são usadas para mapear a textura no objeto, só são utilizadas caso o
MappingMode esteja definido como User.
- Front Properties e Back Properties: Definem
as cores do objeto e também como ele se comportará a luz. Front
Properties refere-se a cor externa do objeto Back Properties a cor
interna. O Emission Color é cor emitida pelo objeto sem levar em
consideração a fonte luminosa, isto permite um objeto ter uma cor até
mesmo se não houver nenhuma fonte luminosa na cena. O Difuse Color é a
cor difusa de um objeto, as sombras produzidas dependem da posição da
fonte de luz do ambiente e também da forma do objeto. O Specular Color
representar a cor da luz que é refletida do objeto como se o objeto
fosse como um espelho, onde a luz refletida depende da posição da fonte
luminosa e da forma do objeto, para ver esta reflexão o Specular Color
da fonte emissora de luz não pode ser preta. O Ambiente Color é a cor da
luz que vem igualmente de todas as direções e se espalha em todas as
direções pelo objeto. A cor ambiente da fonte emissora de luz está
misturada com a cor ambiente do objeto. O Shininess especifica quanto
refletiva será a superfície do objeto, o valor vai de 0 a 128, onde 128 é
o valor mais refletivo, esta propriedade só é notada se existir uma cor
Specular refletindo do objeto.
- PolygonMode: Determina como o objeto será
fisicamente, se ele será sólido, feito de pontos ou linhas. Sendo Solid o
objeto será sólido. Sendo Lines o objeto será constituído de linhas
conectando todos os seus vértices. E sendo Points o objeto será feito de
pontos em todas as suas vértices.


Finalmente vamos criar o nosso
material, primeiramente não utilizaremos uma textura, usaremos somente
cores no nosso material. Para criar o material clique em “Novo” em
seguida informe o nome do novo material, no caso “MeuMaterial” o
material será criado com as opções padrão, em seguida vá até
FrontProperties e clique no pequeno quadrado ao lado de Emission Color,
selecione a cor amarela e clique em OK, agora é possível pré-visualizar o
material na esfera que esta na sua tela, agora clique em Salvar e feche
a janela de cadastro de materiais.


Com o material
criado ainda temos que aplicá-lo ao nosso objeto no mapa, para isto
selecione o Cubo que foi criado anteriormente e vá até as suas
propriedades e em “Material” selecione o material que acabamos de criar,
no caso “MeuMaterial”, você verá que o cubo ficara totalmente amarelo,
lembrando que alteramos o Emission Color do material então o próprio
objeto que estiver utilizando este material irá emitir sua própria luz,
por este motivo não precisamos de uma fonte emissora de luz no nosso
mapa para visualizá-lo.


Agora vamos voltar para o nosso
cadastro de materiais para alterarmos o nosso material e inserirmos uma
textura nele, então vá até o menu Banco de Dados → Material e selecione o
material “MeuMaterial” que foi criado anteriormente. Em seguida vamos
escolher a imagem para utilizarmos como textura, ela pode estar nos
formatos JPG, TGA e BMP. Para este exemplo vamos utilizar uma textura de
caixa já que aplicaremos ela a um cubo, salve essa imagem no seu PC novamente.



Agora vamos
colocar esta imagem em nosso material, para isto clique na área da
imagem no cadastro de materiais e selecione o arquivo da imagem. Agora
habilite a textura no material alterando a opção Disabled para False.
Você verá que a imagem da caixa já será exibida na esfera de
visualização, agora salve o material e fecha janela, automaticamente o
material que já estava aplicado no cubo será atualizado e você verá o
nosso cubo com a textura.



Está pronto o nosso material com uma
textura, este é um exemplo mais básico possível do que pode ser feito
com o material, como você percebeu um material possui diversas
propriedades diferentes e a combinação destas são utilizadas para gerar
certos efeitos, nos tutoriais futuros será demonstrado algumas destas
combinações como por exemplo como deixar uma textura transparente,
melhorar a qualidade, criar texturas animadas, etc.

Como você deve ter percebido, até
agora estávamos apenas criando objetos no ambiente, mas ainda não vimos
como eles aparecem ao executarmos nossa aplicação, então no próximo
tutorial criaremos o nosso primeiro pequeno cenário e finalmente
executaremos o nosso jogo.


Divulgue nosso Forum!
[Você precisa estar registrado e conectado para ver este link.]
Código:
[url=http://makersbrasil.forumeiros.com/]
src="http://img841.imageshack.us/img841/9522/92324935.png"
border="0">[/url]



E meu fan? entao use:

Código:
[img]http://www.baixa.la/arquivos/3908525_imagem.gif[/img]

Sign:
Spoiler:




spectrus
Administrador
Administrador

Mensagens : 299
Estrelas Makers : 1466
Creditos : 49
Data de inscrição : 01/01/2011
Idade : 23
Localização : V.da conquista bahia

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum