$basetexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Additional parameters: info regarding the TODO was added to Template:VMT UVtransform. Tell me if that was not what was wanted.)
(→‎$basetexture2: https://github.com/ValveSoftware/source-sdk-2013/search?q=%24basetexture2 I also checked a 2007 repo, no luck)
Line 33: Line 33:
* '''<code>$basetexturetransform2</code>'''
* '''<code>$basetexturetransform2</code>'''
{{bug|1=<code>$basetexturetransform2</code> doesn't seem to work in Source 2007 [http://forums.steampowered.com/forums/showpost.php?p=7669785&postcount=4 source].}}
{{bug|1=<code>$basetexturetransform2</code> doesn't seem to work in Source 2007 [http://forums.steampowered.com/forums/showpost.php?p=7669785&postcount=4 source].}}
* {{TODO|'''<code>$basetextureoffset2 <normal></code>'''?}}
* '''<code>$basetextureoffset2 <normal></code>'''{{todo|do this parameter and the one below it even exist?}}
* {{TODO|'''<code>$basetexturescale2 <normal></code>'''?}}
* '''<code>$basetexturescale2 <normal></code>'''


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

Revision as of 16:31, 18 May 2018

Template:Otherlang2 The $basetexture VMT command defines an albedo texture. It is very rare for a material not to use this parameter and some shaders will load a default texture if it stays undefined.

VMT syntax

$basetexture	<texture without extension, relative to <game>\materials\>
LightmappedGeneric
{
	$basetexture	brick\brickwall031b
}

Additional parameters

$basetexturetransform <matrix>
Transforms the texture before use in the material. This does not affect lightmaps on the surface.
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?
$frame <int>
The frame displayed for a multi-frame texture. This is normally set by the AnimatedTexture or TextureToggle proxies, but can be set manually. The value must be a valid index, or crashes might occur.

$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
Icon-Bug.pngBug:$basetexturetransform2 doesn't seem to work in Source 2007 source.  [todo tested in ?]
  • $basetextureoffset2 <normal>
    Todo: do this parameter and the one below it even exist?
  • $basetexturescale2 <normal>

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

See Also