Difference between revisions of "Texture atlas"
(more packing tools) |
EricChadwick (Talk | contribs) (→Tutorials: Tiling within subUV or pseudo-volume textures) |
||
(40 intermediate revisions by 4 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". | |
− | + | ||
− | + | ||
− | + | Atlases save texture fetches, which can help improve the [[FPS|frame rate]]. | |
− | * [http://www.polycount.com/forum/showthread.php?t= | + | |
− | * [http://www.polycount.com/forum/showthread.php?t=79374 UV tiling tricks within 0 to 1 space] from the Polycount forum | + | 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__ | ||
+ | |||
+ | == 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 [[ChannelPacking|channel packing]]). The two methods are not exclusive, they can also be used together in the same bitmap. | ||
+ | |||
+ | {| cellpadding="2" cellspacing="0" | ||
+ | | [[Image:Stefan-Morrell_modular-texture.jpg|thumb|300px|An atlas of sub-maps.<br/>Image by [http://stefan-morrell.cgsociety.org/gallery/ Stefan Morrell].]] | ||
+ | | [[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 == | ||
+ | * 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-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-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-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-01 [http://www.digitaltutors.com/tutorial/688-Multi-Tile-Texture-Workflows Digital-Tutors: Multi-Tile Texture Workflows Tutorial] ($) - by Justin Marshall / Digital Tutors, using UV organization to assign multiple textures to a single character, and how it works in various 3D apps. | ||
+ | * 2011-10-19 [http://www.polycount.com/forum/showthread.php?t=90092 UDK - Material - Multi-UV Changes] - more UDK techniques for sub-tiles. | ||
+ | * 2011-10-09 [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick], an exercise in extreme texture [[ChannelPacking|channel packing]], packing multiple maps into the four channels of a texture file. | ||
+ | * 2011-09-26 [http://mtnphil.wordpress.com/2011/09/26/terrain-texture-atlas-construction/ Terrain texture atlas construction] - how to properly compile sub-tiles into a large texture sheet. | ||
+ | * 2010-12-20 [http://www.polycount.com/forum/showthread.php?t=79374 UV tiling tricks within 0 to 1 space] from the Polycount forum | ||
+ | * 2010-12-17 [https://www.3dmotive.com/f101001 Modular Building Workflow] - ($) a 3dmotive tutorial by [http://www.tylerwanlass.com/ Tyler Wanlass], covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK. | ||
+ | * 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-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://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-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/tutorials/thirding-textures-tip.html Thirding - Utilizing your texture space for environment work] - by [http://poopinmymouth.com/ Ben 'poopinmymouth' Mathis] | ||
== Gutters == | == Gutters == | ||
− | When a game model is textured using a single texture sheet, the texture will have typically have UV'd areas ([[ | + | When a game model is textured using a single texture sheet, the texture will have typically have UV'd areas ([[Texture Coordinates|UV shells]]) and blank areas between them (gutters). |
− | The width of the gutter needs to be wide enough to accommodate how much | + | 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|texture filtering]] type used by the game renderer. |
== Packing Tools == | == Packing Tools == | ||
− | * [http://www.polycount.com/forum/showthread.php?t=80723 Decent UV Packing Script/Tool?] thread on the Polycount forum | + | *2015-05-17 [https://vimeo.com/126382588 Easy Atlas] uses Photoshop and Maya. |
+ | *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 21: | Line 56: | ||
* [http://www.scriptspot.com/3ds-max/scripts/texture-atlas-generator Texture Atlas Generator] script for 3ds Max (creates an atlas by slicing up the mesh) | * [http://www.scriptspot.com/3ds-max/scripts/texture-atlas-generator Texture Atlas Generator] script for 3ds Max (creates an atlas by slicing up the mesh) | ||
* [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 | ||
+ | |||
+ | == More Info == | ||
+ | * [[ChannelPacking]] | ||
+ | * [[Modular_environments]] | ||
+ | * [[MultiTexture]] | ||
+ | * [[TextureCoordinates]] | ||
---- | ---- | ||
− | [[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.
= Tutorials
- 2016-10-07 Tiling within subUV or pseudo-volume textures - by Ryan Brucks
- 2015-06-26 Substance Designer: Creating a texture atlas - by Wes McDermott
- 2013-04-08 How to create UE3/UDK Texture Atlases (tileable) - by 'mAlkAv!An', using a custom HLSL node to apply separate UVs for texturing vs. mipmapping.
- 2013-04-02 UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets
- 2013-04-02 UDK - how to solve 'frac' artifacts and mipmapping seams - how to implement sub-tiles in UDK, and solve seams.
- 2013-03-13 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 channel packing.
- 2012-06-07 The Desert(What can you do with no diffuse maps?) Polycount forum thread. Vertex blending using multiple channel packed modulation textures, in UDK. See also Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind "procedural" texturing, with practical examples on today's tech by Andrew 'd1ver' Maximov.
- 2012-05-28 UDK The Dunes Polycount Forum thread. Using two 256x256 textures to texture an entire scene, one as a normal map and the other channel packed to store four textures.
- 2012-05-01 Digital-Tutors: Multi-Tile Texture Workflows Tutorial ($) - by Justin Marshall / Digital Tutors, using UV organization to assign multiple textures to a single character, and how it works in various 3D apps.
- 2011-10-19 UDK - Material - Multi-UV Changes - more UDK techniques for sub-tiles.
- 2011-10-09 An exercise in modular textures - Scifi lab UDK - by Tor 'Snefer' Frick, an exercise in extreme texture channel packing, packing multiple maps into the four channels of a texture file.
- 2011-09-26 Terrain texture atlas construction - how to properly compile sub-tiles into a large texture sheet.
- 2010-12-20 UV tiling tricks within 0 to 1 space from the Polycount forum
- 2010-12-17 Modular Building Workflow - ($) a 3dmotive tutorial by Tyler Wanlass, covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK.
- 2010-11-08 Work-flow for large texture atlases from the Polycount forum
- 2010-06-27 Working with Modular Sets - by Philip 'PhilipK' Klevestav, how to design and texture modular sci-fi wall panels.
- 2010-03-25 Visually Appealing Building Guide - by Christopher Albeluhn, an excellent breakdown of how to create visual interest with game buildings. Additional tutorials here.
- 2008-06-26 Mod Facade Challenge - by Joe 'EarthQuake' Wilson, breaking up a building into modular pieces and designing the texture sheet.
- 2006-11-08 Creating tiling textures in 3dsmax - by Chris 'cholden' Holden
- 2006-01-26 Practical Texture Atlases on Gamasutra by Ivan-Assen Ivanov
- 2005-12-20 Thirding - Utilizing your texture space for environment work - by Ben 'poopinmymouth' Mathis
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
- 2015-05-17 Easy Atlas uses Photoshop and Maya.
- 2014-09-25 MapToAtlas 3ds Max script by Juan "monster" Martinez
- Decent UV Packing Script/Tool? thread on the Polycount forum
- Headus UVLayout ($)
- UV Master script for ZBrush
- TexTools script for 3ds Max
- Xrayunwrap ($) script for 3ds Max
- Texture Atlas Generator script for 3ds Max (creates an atlas by slicing up the mesh)
- Normalize UVs Maxscript for 3ds Max
- Texture Atlas Tools by Nvidia