Vou começar alguns pequenos tutoriais para quem quer começar a modificar a Source Engine, já que vejo poucas coisas em nossa lingua para ela. A primeira coisa que quero falar é sobre os Materiais, que não são nada mais do que as texturas com algo a mais.
Primeiro é bom ter alguns programas em seu PC antes de mexer com isso. Os programas são:
Um Material é formado por 2 arquivos, o VTF e o VMF. O VTF é a textura própriamente dita no formato usado pela Source, o VTFEdit ou o VTF Photoshop/Paint.Net Plugin podem salvar ou converter imagens para esse formato. O VMF é o algo a mais que eu disse ali em cima. Ele é um pequeno arquivo de texto que informa para a Source Engine como aquela textura deve se comportar, se é transparente ou não, se algum shader deve ser aplicado, tipo, nome da imagem para o normal map e tudo mais. Você pode criar esse arquivo na mão ou usar o VTFEdit para fazer por você.
Inicialmente isso pode parecer um trabalho a mais e desnecessário, mas com o passar do tempo você verá que é uma das melhores coisas que poderiam ser feitas pela Valve já que ajuda e muito a manter um controle maior das texturas usadas no seu jogo.
Na criação do VTF não existe muito mistério, mas caso você queira extrair ao máximo da capacidade do formato não deixe de dar uma olhada na tabela abaixo, retirada do Valve Dev Wiki com o nome (útil caso você use o VTFEdit ou VTF Photoshop/Paint.Net Plugin), o valor hexadecimal (útil caso você use o VTEX) e o efeito da flag.
| Flag | Value | Comment |
| Point Sampling | 0×0001 | Low quality texture filtering. |
| Trilinear Sampling | 0×0002 | Medium quality texture filtering. |
| Clamp S | 0×0004 | Clamp S coordinates. |
| Clamp T | 0×0008 | Clamp T coordinates. |
| Anisotropic Sampling | 0×0010 | High quality texture filtering. |
| Hint DXT5 | 0×0020 | Used in skyboxes. Makes sure edges are seamless. |
| SRGB | n/a | Uses space RGB. Uself for High Gamuts. |
| No Compress | 0×0040 | No DXT compression used. |
| Normal Map | 0×0080 | Texture is a normal map. |
| No Mipmaps | 0×0100 | Render largest mipmap only. |
| No Level Of Detail | n/a | Not effected by Texture resolution settings. |
| No LOD | 0×0200 | Use largest mipmap set, even on old hardware. |
| Min Mipmap | 0×0400 | |
| Procedural | 0×0800 | Texture is an procedural texture (code can modify it). |
| One Bit Alpha | 0×1000 | One bit alpha channel used. |
| Eight Bit Alpha | 0×2000 | Eight bit alpha channel used. |
| Environment Map | 0×4000 | Texture is an environment map. |
| Render Target | 0×8000 | Texture is a render target. |
| Depth Render Target | 0×10000 | Texture is a depth render target. |
| No Debug Override | 0×20000 | |
| Single Copy | 0×40000 | |
| One Over Mipmap Level In Alpha | 0×80000 | Fill the alpha channel with 1/Mipmap Level. (Internal to VTEX?) |
| Premultiply Color By One Over Mipmap Level | 0×100000 | (Internal to VTEX?) |
| Normal To DuDv | 0×200000 | Texture is a DuDv map. (Internal to VTEX?) |
| Alpha Test Mipmap Generation | 0×400000 | (Internal to VTEX?) |
| No Depth Buffer | 0×800000 | Do not buffer for Video Processing, generally render distance. |
| SSBump | n/a | Texture is a SSBump. (SSB) |
| Nice Filtered | 0×1000000 | Use NICE filtering to generate mipmaps. (Internal to VTEX?) |
| Clamp U | 0×2000000 | Clamp U coordinates (for volumetric textures). |
Vale lembrar também que ao criar uma textura que será usada para normal map evite ao máximo utilizar qualquer tipo de compactação na imagem, já que isso pode comprometer o resultado final.
No VMF a coisa complica um pouco, se prepare para ler bastante a Valve Dev Wiki porque você vai precisar. Ao total existem 11 Shaders e 47 parâmetros para eles, mas nem todo Shader aceita todo parâmetro, além disso cada Shader tem um uso específico e alguns tem alguns detalhes no uso, como o Water Shader, que não tem uma $basetexture e por ai vai.
A dica que dou é inicialmente use o VTFEdit para gerar o VMF e depois o Notepad++ para editá-lo como você quer, já que assim você terá menos chances de fazer um VMF errado. E é bom lembrar que no valor do $basetexture é recomendado usar o caminho do VTF a partir da pasta materials do mod e não o caminho completo, já que dessa forma você edita problemas. Exemplo:
$basetexture “skybox/ceu_ensolarado” (Correto)
$basetexture “C:/mods/meu_mod/materials/skybox/ceu_ensolarado” (Errado)
E para terminar fique com a lista de Shaders e de Shader Parameters direto do Valve Dev Wiki
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.