Difference between revisions of "Texture atlas"

From polycount
Jump to: navigation, search
(moved "Sub Tiles" section from MultiTexture and added to Tutorials here, and made a better summary)
(Tutorials: Tiling within subUV or pseudo-volume textures)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
A Texture Atlas describes the method of packing many separate textures together into a single texture. Other common names for this are "decal sheet", "packed texture".
 
A Texture Atlas describes the method of packing many separate textures together into a single texture. Other common names for this are "decal sheet", "packed texture".
  
Each of the textures can be [[Tiling|tiled]] with themselves, just like a regular tiling texture. The textures are cropped out of the atlas using a [[Shaders|shader]]. This saves texture fetches, at the expense of increasing shader instructions.
+
Atlases save texture fetches, which can help improve the [[FPS|frame rate]].
 +
 
 +
Each of the textures can be [[Tiling|tiled]] with themselves, just like a regular tiling texture.  
 +
 
 +
The textures can either be cropped out of the atlas by adding more edges to the model and cutting up the [[Texture Coordinates|texture coordinates]] (at the expense of increasing the [[Polygon_Count#Triangle_Count_vs._Vertex_Count|vertex count]]), or the textures can be arranged as [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets sub-tiles] and cropped out using a [[Shaders|shader]] (at the expense of increasing the shader instructions).
  
 
__TOC__
 
__TOC__
  
 
== Atlas Methods ==
 
== Atlas Methods ==
There are two common atlas methods: one divides a single bitmap into multiple sub-maps (this is usually what artists mean when they say "atlas"), the other method packs different grayscale maps into each color channel (this can be called [[ChannelPacking|channel packing]]). The two methods are not exclusive, they can also be used together in the same bitmap.
+
There are two common atlas methods: one divides a single bitmap into multiple sub-maps (this is usually what artists mean when they say "atlas"), the other method packs different grayscale maps into each color channel (this can be called a multimap or [[ChannelPacking|channel packing]]). The two methods are not exclusive, they can also be used together in the same bitmap.
  
 
{| cellpadding="2" cellspacing="0"
 
{| cellpadding="2" cellspacing="0"
| [[File:Stefan-Morrell_modular-texture.jpg|thumb|An atlas of sub-maps.<br/>Image by [http://stefan-morrell.cgsociety.org/gallery/ Stefan Morrell].]]
+
| [[Image:Stefan-Morrell_modular-texture.jpg|thumb|300px|An atlas of sub-maps.<br/>Image by [http://stefan-morrell.cgsociety.org/gallery/ Stefan Morrell].]]
| [[File:SneferTileExplain.jpg|thumb|Channel packing, and sub-maps, in the same texture.<br/>Image by [http://www.torfrick.com/ Tor "Snefer" Frick].]]
+
| [[Image:SneferTileExplain.jpg|thumb|200px|Channel packing and sub-maps, in the same texture layout.<br/>Image by [http://www.torfrick.com/ Tor "Snefer" Frick].]]
 
|-
 
|-
 
|}
 
|}
  
== Tutorials ==
+
=== Tutorials ==
 +
* 2016-10-07 [https://shaderbits.com/blog/tiling-within-subuv-or-volume-textures Tiling within subUV or pseudo-volume textures] - by [https://shaderbits.com/ Ryan Brucks]
 +
* 2015-06-26 [https://forum.allegorithmic.com/index.php?topic=5840.0 Substance Designer: Creating a texture atlas] - by [https://www.artstation.com/wesmcdermott Wes McDermott]
 
* 2013-04-08 [http://oliverm-h.blogspot.com/2013/04/how-to-create-ue3udk-texture-atlases.html How to create UE3/UDK Texture Atlases (tileable)] - by [http://oliverm-h.blogspot.com/ 'mAlkAv!An'], using a custom HLSL node to apply separate UVs for texturing vs. mipmapping.
 
* 2013-04-08 [http://oliverm-h.blogspot.com/2013/04/how-to-create-ue3udk-texture-atlases.html How to create UE3/UDK Texture Atlases (tileable)] - by [http://oliverm-h.blogspot.com/ 'mAlkAv!An'], using a custom HLSL node to apply separate UVs for texturing vs. mipmapping.
 
* 2013-04-02 [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets]
 
* 2013-04-02 [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets]
 
* 2013-04-02 [http://forums.epicgames.com/threads/710560-The-WIP-Thread?p=31189949&viewfull=1#post31189949 UDK - how to solve 'frac' artifacts and mipmapping seams] - how to implement sub-tiles in UDK, and solve seams.
 
* 2013-04-02 [http://forums.epicgames.com/threads/710560-The-WIP-Thread?p=31189949&viewfull=1#post31189949 UDK - how to solve 'frac' artifacts and mipmapping seams] - how to implement sub-tiles in UDK, and solve seams.
* 2013-03-13 [http://www.georgesokol.blogspot.com/2013/03/pro-tip-easy-way-to-work-with-seperate.html An easy way to work with separate channels in a "combined texture"] - by [ George "gsokol" Sokol], using Photoshop's Layer Style to improve the texture editing process for [[ChannelPacking|channel packing]].
+
* 2013-03-13 [http://www.georgesokol.blogspot.com/2013/03/pro-tip-easy-way-to-work-with-seperate.html An easy way to work with separate channels in a "combined texture"] - by [http://www.georgesokol.blogspot.com George "gsokol" Sokol], using Photoshop's Layer Style to improve the texture editing process for [[ChannelPacking|channel packing]].
 
* 2012-06-07 [http://www.polycount.com/forum/showthread.php?t=100388 The Desert(What can you do with no diffuse maps?)] Polycount forum thread. Vertex blending using multiple [[ChannelPacking|channel packed]] modulation textures, in UDK. See also [http://artisaverb.info/DitchingDiffuse.html Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind "procedural" texturing, with practical examples on today's tech] by [http://artisaverb.info/ Andrew 'd1ver' Maximov].
 
* 2012-06-07 [http://www.polycount.com/forum/showthread.php?t=100388 The Desert(What can you do with no diffuse maps?)] Polycount forum thread. Vertex blending using multiple [[ChannelPacking|channel packed]] modulation textures, in UDK. See also [http://artisaverb.info/DitchingDiffuse.html Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind "procedural" texturing, with practical examples on today's tech] by [http://artisaverb.info/ Andrew 'd1ver' Maximov].
 
* 2012-05-28 [http://www.polycount.com/forum/showthread.php?p=1595258#post1595258 UDK The Dunes] Polycount Forum thread. Using two 256x256 textures to texture an entire scene, one as a normal map and the other [[ChannelPacking|channel packed]] to store four textures.
 
* 2012-05-28 [http://www.polycount.com/forum/showthread.php?p=1595258#post1595258 UDK The Dunes] Polycount Forum thread. Using two 256x256 textures to texture an entire scene, one as a normal map and the other [[ChannelPacking|channel packed]] to store four textures.
Line 29: Line 35:
 
* 2010-11-08 [http://www.polycount.com/forum/showthread.php?t=78192 Work-flow for large texture atlases] from the Polycount forum
 
* 2010-11-08 [http://www.polycount.com/forum/showthread.php?t=78192 Work-flow for large texture atlases] from the Polycount forum
 
* 2010-06-27 [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip 'PhilipK' Klevestav], how to design and texture modular sci-fi wall panels.
 
* 2010-06-27 [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip 'PhilipK' Klevestav], how to design and texture modular sci-fi wall panels.
* 2010-03-25 [http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn], an excellent breakdown of how to create visual interest with game buildings. [http://www.chrisalbeluhn.com/3D_Tutorials.html Additional tutorials here].
+
* 2010-03-25 [https://www.chrisalbeluhn.com/visually-appealing-building-guide Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn], an excellent breakdown of how to create visual interest with game buildings. [https://www.chrisalbeluhn.com/tutorials/ Additional tutorials here].
* 2008-06-26 [http://boards.polycount.net/showthread.php?t=54178 Mod Facade Challenge] - by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], breaking up a building into modular pieces and designing the texture sheet.
+
* 2008-06-26 [http://polycount.com/discussion/54178 Mod Facade Challenge] - by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], breaking up a building into modular pieces and designing the texture sheet.
 
* 2006-11-08 [http://www.game-artist.net/forums/tutorials/182-step-step-techniques-tiling-textures-3ds-max.html Creating tiling textures in 3dsmax] - by [http://chrisholden.net/ Chris 'cholden' Holden]
 
* 2006-11-08 [http://www.game-artist.net/forums/tutorials/182-step-step-techniques-tiling-textures-3ds-max.html Creating tiling textures in 3dsmax] - by [http://chrisholden.net/ Chris 'cholden' Holden]
 
* 2006-01-26 [http://www.gamasutra.com/view/feature/2530/practical_texture_atlases.php Practical Texture Atlases] on Gamasutra by [http://www.haemimontgames.com/company/keypeople.html Ivan-Assen Ivanov]
 
* 2006-01-26 [http://www.gamasutra.com/view/feature/2530/practical_texture_atlases.php Practical Texture Atlases] on Gamasutra by [http://www.haemimontgames.com/company/keypeople.html Ivan-Assen Ivanov]
* 2005-12-20 [http://poopinmymouth.com/process/tips/thirding.jpg Thirding - Utilizing your texture space for environment work] - by [http://poopinmymouth.com/ Ben 'poopinmymouth' Mathis]
+
* 2005-12-20 [http://poopinmymouth.com/tutorials/thirding-textures-tip.html Thirding - Utilizing your texture space for environment work] - by [http://poopinmymouth.com/ Ben 'poopinmymouth' Mathis]
 
+
== More Info ==
+
* [[MultiTexture]]
+
* [[:Category:EnvironmentModularity]] has info about designing modular textures and assets.
+
* [[TextureCoordinates]] talks about planning your UV layout.
+
* [[Light map]] has information about packing UVs.
+
  
 
== Gutters ==
 
== Gutters ==
Line 47: Line 47:
  
 
== Packing Tools ==
 
== Packing Tools ==
* [http://www.polycount.com/forum/showthread.php?t=140325 3ds Max - Texture Atlas script help] thread on the Polycount forum.
+
*2015-05-17 [https://vimeo.com/126382588 Easy Atlas] uses Photoshop and Maya.
* [http://www.polycount.com/forum/showthread.php?t=80723 Decent UV Packing Script/Tool?] thread on the Polycount forum.
+
*2014-09-25 [http://www.polycount.com/forum/showthread.php?p=2143621#post2143621 MapToAtlas] 3ds Max script by [http://www.juantwo.com/ Juan "monster" Martinez]
 +
* [http://www.polycount.com/forum/showthread.php?t=80723 Decent UV Packing Script/Tool?] thread on the Polycount forum
 
* [http://www.uvlayout.com/index.php?option=com_wrapper&Itemid=98 Headus UVLayout] ($)  
 
* [http://www.uvlayout.com/index.php?option=com_wrapper&Itemid=98 Headus UVLayout] ($)  
 
* [http://www.pixologic.com/zbrush/features/UV-Master/ UV Master] script for ZBrush
 
* [http://www.pixologic.com/zbrush/features/UV-Master/ UV Master] script for ZBrush
Line 56: Line 57:
 
* [http://boards.polycount.net/showthread.php?t=52415 Normalize UVs Maxscript] for 3ds Max
 
* [http://boards.polycount.net/showthread.php?t=52415 Normalize UVs Maxscript] for 3ds Max
 
* [http://developer.nvidia.com/object/texture_atlas_tools.html Texture Atlas Tools] by Nvidia
 
* [http://developer.nvidia.com/object/texture_atlas_tools.html Texture Atlas Tools] by Nvidia
 +
 +
== More Info ==
 +
* [[ChannelPacking]]
 +
* [[Modular_environments]]
 +
* [[MultiTexture]]
 +
* [[TextureCoordinates]]
  
 
----
 
----
 
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]
 
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]

Latest revision as of 14:51, 21 June 2020

A Texture Atlas describes the method of packing many separate textures together into a single texture. Other common names for this are "decal sheet", "packed texture".

Atlases save texture fetches, which can help improve the frame rate.

Each of the textures can be tiled with themselves, just like a regular tiling texture.

The textures can either be cropped out of the atlas by adding more edges to the model and cutting up the texture coordinates (at the expense of increasing the vertex count), or the textures can be arranged as sub-tiles and cropped out using a shader (at the expense of increasing the shader instructions).

Atlas Methods

There are two common atlas methods: one divides a single bitmap into multiple sub-maps (this is usually what artists mean when they say "atlas"), the other method packs different grayscale maps into each color channel (this can be called a multimap or channel packing). The two methods are not exclusive, they can also be used together in the same bitmap.

An atlas of sub-maps.
Image by Stefan Morrell.
Channel packing and sub-maps, in the same texture layout.
Image by Tor "Snefer" Frick.

= Tutorials

Gutters

When a game model is textured using a single texture sheet, the texture will have typically have UV'd areas (UV shells) and blank areas between them (gutters).

The width of the gutter needs to be wide enough to accommodate how much EdgePadding you need. This varies depending on how large the texture is and the texture filtering type used by the game renderer.

Packing Tools

More Info


Personal tools
Namespaces

Variants
Actions
Navigation
Tools