Difference between revisions of "Texture Coordinates"

From polycount
Jump to: navigation, search
(UV Tutorials)
(UV Tutorials: fixing urls)
Line 42: Line 42:
 
* [http://polycount.com/discussion/comment/2287027/#Comment_2287027 Seamless UVs for baking procedural textures in 3ds Max] by [http://www.hedfiles.net/ Howard Day].
 
* [http://polycount.com/discussion/comment/2287027/#Comment_2287027 Seamless UVs for baking procedural textures in 3ds Max] by [http://www.hedfiles.net/ Howard Day].
 
* [http://polycount.com/discussion/85675/uv-unwrapping-best-practice-factors-priorities UV Unwrapping Best Practice Factors & Priorities] Polycount Forum thread.
 
* [http://polycount.com/discussion/85675/uv-unwrapping-best-practice-factors-priorities UV Unwrapping Best Practice Factors & Priorities] Polycount Forum thread.
* [http://www.polycount.com/forum/showthread.php?t=134749 3DS Max - UVing complex objects] Polycount Forum thread, UVs for complex cylindrical-shaped meshes.
+
* [http://polycount.com/discussion/134749/3ds-max-uving-complex-objects/p1 3DS Max - UVing complex objects] Polycount Forum thread, UVs for complex cylindrical-shaped meshes.
* [http://www.polycount.com/forum/showthread.php?t=133646 Best techniques for packing UV’s] Polycount Forum thread.
+
* [http://polycount.com/discussion/133646/best-techniques-for-packing-uv%C2%92s/p1 Best techniques for packing UV’s] Polycount Forum thread.
* [http://cg.tutsplus.com/sessions/an-introduction-to-uvmapping-in-3d-studio-max/ An Introduction To UVMapping In 3d Studio Max] by Ben Tate.
+
* [http://cgi.tutsplus.com/series/an-introduction-to-uvmapping-in-3d-studio-max--cg-30940 An Introduction To UVMapping In 3d Studio Max] by Ben Tate.
* [http://boards.polycount.net/showthread.php?t=70378 UV Theory] Polycount forum thread, how to plan good UVs.
+
* [http://polycount.com/discussion/70378/uv-theory/p1 UV Theory] Polycount forum thread, how to plan good UVs.
* [http://www.polycount.com/forum/showthread.php?t=80947 As it turns out, we all suck at unwrapping?] Polycount forum thread.
+
* [http://polycount.com/discussion/80947/as-it-turns-out-we-all-suck-at-unwrapping/p1 As it turns out, we all suck at unwrapping?] Polycount forum thread.
* [http://www.game-artist.net/forums/support-tech-discussion/182-step-step-techniques-tiling-textures-3ds-max.html Step-by-Step Techniques for Tiling Textures in 3ds Max] - by Chris Holden, how to make [[TextureAtlas|texture atlases]].
+
* [http://www.game-artist.net/forums/showthread.php?t=182 Step-by-Step Techniques for Tiling Textures in 3ds Max] - by Chris Holden, how to make [[TextureAtlas]]es.
* [http://www.polycount.com/forum/showthread.php?t=82546 Organic rock UV seams] Polycount forum thread, how to create good UVs for spheroids.
+
* [http://polycount.com/discussion/82546/organic-rock-uv-seams/p1 Organic rock UV seams] Polycount forum thread, how to create good UVs for spheroids.
* [http://boards.polycount.net/showthread.php?t=69961 Unwrapping a sphere] Polycount forum thread, good methods for UVing spheres. For sphere modeling tips see [[SphereTopology]].
+
* [http://polycount.com/discussion/69961/unwrapping-a-sphere/p1 Unwrapping a sphere] Polycount forum thread, good methods for UVing spheres. For sphere modeling tips see [[SphereTopology]].
 
* [[FirstPersonWeaponUV|First-Person Weapon UVs]] by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], good weapon UVs.
 
* [[FirstPersonWeaponUV|First-Person Weapon UVs]] by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], good weapon UVs.
 
* [http://www.cgsharpe.com/?p=55 Maya / Mudbox: Street Cop Workflow] by [http://www.fx81.com/ Mashru Mishu], good character UVs.  
 
* [http://www.cgsharpe.com/?p=55 Maya / Mudbox: Street Cop Workflow] by [http://www.fx81.com/ Mashru Mishu], good character UVs.  
* [http://boards.polycount.net/showthread.php?t=69286 uv + turbosmooth= big problem] Polycount forum thread, how to prevent 3ds Max subdivision from distorting UVs. A similar thread: [http://boards.polycount.net/showthread.php?t=72686 Best way to approach unwrapping UVWs with Meshsmooth?].
+
* [http://www.polycount.com/forum/showthread.php?t=69286 uv + turbosmooth= big problem] Polycount forum thread, how to prevent 3ds Max subdivision from distorting UVs. A similar thread: [http://www.polycount.com/forum/showthread.php?t=72686 Best way to approach unwrapping UVWs with Meshsmooth?].
 
* [http://www.polycount.com/forum/showthread.php?t=80898 What's an 8-sided tiled texture ?] Polycount forum thread, how to edit textures so you can rotate and mirror them on adjacent polygons without seams.
 
* [http://www.polycount.com/forum/showthread.php?t=80898 What's an 8-sided tiled texture ?] Polycount forum thread, how to edit textures so you can rotate and mirror them on adjacent polygons without seams.
 
* [[Light map#Light_Map_Texture_Coordinates]]
 
* [[Light map#Light_Map_Texture_Coordinates]]

Revision as of 09:55, 11 July 2016

Texture coordinates, also called UVs, are pairs of numbers stored in the vertices of a mesh.

These numbers are often used to stretch a 2D texture onto a 3D mesh, but they can be used for other things like coloring the mesh (see Vertex color), controlling the flow across the surface (see Flow map), etc.

Game engines commonly use two texture coordinates, U and V, for mapping the width and height of a texture. A third axis W can also be used for depth if you are using a 3D volume texture, but usually this coordinate is removed for efficiency.

Texture coordinates are measured in a scale of 0.0 to 1.0, with 0.0 and 1.0 at opposite sides of the texture. When a model has a UV distance greater than 1 (for example, UV goes from -1 to 2) then the texture will tile across the model.

These numbers are usually hidden from the artist, replaced by helpful visual representations of how the textures are projected. Planes, cylinders and spheres help the artist align the textures in a visual way, but it helps to know that games only see the UV numbers that these shapes create.

UV Address Modes

Opengl clamping.png

Image by Open.GL.

There are four common methods for controlling how a texture is rendered when the UVs go beyond the 0-1 square. These methods can be chosen with a Shader.

  • Repeat or Wrap is usually the default. The texture will tile.
  • Mirror causes the texture to be flipped along each edge. Mirror has a tendency to create Rorschach/butterfly artifacts, but can be useful in certain situations like fences or railings.
  • Clamp causes the edge pixels to stretch outwards beyond the edges of the texture. Clamp is great for use with Cubemaps, since when the texture is filtered you don't want seams to appear along the edges of each cube face.
  • Border causes a solid color to appear outside the edge of the texture. Border is good for use with Decals, since you don't want the edges to tile and cause rendering seams.


UDIM is another address method, not used in games. UDIM allows multiple textures to be used by a single model, by offsetting the textures in whole units across UV space. UDIM is useful for texturing in television and film to increase the number of textures per model in a logical and uniform way.

UV Tutorials

Skankerzero uv mapping thoughts p1of4.png
Skankerzero uv mapping thoughts p2of4.png
Skankerzero uv mapping thoughts p3of4.png
Skankerzero uv mapping thoughts p4of4.png
UV mapping thought process. Images by Jesse "skankerzero" Sosa.
An automated UV projection network in Maya.
Image by Paul "prolow" Lohman.
How to edit multiple UV channels in 3ds Max.
Image by Carlos "cman2k" Montero.

UV Tools

Standalone

A standalone tool is one which is not directly integrated into another 3D package.

IPackThat by "[PB]Snoelk"

UVLayout by Headus

3ds Max

Maya

Softimage / XSI

UV Map Grids

The grid is a texture to use while unwrapping a mesh. Sometimes called a custom UV map template, a UV checker, or a test grid.

Good things to have in a UV map grid:

  • A large checker grid to see large distortions.
  • A fine per-pixel grid to see small distortions.
  • Circles help with solving distortion, as it's easier for the human eye to see when a circle is distorted than a square.
  • Unique colors across the map, to see where the UV is tiling.
  • Letters and/or numbers to see when the UV is reversed.
  • Letters and/or numbers to see where a mesh feature is located in UV space.
Uvrefmap blackwhite.jpg
Uvrefmap blender.jpg
Uvrefmap checker green.gif
Uvrefmap checker util-mark.jpg
Uvrefmap checkeredmap.jpg
Uvrefmap circles.jpg
Uvrefmap circles letters.jpg
Uvrefmap circles noise.jpg
Uvrefmap circlesgreen noise.jpg
Uvrefmap circlessquares.jpg
Uvrefmap grid large.jpg
Uvrefmap grid small.jpg
Uvrefmap HarlequiN grid.jpg
Uvrefmap nvidia greengrid.jpg
Uvrefmap util-mark1.jpg

Personal tools
Namespaces

Variants
Actions
Navigation
Tools