My first piece of advice is to uninstall VTFedit. It breeds laziness. You can get a vtf exporter for photoshop and gimp, and that gives you far more control over the texture, assigning alpha channels and such for your specularity and being able to modify different colour channels to modify your normal maps. Vmt files are incerdibly simple to write, and learning how to write them makes you far more confident in your skills at modding. VtfEdit encourages you to splash out on random shaders and stuff that you won't need to use, and while it most likely creates vmts that are more technically correct, it sometimes adds parameters that I have never used and I assume just clog the shit up.
Here's one off the top of my head (it's for a model, hence vertexlitgeneric):
- Code: Select all
vertexlitgeneric
{
$basetexture path/to/your/diffusemap
$bumpmap path/to/your/normalmap
$phong 1
// phong uses the alpha channel of the normal map as a mask
$phongboost 1.5
$phongfresnelranges "[.25 .5 1]"
$rimlight 1
$rimexponent 4
/*
// alternatively you can use cubemaps for faked reflections
$cubemap env_cubemap
// envmap requires an envmap mask, which you can set with $envmapmask path/to/your/envmap
// but for simplicity, uniformity and optimisation I set the envmap mask to the normal maps alpha channel with
$normalmapalphaenvmapmask 1
// phong and envmap are not able to render from the same vmt at the same time, it's one or the other.
*/
}
And after a few moments on VDC, here's one for brushwork:
- Code: Select all
lightmappedgeneric
{
$basetexture path/to/your/diffusemap
$bumpmap path/to/your/normalmap
$detail path/to/your/detailmap
%tooltexture path/to/your/tooltexture
// the tool texture is the preview image you'll see in hammer. Yo only really need to use this if you are making a blend texture
$detailscale .075
$detailblendfactor .5
$detailblendmode 0
$envmap env_cubemap
$envmapmask path/to/your/envmap
$envmaptint "[255 150 0]"
}
Don't know how well it would work but I can't imagine needing any more features on your map. Unfortunately phong specularity doesn't work on brushes, sou you can't have sexy phong or rimlighting. All the info about each parameter is on the vdc, just search for it in the search box to find out more about it (search for "$phong" for example).
One more tip I would offer is that source likes very saturated normal maps, you may have noticed that with your crazybump textures, but for textures with very small details, like a plaster wall or smooth tile, you should use detail maps rather than normal maps. Detail maps are cheaper to render and won't cause the texture to become all noisy and distracting to the player. A lot of custom textures don't realise that less is often more. Sometimes a nice lightmap scale can make all the difference and specularity, normal and detail maps are completely unnecessary.
Also look into blendmodulate textures if you plan on using your textures on displacements, or if you are going to blend them and want them to have a more interesting blend than the default gradient.