Moddando a Source: Materials

Autor geekpobre | Categoria Moddando a Source

8 Apr 2009

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.

  • É, a Source é a engine usada no Half Life 2, Half Life 2: Episode 1, Half Life 2: Episode 2 Day of Defeat:Source, Counter Strike:Source, Dark Messiah of Might and Magic, Left 4 Dead, Portal e Team Fortress 2.
  • Israell
    como assim source é do half life 2?
blog comments powered by Disqus

Destaques