TGA
Truevision Graphics Adapter (TGA), comumente chamado de “targa” (Truevision Advanced Raster Graphics Adapter), é um formato de imagem não proprietário da Truevision, preferido pela Valve. A extensão de arquivo para targas é .tga
. É o formato base para Valve Texture Files (.vtf
s) e é usado para armazenar imagens usadas pelo Steam client. Os arquivos TGA podem ser lidos e editados com o GIMP, o Adobe Photoshop e outros programas de edição de imagens.
O formato armazena os canais RGB (vermelho, verde, azul) básicos com precisão de 8 bits (0-255) para um total de 24 bits/pixel, com um canal alpha opcional adicional de 8 bits para um total de 32 bits/pixel. O canal extra contém informações que os shaders do VMT pode usar para efeitos como transparência ou especularidade. Os arquivos Targa são descompactados, o que significa que a maior qualidade possível é preservada na imagem; no entanto, o tamanho dos arquivos costuma ser muito maior do que o de formatos de imagem como PNG, que usa Lossless compression, ou JPEG, que usa Lossy compression.
A maioria das texturas no Source começa como TGA que são editadas e ajustadas com qualquer editor de imagens adequado. Em seguida, o TGA é compilado no Valve Texture Format (VTF) usando o Vtex.exe
(ou uma ferramenta de terceiros, como o VTFEdit) para participar do Material System.
LoadTGA()
de Quake [codigo], que é reutilizada em GoldSrc, não manipula corretamente o canal alfa de TGAs compactados em RLE, tratando-os como invertidos. Os TGAs de 24 bits não são afetados.Além disso, presume-se que os TGAs tenham uma origem inferior esquerda; os TGAs com uma origem superior esquerda serão lidos de cabeça para baixo.
VTEX não usa o LoadTGA, mas ainda é afetado por pelo menos alguns desses erros[confirmar]. O VTFEdit não é afetado por esse bug. [todo tested in?]
Targa para VTEX
Formato válido
Para que uma imagem targa seja reconhecida como válida pela VTEX, ela deve atender aos seguintes critérios:
- Deve ter 24 ou 32 bits de profundidade por pixel. (8 e 16 bits por pixel não são reconhecidos).
- Suas dimensões (altura e largura) devem ter um tamanho de pixel igual a uma potência de 2 (ou seja, 2^4=16, 2^5=32, 2^6=64, 2^7=128, 2^8=256, 2^9=512, etc.).
- Suas dimensões não podem ser maiores que 2048 pixels.
- A altura e a largura não precisam ser as mesmas - 64x128, 256x512 funcionam bem -, mas as imagens quadradas são preferidas pelo mecanismo de origem, portanto, use-as sempre que possível, mesmo que não pareçam ser a melhor opção.
- A compactação RLE é opcional, mas deve ser evitada devido a problemas ocasionais de conversão, especialmente em imagens de 32 bits.
Escala
A escala de textura padrão no Hammer é 0,25
. Isso significa que 1 pixel de textura = 0,25 map units no Hammer e no jogo, ou seja, uma textura de 512x512 cobre 128x128 unidades de mapa (equivalente a 8x8 pés ou 2,4x2,4 metros).
Textura | Hammer | Tamanho de Arquivo | Descrição |
---|---|---|---|
pixels | map units | kB (32bit) | |
4 x 4 | 1 x 1 | 0.06 | |
8 x 8 | 2 x 2 | 0.25 | |
16 x 16 | 4 x 4 | 1 | |
32 x 32 | 8 x 8 | 4 | |
64 x 64 | 16 x 16 | 16 | |
128 x 128 | 32 x 32 | 64 | |
256 x 256 | 64 x 64 | 256 | |
512 x 512 | 128 x 128 | 1024 (1MB) | Esse é o tamanho mais comum para texturas arquitetônicas: alvenaria, concreto, etc. |
1024 x 1024 | 256 x 256 | 4096 (4MB) | |
2048 x 2048 | 512 x 512 | 16384 (16MB) | Esse é o maior tamanho com o qual o vtex pode lidar e é usado somente para brushes grandes que não sejam de ladrilho, como skyboxes 2D. |
- Textura (pixels) : É preferível o formato quadrado, mas retângulos são aceitáveis. Cada dimensão deve ser uma potência de dois até 2048.
- Hammer (map units) : usando a escala de textura padrão de 0,25. Isso pode ser substituído localmente por superfície no Hammer ou por “material” usando o fator de “escala” $basetexturetransform no VMT. Por exemplo, uma textura de 512x512 com uma escala de 0,5 cobrirá apenas 64x64 unidades de mapa e, quando vista de perto, parecerá altamente detalhada. Isso também pode ser feito com texturas de 2048x2048 e 1024x1024, dimensionando-as para 512x512 usando
escala 4 4
eescala 2 2
, respectivamente. - Tamanho de Arquivos (kB) : é fornecido para uma imagem rasta de 32 bits não compactada. Pendência: VTF usa seu próprio sistema de compactação...
Localização de Salvamento
Lembre-se de que o Vtex só é capaz de localizar imagens targa localizadas dentro da pasta /materialsrc/
do jogo atual, portanto, talvez você queira salvá-las diretamente lá para evitar o trabalho de ter que movê-las para lá mais tarde.