$basetexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(redone)
Line 1: Line 1:
==Usage==
The '''$basetexture''' [[VMT]] command specifies the texture to use in the material's [[albedo]]. It is very rare for a material not to use this command.
* '''$basetexture specifies the [[VTF]] texture to use for the basic 'skin' or diffusemap of the material surface.'''
* If the basetexture.vtf has an alpha channel (ie it's 32bit rather than 24bit) this can be used as luminositymap ($selfillum).


==VMT syntax and default values ==
==VMT syntax ==
 
$basetexture <texture without extension, relative to '<game>/materials/'>


  [[LightmappedGeneric]]
  [[LightmappedGeneric]]
  {
  {
  [[$basetexture]] "path/to/vtf"
  [[$basetexture]] brick/brickwall031b
  [[$basetexturetransform]] "center .5 .5 scale 1 1 rotate 0 translate 0 0"
  $basetexturetransform "center .5 .5 scale 1 1 rotate 0 translate 0 0"
  }
  }


==Available values==
== Additional Parameters ==
 
===$basetexture===
"$basetexture" "Path/TextureA"
* where '''<code>Path</code>''' is the filepath relative to <code>game_directory/materials</code> folder.
* where '''<code>TextureA</code>''' is the filename; ie <code>TextureA.vtf</code>.
* Notice the <code>.vtf</code> file extension is not used in VMT texture references.


===$basetexturetransform===
; <code>$basetexturetransform <matrix></code>
"$basetexturetransform" "center <float> <float> scale <float> <float> rotate <float> translate <float> <float>"
: Transforms the image from the base texture before use in the material. Requires DirectX 9.
* Transforms the image from the base texture before use in the material.
{{VMT UVtransform}}
{{VMT UVtransform}}
; <code>$basetextureoffset <[[normal]]></code>
: {{todo|DX8 version of translate?}}
; <code>$basetexturescale <normal></code>
: {{todo|DX8 version of scale?}}


===$basetextureoffset===
== $basetexture2 ==
$basetextureoffset <>
* {{todo|dx8 version of center?}}


===$basetexturescale===
Some shaders (most notably [[WorldVertexTransition]]) allow the use of two albedos. The second texture is handled by a mirrored set of commands with '2' in their name:
$basetexturescale <>
* {{todo|dx8 version of scale?}}


==See Also==
* '''<code>$basetexture2</code>'''
* Tutorial [[Multiple Skins for a Single Model]]
* '''<code>$basetexturetransform2</code>'''
* [[$basetexture2]]
* {{todo|'''<code>$basetextureoffset2 <normal></code>'''?}}
* {{todo|'''<code>$basetexturescale2 <normal></code>'''?}}


There are further '2' commands applying to various shader effects, which are each documented in their respective articles.


[[Category:List of Shader Parameters]]
[[Category:List of Shader Parameters]]
[[Category:VMT Texture Reference]]
[[Category:VMT Texture Reference]]

Revision as of 05:09, 12 July 2008

The $basetexture VMT command specifies the texture to use in the material's albedo. It is very rare for a material not to use this command.

VMT syntax

$basetexture	<texture without extension, relative to '<game>/materials/'>
LightmappedGeneric
{
	$basetexture		brick/brickwall031b
	$basetexturetransform	"center .5 .5 scale 1 1 rotate 0 translate 0 0"
}

Additional Parameters

$basetexturetransform <matrix>
Transforms the image from the base texture before use in the material. Requires DirectX 9.
The default position is center .5 .5 scale 1 1 rotate 0 translate 0 0.
  1. center defines the point of rotation. Only useful if rotate is being used.
  2. scale fits the texture into the material the given number of times. 2 1 is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.
  3. rotate rotates the texture counter-clockwise in degrees. Accepts any number, including negatives.
  4. translate shifts the texture by the given numbers. .5 will shift it half-way. 1 will shift it once completely over, which is the same as not moving it at all.
Note.pngNote:All values must be included!
Icon-Bug.pngBug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.  [todo tested in ?]
Icon-Bug.pngBug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin.  [todo tested in ?]
$basetextureoffset <normal>
Todo: DX8 version of translate?
$basetexturescale <normal>
Todo: DX8 version of scale?

$basetexture2

Some shaders (most notably WorldVertexTransition) allow the use of two albedos. The second texture is handled by a mirrored set of commands with '2' in their name:

  • $basetexture2
  • $basetexturetransform2
  • Todo: $basetextureoffset2 <normal>?
  • Todo: $basetexturescale2 <normal>?

There are further '2' commands applying to various shader effects, which are each documented in their respective articles.