Projetos RAD : Unity 3D 
Materiais, Texturas e Luzes 
Augusto Bülow
Unity 
• Materiais = imprimir texturas e efeitos sobre 
formas e objetos 
• Importância das texturas 
– Essencial 
• Textura = bitmaps representativos 
• Efeitos: 
– Parâmetros gerais de reflexão e luz 
– Shaders
Unity 
• Texturas: 
– Bitmaps em basicamente todos os formatos 
• (BMP, TGA, JPG, GIF, TIF) 
– Restrições de tamanhos (texturas): 
• Largura e comprimento precisam ser em potencia de 2 
• Ex: 64x 64 (pixels), 256 x 512, 1024x128, 1024x1024* 
– Conceito Tile 
• Texturas preparadas para repetição 
• Lados da textura se conectam sem marcas visiveis
Unity 
• Tile exemplo: 
– Textura onde os 
lados se encaixam 
– Repetição, definição 
de escala = número 
de repetições
Unity 
• Conceitos Texturas: 
– JPG – arquivos compactados 
• Perda em qualidade geral 
• Processamento : descompactar em tempo real 
– TGA, TIF 
• Arquivos com camada ALPHA 
• Transparência 
• Uso da camada ALPHA em alguns Shaders
Unity 
• Conceitos Texturas: 
– Transparência = camada alpha (TGA, TIF,...) 
– Branco = sólido, visível 
– Preto = transparente 
– Grayscale = nível de transparência
Unity 
• Criando Materiais 
– Importar BMAP – textura 
• 1 
• Assets -> Import New Asset.... 
• Localizar BMP: exemplo muro01.bmp 
– Criar material 
• Assets -> Create -> Material 
• Diffuse : material básico 
• Selecionar BMAP da lista
Unity 
• Diffuse: material básico 
• 1 
– Opaco 
– Textura + coloração adicional 
• Definição de Tiling 
– Repetição em X e Y na 
superficie 
– Offset: deslocamento em 
pixels X e Y = alinhamento da 
textura na superfície
Unity 
• Atribuir material à objetos 
• Selecionar objeto 
• Componente Renderer: 
– Material -> Selecionar 
• 1 
• Definição de tiling por material 
• Possível criar mais de um 
material com mesmo BMP, e 
diferentes Tilings 
• Ex: criar material muro1-mini, 
com tiling dierente e aplicar
Unity 
• Shaders estão diretamente relacionados • 1 
aos materiais, 
na Unity 
• Shaders 
– Sombreadores – adicionam luz, sombra na imagem 
– Processamento adicional sobre a imagem visível 
• (por pixel, por vértice) 
– Necessidade de processamento (elevada) 
– Melhora considerável na imagem final 
– Simulação de detalhes sem necessidade de malha 3D 
• Barba, vincos de uma parede, pelos, glow, etc
Unity 
• Coleção de Shaders Unity 
• 1 
• Cerca de 30 shaders, em 6 famílias básicas 
• Shaders Básicos: 
• 1. Bump: 
– simulação de relevo na textura 
– Mapa azul / magenta auxiliar
Unity 
• Definindo um shader Bump, um 
“mapa azul” será necessário 
• Conversão de Bmaps em Bump, 
DOT3 : programas auxiliares 
• Conversão na Unity, durante a 
importação do Bmap: 
– Flag: Generate Bumpmap 
• Criar material muro-bump
Unity 
• Shaders calculados em relação a incidência de luz 
sobre a superfície / sobre o pixel • 1 
específico 
• Necessidade de Luz definida 
– Mais especificamente, direção do Sol no jogo 
– Outras fontes pontuais de luz atuando no objeto * 
• Luz dá vida ao Shader (e ao game)
Unity - Lights 
• Direcional – simulação de luz do sol 
• Proveniente de um ponto no infinito, até o infinito 
• Cobre todo mapa, e têm uma direção (ângulos X, Y, Z) 
• Posição X,Y,Z principalmente para efeitos Flare 
– Olhando para o sol = camera flare 
• Possível alterar pos e ângulo em tempo-real 
– Simulação do dia 
• 1
Unity – Lights 
• Point – ponto de luz 
• 1 
– Abertura ou alcance da luz = Range 
– Abertura esférica em relação a seu 
centro 
– Definição de Cor 
– Attenuate: diminui em relação a 
distância 
– Efeitos adicionais: 
• Flare: brilho na câmera, quando visível 
• Draw Halo: simulação de luz 
volumétrica
Unity – Lights 
• Point – ponto de luz 
• Todos parâmetros alteráveis em tempo real 
• Exemplo: 
var tempo = 0.1; 
function Update () { 
tempo += 1 * Time.deltaTime; 
if (tempo >= 0.5) { 
tempo = 0; 
var luz = GetComponent(Light); 
if (luz.range > 0) { 
• 1 
renderer.material.color.r = 0; 
luz.range = 0; 
} 
else { 
renderer.material.color.r = 255; 
luz.range = 10; 
}
Unity - Lights 
• Spot – faixo de luz direcional, com cone de abertura 
– Spot: uma lanterna ou refletor 
• Parametros básicos: 
• 1 
– Cor, intensidade 
– Spot Angle : ângulo de abertura do spot 
– Sua direção (ângulos) é fundamental
Unity - Lights 
• Exemplo básico 
• 1 
– atachar Spot ao player 
– Colocar o spot como CHILD do player (hierarquia)
Unity - Lights 
• Exemplo básico 2 
• 1 
– Spot fixo olha / aponta para objeto em movimento: 
var quem : Transform; 
function Update () { 
transform.LookAt(quem); 
} 
• transform.LookAt(objeto) 
– Transforma os ângulos para apontar para (look at) posição do 
objeto determinado

Aula9 material

  • 1.
    Projetos RAD :Unity 3D Materiais, Texturas e Luzes Augusto Bülow
  • 2.
    Unity • Materiais= imprimir texturas e efeitos sobre formas e objetos • Importância das texturas – Essencial • Textura = bitmaps representativos • Efeitos: – Parâmetros gerais de reflexão e luz – Shaders
  • 3.
    Unity • Texturas: – Bitmaps em basicamente todos os formatos • (BMP, TGA, JPG, GIF, TIF) – Restrições de tamanhos (texturas): • Largura e comprimento precisam ser em potencia de 2 • Ex: 64x 64 (pixels), 256 x 512, 1024x128, 1024x1024* – Conceito Tile • Texturas preparadas para repetição • Lados da textura se conectam sem marcas visiveis
  • 4.
    Unity • Tileexemplo: – Textura onde os lados se encaixam – Repetição, definição de escala = número de repetições
  • 5.
    Unity • ConceitosTexturas: – JPG – arquivos compactados • Perda em qualidade geral • Processamento : descompactar em tempo real – TGA, TIF • Arquivos com camada ALPHA • Transparência • Uso da camada ALPHA em alguns Shaders
  • 6.
    Unity • ConceitosTexturas: – Transparência = camada alpha (TGA, TIF,...) – Branco = sólido, visível – Preto = transparente – Grayscale = nível de transparência
  • 7.
    Unity • CriandoMateriais – Importar BMAP – textura • 1 • Assets -> Import New Asset.... • Localizar BMP: exemplo muro01.bmp – Criar material • Assets -> Create -> Material • Diffuse : material básico • Selecionar BMAP da lista
  • 8.
    Unity • Diffuse:material básico • 1 – Opaco – Textura + coloração adicional • Definição de Tiling – Repetição em X e Y na superficie – Offset: deslocamento em pixels X e Y = alinhamento da textura na superfície
  • 9.
    Unity • Atribuirmaterial à objetos • Selecionar objeto • Componente Renderer: – Material -> Selecionar • 1 • Definição de tiling por material • Possível criar mais de um material com mesmo BMP, e diferentes Tilings • Ex: criar material muro1-mini, com tiling dierente e aplicar
  • 10.
    Unity • Shadersestão diretamente relacionados • 1 aos materiais, na Unity • Shaders – Sombreadores – adicionam luz, sombra na imagem – Processamento adicional sobre a imagem visível • (por pixel, por vértice) – Necessidade de processamento (elevada) – Melhora considerável na imagem final – Simulação de detalhes sem necessidade de malha 3D • Barba, vincos de uma parede, pelos, glow, etc
  • 11.
    Unity • Coleçãode Shaders Unity • 1 • Cerca de 30 shaders, em 6 famílias básicas • Shaders Básicos: • 1. Bump: – simulação de relevo na textura – Mapa azul / magenta auxiliar
  • 12.
    Unity • Definindoum shader Bump, um “mapa azul” será necessário • Conversão de Bmaps em Bump, DOT3 : programas auxiliares • Conversão na Unity, durante a importação do Bmap: – Flag: Generate Bumpmap • Criar material muro-bump
  • 13.
    Unity • Shaderscalculados em relação a incidência de luz sobre a superfície / sobre o pixel • 1 específico • Necessidade de Luz definida – Mais especificamente, direção do Sol no jogo – Outras fontes pontuais de luz atuando no objeto * • Luz dá vida ao Shader (e ao game)
  • 14.
    Unity - Lights • Direcional – simulação de luz do sol • Proveniente de um ponto no infinito, até o infinito • Cobre todo mapa, e têm uma direção (ângulos X, Y, Z) • Posição X,Y,Z principalmente para efeitos Flare – Olhando para o sol = camera flare • Possível alterar pos e ângulo em tempo-real – Simulação do dia • 1
  • 15.
    Unity – Lights • Point – ponto de luz • 1 – Abertura ou alcance da luz = Range – Abertura esférica em relação a seu centro – Definição de Cor – Attenuate: diminui em relação a distância – Efeitos adicionais: • Flare: brilho na câmera, quando visível • Draw Halo: simulação de luz volumétrica
  • 16.
    Unity – Lights • Point – ponto de luz • Todos parâmetros alteráveis em tempo real • Exemplo: var tempo = 0.1; function Update () { tempo += 1 * Time.deltaTime; if (tempo >= 0.5) { tempo = 0; var luz = GetComponent(Light); if (luz.range > 0) { • 1 renderer.material.color.r = 0; luz.range = 0; } else { renderer.material.color.r = 255; luz.range = 10; }
  • 17.
    Unity - Lights • Spot – faixo de luz direcional, com cone de abertura – Spot: uma lanterna ou refletor • Parametros básicos: • 1 – Cor, intensidade – Spot Angle : ângulo de abertura do spot – Sua direção (ângulos) é fundamental
  • 18.
    Unity - Lights • Exemplo básico • 1 – atachar Spot ao player – Colocar o spot como CHILD do player (hierarquia)
  • 19.
    Unity - Lights • Exemplo básico 2 • 1 – Spot fixo olha / aponta para objeto em movimento: var quem : Transform; function Update () { transform.LookAt(quem); } • transform.LookAt(objeto) – Transforma os ângulos para apontar para (look at) posição do objeto determinado