UV map: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{stub}}
{{stub}}


* '''UV Mapping''', or '''Texture Mapping''', is the process of ''aligning'' and ''adjusting'' how a Texture ([[VTF]]) is applied to a specific Polygonal Mesh. (I'm using the term "mesh" for both brush and model geometry.)
A [[UV map]] is a part of an object's geometry. It defines which areas (using UV coordinates) of a 2D pixelmap(s) should be rendered on which polygonal surfaces (using XYZ coordinates) of a particular 3D mesh. A UV map does not contain any pixel data (eg color, etc). It is only a matrix relating 2D to 3D coordinates.  
** To UV map [[Model]]s use [[XSI Texturing|XSI Texture Editor]] (or [[model editor|equivalent]]).
** To UV map [[Brushes]] use [[Hammer Face Edit Dialog]].
** To UV map [[Decals]] use [[Hammer Decal Tool]].
** To UV map [[Overlays]] use [[Hammer Overlay Tool]].
** [[VMT|Valve Material Type]] files can also specify UV mapping adjustments for each VTF used by a particular material, via the [[$basetexturetransform]], [[$bumptransform]], etc VMT parameters.
*** {{todo|confirm: these only work for VMTs applied to Brushes, not to Models?}}
*** U (horizontal) and V (vertical) coordinates are calibrated from 0 to 1, so "0.5 0.5" is always the center of the VTF.
*** UV coordinates : <code>"center"</code> and/or <code>"translate" "<0.0 - 1.0 U> <0.0 - 1.0 V>"</code>
*** UV angles : <code>"rotate" "<0 - 360>"</code>
*** UV scale : <code>"scale" "<[[float]] U> <[[float]] V>"</code>


* Models tend to have a more complex mesh than brushes, which makes UV mapping much more fiddly. Model VTFs therefore tend to be created specially to map easily and efficiently onto one specific model only. Models may use multiple (alternative) skins, so long as the layout of each VTF corresponds to the model's [[UV map]].  
In Source, the object's UV map takes the name of a '''Material ([[VMT]]) file''' and reads the pixel data from the same UV area of each VTF in the texture stack. Thus one UV map imports data from the colormap, bumpmap, opacitymap, specularmap, etc as though they were one image (with enormous bitdepth!) Thus the object's Material can easily be changed without having to rebuild the UV map.
 
{{note|Models tend to have a more complex mesh than brushes, which makes UV mapping much more fiddly. Model VTFs therefore tend to be created specially to map easily and efficiently onto one specific model only. Models may use multiple (alternative) skins, so long as the layout of each VTF corresponds to the model's [[UV map]].}}
 
 
'''UV Mapping''', or '''Texture Mapping''', is the process of ''aligning'' Polygons to Pixels.
* To UV map [[Model]]s use [[XSI Texturing|XSI Texture Editor]] (or [[model editor|equivalent]]).
* To UV map [[Brushes]] use [[Hammer Face Edit Dialog]].
* To UV map [[Decals]] use [[Hammer Decal Tool]].
* To UV map [[Overlays]] use [[Hammer Overlay Tool]].
* [[Valve Material Type]] files can also specify UV mapping adjustments for each VTF seperately, via the [[$basetexturetransform]], [[$bumptransform]], etc VMT parameters. ({{todo|confirm: this only works for VMTs applied to Brushes, not to Models?}})
** U (horizontal) and V (vertical) coordinates are calibrated from 0 to 1, so "0.5 0.5" is always the center of the VTF.
** UV coordinates : <code>"center"</code> and/or <code>"translate" "<0.0 - 1.0 U> <0.0 - 1.0 V>"</code>
** UV angles : <code>"rotate" "<0 - 360>"</code>
** UV scale : <code>"scale" "<[[float]] U> <[[float]] V>"</code>


* A model's [[UV map]] or '''Texturemap''' is an index specifying which area of the relevant [[VTF]]s to apply to each specific polygon of the mesh. The UV map itself does not contain any pixel values (colour, etc), it only indexes the mesh's XYZ vertices to corresponding texture UV coordinates. Each UV map is therefore specific to a mesh rather than a texture file, and so it is stored as ''part of the mesh'' file. A mesh may only have one UV map, but it can use multiple or alternate skins, so long as the layout (coordinates) of each VTF skin corresponds to the Mesh's UV Map.


==See Also==
==See Also==

Revision as of 19:46, 27 April 2008

Stub

This article or section is a stub. You can help by expanding it.

A UV map is a part of an object's geometry. It defines which areas (using UV coordinates) of a 2D pixelmap(s) should be rendered on which polygonal surfaces (using XYZ coordinates) of a particular 3D mesh. A UV map does not contain any pixel data (eg color, etc). It is only a matrix relating 2D to 3D coordinates.

In Source, the object's UV map takes the name of a Material (VMT) file and reads the pixel data from the same UV area of each VTF in the texture stack. Thus one UV map imports data from the colormap, bumpmap, opacitymap, specularmap, etc as though they were one image (with enormous bitdepth!) Thus the object's Material can easily be changed without having to rebuild the UV map.

Note.pngNote:Models tend to have a more complex mesh than brushes, which makes UV mapping much more fiddly. Model VTFs therefore tend to be created specially to map easily and efficiently onto one specific model only. Models may use multiple (alternative) skins, so long as the layout of each VTF corresponds to the model's UV map.


UV Mapping, or Texture Mapping, is the process of aligning Polygons to Pixels.


See Also