Difference between revisions of "$detail"

From Valve Developer Community
Jump to: navigation, search
(Added info about detail stuff and smealess)
Line 5: Line 5:
  
 
'''$detail''' specifies a [[wikipedia:Grayscale|grayscale]] [[texture]] with which Source will add high-resolution detail when the material is viewed up close, by darkening the [[albedo]] appropriately. It is very effective for increasing the apparent resolution of a texture, and was used extensively in [[Episode Two]].
 
'''$detail''' specifies a [[wikipedia:Grayscale|grayscale]] [[texture]] with which Source will add high-resolution detail when the material is viewed up close, by darkening the [[albedo]] appropriately. It is very effective for increasing the apparent resolution of a texture, and was used extensively in [[Episode Two]].
 +
 +
{{todo| Is it ''only'' available for Episode Two?}}
 +
  
 
{{tip|A [[bump map]] can perform the same job as a detail texture, but is more [[expensive]].}}
 
{{tip|A [[bump map]] can perform the same job as a detail texture, but is more [[expensive]].}}

Revision as of 04:12, 16 February 2012

Français
A detail texture (noise_detail_01), and its effect when applied to a material (left).

$detail specifies a grayscale texture with which Source will add high-resolution detail when the material is viewed up close, by darkening the albedo appropriately. It is very effective for increasing the apparent resolution of a texture, and was used extensively in Episode Two.

To do:  Is it only available for Episode Two?


Tip:A bump map can perform the same job as a detail texture, but is more expensive.
Bug: Detail textures do not currently work in conjunction with $seamless_scale. Enabling them to work together would require a programmer to edit the used shader.

Syntax

$detail <texture>

You will probably want to use at least $detailscale (see below) as well.

Additional parameters

$detailtexturetransform <matrix>
Rotates, scales, etc. the detail texture. Requires DX9.
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 X axis.
  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.
Note:All values must be included!
Bug: Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.
Bug: 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.
$detailscale <float>
Fits the detail texture onto the material the given number of times (default = 4). Generally used instead of $detailtexturetransform with a value of around 7 or 8 for a 128px detail texture.
$detailblendfactor <normal>
Effectively an $alpha value for the detail texture.
$detailblendmode <int>
How to combine the detail material with the albedo.
  • 0 = normal (darken)
  • 1 = additive (lighten)
  • 2 = alpha blend detail over base
  • 3 = crossfade
$detailtint "<RGB matrix>"
Modifies the colour of the detail texture.
$detailframe <int>
The frame to start animated detail texture on. Requires DX9.
$detail_alpha_mask_base_texture <bool>
WorldVertexTransition only. When enabled, causes the level of detail alpha to determine "base texture blending". To do: Which base texture?

Valve's detail textures

Valve's stock detail textures (available in OB only) are best used with the following pre-configured values:

$detail detail\noise_detail_01 // e.g. for brickwork, concrete...
$detailscale 7.74
$detailblendfactor 0.8
$detailblendmode 0
$detail detail\metal_detail_01
$detailscale 4.283
$detailblendfactor .65
$detailblendmode 0
$detail detail\rock_detail_01
$detailscale 11
$detailblendfactor 1
$detailblendmode 0
$detail detail\plaster_detail_01
$detailscale 6.783
$detailblendfactor .8
$detailblendmode 0

The below parameters come from models\props_forest\LadderWood.vmt It is the only Valve Stock texture VMT file to use this particular detail texture. Because the detail texture (detail\wood_detail_01) is a high resolution (1024x1024), the $detailscale is lower than the others. With the exception of rock_detail_01.

$detail detail\wood_detail_01
$detailscale 2.563
$detailblendfactor .8
$detailblendmode 0

Additionally, there are 2 other stock detail textures. detail\detailash001a and detail\detaildirt001a.

These files were used in the "leaked" version of Half-Life 2 & in Half-Life 2: Episode One using the following parameters;

(Concrete/concretefloor009a in Episode One materials)

$detail detail/detaildirt001a
$detailscale 0.27

(Metal/metalfloor005a in Episode One materials)

$detail detail/detailash001a
$detailscale 0.50