Tutorial 5: Como Criar Texturas Para o Half-Life
(Retirado de arquivo.mataleone.com)

Especificacoes Tecnicas

As texturas usadas nos mapas do Half-Life sao compiladas num arquivo do tipo WAD3,semelhante ao WAD do Quake, so que cada textura tem a sua propria palheta, enquanto que no Quake todas as texturas usa a mesma. Todos os WADs que estiverem na configuracao do WorldCraft na hora da compilacao deverao estar disponiveis no diretorio valve ou no diretorio do mod para o qual o mapa esta sendo desenvolvido, senao o Half-Life nao roda o mapa. Um arquivo WAD nao tem limite de tamanho, mas quanto mais texturas voce usar no seu mapa, mais memoria o Half-Life vai precisar.

As texturas para o Half-Life devem sempre ser gravadas em BMP 8-bit (256 cores). Ate da pra fazer em outro formato, mas este eh o correto e nao da chabu. Nao ha restricao quanto a palheta de cores, e nao se ganha nada em termos de memoria ou performance se usar a mesma palheta no mesmo set de texturas.

O tamanho minimo de uma textura eh 16x16 e o maximo 256x256, mas sempre dever ser multiplo de 16 (16, 32, 48, 64, ...), se nao for multiplo de 16, nao funciona, o Half-Life nao aceita! Pra voce ter uma ideia de proporcao, uma parede de uma casa normal teria altura de 128 no Half-Life.

Os nomes dos arquivos de cada textura devem ter no maximo 15 caracteres mais a extensao .BMP. Os caracteres !, +, - e { tem uso especial (descrito abaixo) e nao devem ser usados a toa. Nao use espacos!

Tipos de Textura

  • Normal: Uma textura simples qualquer, nada de mais.

    FIFTIES_WALL14 OUT_SND2 SIGN74

  • Aleatorias: Uma inovacao do Half-Life foi fazer texturas de um mesmo set que sao preenchidas aleatoriamente numa face. Por exemplo, se voce fizer apenas uma textura para um muro muito extenso, pode ficar repetitivo, entao voce faz umas 3 ou 4 texturas (de mesmo tamanho e que batam entre si dos lados) com pequenas diferencas, tipo uma simples, outra com uns tijolinhos expostos, outra com uma rachadura e outra suja e elas serao preenchidas aleatoriamente pela parede.

    Neste exemplo, basta dar o nome -0PAREDE, -1PAREDE, -2PAREDE e -3PAREDE para as 4 texturas e usar a -0PAREDE no muro todo que o Hald-Life vai espalhar as texturas aleatoriamente pelo muro (se nao usar a -0 nao funciona). Entao a regra eh: usar o mesmo nome em todas, precedido de -X, onde X eh um numero de 0 a 9 (portato, voce pode ter no maximo 10 texturas em cada set aleatorio).

    Porem... isso fo funciona em modo Software, nao funciona em GL nem DirectX, infelizmente... mas vale a pena saber.

    -0OUT_WALL3 -1OUT_WALL3 -2OUT_WALL3 -3OUT_WALL3 -3OUT_WALL3

  • Animadas: Voce pode fazer um set de texturas animadas. Basta fazer varias texturas de mesmo tamanho, dar o mesmo nome precedido de +X, onde X eh um numero de 0 a 9 (portato, voce pode ter no maximo 10 frames numa animacao). Associe a face a primeira textura do set, e elas texturas animarao eternamente numa frequencia de 10Hz (10 frames por segundo), e isso nao pode ser mudado.

    +0LAB1CMPM3 +1LAB1CMPM3 +2LAB1CMPM3 +3LAB1CMPM3 +4LAB1CMPM3 +5LAB1CMPM3

  • 2 Fases: Texturas de 2 fases tem 2 variacoes: ligada e desligada. Como num botao, ele fica apagado e quando vode aperta ele acende. Ou um interruptor de luz. Para isto, basta criar um set de texturas animadas e acrescentar uma textura com o nome +A seguido do nome comum da animacao. A textura +A sera o modo desligado e se voce criar um botao com esta textura, ao pressiona-lo, ele imediatamente mudara para a animacao. Voce pode tambem associar esta textura a um func_wall qualquer e se voce "liga-lo" com um botao, a animacao comeca. Nao eh necessario que seja uma animacao, 2 texturas bastam, como o exemplo abaixo:

    +AGYMLIGHT +0GYMLIGHT

  • Vazadas: Uma textura pode ser vazada, ter buracos para ver atraves nela, como uma grade. O nome dela deve comecar com { e a ultima cor da palheta deve ser azul puro (R=0 G=0 B=255), que essas partes azuis ficarao vazadas. Mas se nao for azul puro (tipo R=0 G=1 B=255), nao vai funcionar, e vai ficar um azulao no meio sua textura.

    Nao basta apenas aplicar a textura ao brush para ela vicar vazada, voce deve transformar o brush em func_wall ou func_illusionary, setar o Rendermode para Solid e FX Ammount para 255.

    {GRATESTEP2

  • Liquidos: Uma textura para uma superficie de liquido deve ter o nome comecando por !. Qualquer face que tenha esta textura tera automaticamente um efeito de agua se mexendo.

    !WARTERBLUE

  • Luminosas: Sao texturas que brilham e que emitem luz propria, como lampadas e maquinas de refrigerante do Half-Life. Veja esta pagina para uma lista completa das texturas que emitem luz do Half-Life e como fazer as suas proprias.

    LIGHT1 GENERIC88A

    Fazendo as Texturas

    Eu uso o Photoshop para fazer texturas. Ele tem recursos de sobra pra fazer qualquer tipo de efeito. Eh so pegar uma foto e trata-la ou fazer a sua textura propria. Eu nao vou ensinar como mexer no Photoshop, isso ja sai do contexto deste site (mas quem sabe um dia...), vou apenas dar algumas dicas, portanto se voce tiver duvidas, procure algum tutorial ou livro de Photoshop. Vale a pena, pois ele eh poderosissimo.

    O Photoshop trabalha com um formato de arquivo proprio, o .PSD. Eh melhor trabalhar com este tipo de arquivo, para poder usar recursos de layers e efeitos, ja que o BMP nao tem isso. Depois que a textura estiver pronta, salve o seu arquivo, ajuste o tamanho da imagem para o tamanho final da textura (Image -> Image size), Mude para o modo Indexed Color (Image -> Mode -> Indexed Color, Selective), e salve como BMP (File -> Save As ou Save a Copy)

    Uma textura de parede ou chao tem que bater dos lados, ou seja, o lado esquerdo deve ser a continuacao do direito e o de cima a continuacao do de baixo. Se voce vai fazer uma textura para o chao, ela tem que bater horizontalmente e verticalmente, se voce for fazer uma textura para a paredede dentro de uma casa, ela so precisa horizontalmente. Para verificar isso, use o efeito Offset (Effects -> Other -> Offset), e ajuste com a ferramenta de clone. Para ver como a textura vai ficar numa area grande selecione toda a area da textura (CTRL+A), defina como padrao (Edit -> Define Pattern), crie um novo arquivo com tipo umas 8 vezes o tamanho da textura (CTRL+N), e preencha com o padrao (Edit -> Fill, Pattern).

    Se voce pretende fazer texturas para paredes que vao ficar perto de fogo, por exemplo, ja imagina que elas vao ter um tom meio avermelhado. Nao faca isso no Photoshop, faca a parede com a cor que ela eh na realidade. Estes ajustes de cor ficam melhor se forem feitos com luzes no proprio mapa, alem de voce poder usar a mesma textura para outra parede que nao esta proxima do fogo.

    Compilando o WAD

    Existem 2 formas de de compilar um WAD. Uma eh atraves de um programa tipo Wally ou TexMex (disponiveis na pagina de ferramentas), que sao editores graficos simples especificos para criacao de textura e criam WADs compativeis com o Half-Life. Eu uso estes programas apenas para visualizar e remover texturas de WADs ja prontos.

    Para compilar WADs, eu prefiro usar o makels e qlumpy, dois programinhas feitos pela Valve especificos para compilar WAD pro Half-Life. Eles rodam mais rapido, dao mensagens de erro mais claras e dao menos pau. Eles estao disponiveis aqui (wadtools.zip) com um tutorial original da valve e alguns exemplos de textura.

    Para gerar um WAD, copie todos os arquivos BMP para um diretorio, crie um arquivo texto com o nome make.bat e o seguinte conteudo:

    makels . meuwad meuwad.ls
    qlumpy meuwad.ls

    Rode o make.bat e pronto. O makels gera um arquivo script (meuwad.ls) que o qlumpy usa para ler os BMPs e gerar o WAD. Simples assim.

    Outras Referencias

  • Listas das Texturas Luminosas do Half-Life
  • Atribuindo sons de passos diferentes para cada textura
  • por - Mataleone -