TexTools is a Free addon for Blender 3D with a set of professional UV and Texturing tools. Back in 2009 I released the Original TexTools for 3dsMax which has been very popular with many veteran realtime 3D artists.

Download Blender_TexTools_1.3.0.zip Find older releases in the release log Requirements Blender 2.79 for Windows, Mac or Linux. Tip: Use nightly 2.79 builds for additional bevel based baking modes. Installation Open User Preferences

Select the Add-ons tab and press Install Addon and Select the zip file

Enable the TexTools Addon TexTools can be found the UV/Image tool panel

General Panel

Size & Padding Set the texture size in pixels for baking and checker maps. Use the dropdown menu to quickly assign common texture sizes. Pressing the eyedropper button will get the texture size from the selected object. Padding is used for UV margins and texture baking. Tip: Hold down Ctrl + scroll Mouse Wheel to quickly cycle through the sizes. Resize Opens a resize popup where you can extend or resize the UV layout canvas to either direction. Rather than scaling it will extend the UV area size while mainting the UV proportions. Note: The active background image in the UV/Image Editor will be resized to force a correct aspect ratio in the UV view. If no active background image is active a new one will be generated. UV Channel Cycle through existing UV channel via this dropdown menu. If no UV map exists a button to Add one will appear instead. The up and down arrow allow you to swap UV channels up or down. Reload Textures Reload all textures in the current blend file and removes unsued ones. Note: Blender only fully removes unused items the next time you open the file, press Ctrl + Shift + O to quickly re-open your blend file and clear unsused items. Checker Map Assigns a checker map texture (blender render) or material (cycles) to the objects. The assigned checker map matches the width and height of the size inspector. When a checker map is assigned it changes the view to texture mode. Tip: Assign a checker map again and the checker map will change from UV Grid to Color Grid to Gravity Checker to None

UV Layout

These UV layout tools are used to unwrap or transform your UV layout. Note: most of UV Layout tools are not designed for the UV sync mode, once active a 'Disable Sync' button appears so you can disable it.

Crop Crop the UV area to the bounds of selected UV faces. Additional padding will be added to borders. Fill Aligns the UV selection to the UV grid and then scales its width and height to fit within the UV 0 - 1 area. Align Edge Aligns the UV island of the selected UV edge to the closest 90 degree angle. Tip: You can align mutliple UV islands by edge at once. Align World Rotates the UV island to match it's face's world orientation. The tool determines orientation for 6 direction thresholds (e.g top view, side views,,..). Align This tool has 4 directions to align UV islands or UV vertices to. In UV vertex mode Vert mode it Aligns selected UV verts to either side of the initial selection bounds. In the UV face mode selected UV islands are aligned to either side of the initial selection bounds. Rotate 90° Rotates the associated UV island 90 degrees left or right and aligns the island to the initial bounding box's top left or right. Sort & Align Sorts the selected UV islands by longest side and aligns them vertically or horizontally in a row. Straight Unfolds and Pins selected edge loops into straight lines and relaxes the rest of the UV island. Similar to Headus UV layout with its edge constraints. Rectify Align selected UVfaces or UV verts to rectangular distribution. Rectify is currently based on UVSquares by Reslav Hollos. Edge Peel Select an edge or edge loop and unwrap linked geometry to a rectified UV island. Works best with pipe shapes. Iron Faces Unwraps selected viewport faces Face mode into a single UV island. This approach can be quicker than marking edges for UV seams before unwrapping. Selection Tools Select Similar Selects similar UV islands based on the UV island input selection and matching UV Island topology. Select Overlap Collects all UV islands that overlap each other and select of each group all UV faces except for one island. Collects all UV islands that overlap each other and select of each group all UV facesexcept for one island. Select Island Bounds Selects the edge bounds of all UV Islands in the 3D view. Select Flipped Selects mirrored or flipped UV islands as face select mode. Selection Tools UV Smoothing Applies smoothing normals to the object except at the UV island edge bounds.This is often used for normal map baking so that the edges of UV islands bake nice. Texel Density Tools Texel Densities are used to apply the same size of pixels in 3D (texel) to the surface of your objects or selected faces. This is common for environment game assets or VR assets where texels require a consistent look. Texel Density Texel density is a value that describes how many pixels from a texture are visible per 1 unit or 1 meter. Get Density Calculates the Texel density of the selected objects or UV faces when in UV editor mode. Objects Samples the texel density of all selected Objects. Selected Faces Samples the texel density of selected faces. Apply Density Applies the Texel Density to the selected Objects or mesh faces by scaling the UV's. Objects Applies the texel density to the selected objects and all of their faces. Selected Faces Applies the texel density to selected mesh faces Select from the dropdown menu from 2 modes of scaling the UV's: Combined Scales the entire UV set to the top left corner as a whole. Islands UV's are scaled individually by each UV island at its center.

Texture Baking

To bake textures in TexTools just select your objects and press Bake. High low poly and cageobject pairs are detected via object names. You can bake just with a single objects, high poly to low poly or in addition that with a custom cage object.

Bake Bakes the current texture type with the current selected object set. Baked images will appear in UV/Image Editor. Note: Baked textures are not saved but require to be saved manually (F3 key in Image/UV editor) AA / Anti Alias Anti Aliasing level, choose from: None, 2x and 4x. When you enable Anti Aliasing the bake render is rendered at a scaled resulution and afterwards down scaled. Anti Aliasing works on any baking mode. Single Bakes selected objects into a single texture as opposed to one texture per set. It uses the name or ID from the first item in the baked image name. This options is useful for multi part objects that belong to the same texture. Preview Preview the current background image of the Image/UV Editor as a texture on the selected object. Tip: Normal maps (Tangent & Object space) are previewed in the viewport using normal mapping shading. Cycles as the renderer is required. Bake Mode Press the big thumnail button to change the current bake mode. Additional parameters are listed below the bake mode thumbnail.

Texture List

Once you bake a texture, this texture list will list baked textures. This list allows to quickly switch baking modes and textures of already baked items.

Context sensitive list This list appears as soon as you bake a texture map of the selected objects in the scene. This list is context senitive to your selected objects in the view and the textures you have baked. Select Selecting an item in the list will set the UV image background texture and change the baking mode. Open If a texture item has been saved to the hard drive this icon will appear. Pressing this open button will open the image file with your default system associated sofware, e.g. Photoshop.

Baking Modes

marked bake modes incorporate existing materials. Other materials are only affected by the geometry of the input objects.

Ray Distance When baking high to low poly objects adjust the Ray Distance to set the offset of rays baking to the surface. When using a cage object this distance will set the Cage Extrusion value. Read more in the Blender Baking manual.

Normal Maps Tangent Normal Bakes a normal map in tangent space. Note: You can change the Y direction of the normal map in the Addon Preferences. Tangent Normal Bevel Bakes a normal map in tangent space with beveled edges. Bevel Samples Number of samples (1 to 16). The higher the better but slower. Radius The radius of the bevel in scene units. Note: This mode requires a nighltly build of Blender as it uses the new bevel shader. Object Normal Bakes a normal map in object space. Tip: Use the green channel for vertical gradients. Object Normal Bevel Bakes a normal map in object space. with beveled edges. Bevel Samples Number of samples (1 to 16). The higher the better but slower. Radius The radius of the bevel in scene units. Note: This mode requires a nighltly build of Blender as it uses the new bevel shader. Mask & ID Maps Wireframe Bakes a black and white wireframe mask. Thickness The thickness of the wireframe in pixels. Face Selection Bakes a black and white mask of the the face selection of the object. This can be useful to generate quick masks for working with textures. Element ID Bakes a colored texture where each mesh element has a unique color. Use this map to isolate different parts of your model in the texture. Material ID Assigns a unique color to each sub material or material slot. Aging & Dirt AO Bakes an Ambient Occlusion map with the Cycles Render and normalized enabled. Samples The amount of global illunination samples. AO Legacy Bakes an Ambient Occlusion map with the Blender Render and normalized enabled. Rendering in the Blender Render with normalized enabled gives better results compared to Cycles. Samples The amount of global illunination samples. Note: Uses Blender Render and does not support cages. Paint Base Sometimes also referred to Blizzard or Dota diffuse map. This bake combines a dirt map with vertical gradient and top facing normals with a highlight. Credits to Danyl Bekhoucha for sharing his shader setup. This bake is a good starting point for character texture maps. Curvature Renders a tangent normal map and converts it to a curvature map using compositing nodes. Curvature The thickness of pixels of the curvature offset effect. Note: Curvature maps require a high and low poly object. Bevel Mask Bakes a mask using the new bevel shader. Edges are solved shader based and geometry independent. Bevel Samples Number of samples (1 to 16). The higher the better but slower. Radius The radius of the bevel in scene units. Note: This mode requires a nighltly build of Blender as it uses the new bevel shader. Cavity Assigns dirty vertex colors (convexity) to the source mesh and combines it with a 'pointiness' cycles render node. Note: This node depends on the topology of the model. Dust Dust is similar to the cavity map but adds additional Z top normals to the mix. Tip: Use this mask for dust and dirt masks in your texturing process. Miscellaneous Diffuse Renders the diffuse colors of all Cycles materials of the object. Tip: Color IDs should be rendered in this mode. Position Bakes a map with unique colors within the bounds of the object. Displacement Distance of the surface to the projection cage or offset. Distance maps can be used with displacement modifiers. Note: Uses Blender Render and does not support cages.

Bake Sets

A bake set is a set of objects that are used together to bake a texture or part of a texture. TexTools groups your scene selection automatically into bake sets based on their names, grouping or parenting.

Bake Sets This area displays the selected bake sets. Bake sets reflect your scene selection but are split by common names. Each bake set can contain 4 different type of objects. They are Low poly objects: when their name contains. Keywords: lowpoly, low, lp or l



Name example: scope or scope_low High poly objects: when they contain a Subdevision Surface modifier or when their name. Keywords: highpoly, high, hp or h



Name example: scope_h or scope.hp Floating geometry: Floating geometry is rendered in a seperate pass and overlayed on the rest. This allows to render AO without casting shadows. Keywords: floater, float or f



Name example: scope_float Cages are used to project rays from a custom mesh, this match needs to match the face and vertex count of the low poly object.. Keywords: cage or c



Name example: scope_c Tip: Expand the tool panel width to see the amount of objects for each type. Grouping objects Objects with a common name are grouped into a set but sometimes you want to treat multiple objects as part of a high poly object for example. You can detect objects together by parenting, grouping name them as sequence. Naming sequence Objects that are part of a name sequence e.g.: Cube, Cube.001, Cube.002, ... are grouped together. Essentially sequence numbers at the end of names are ignored. Assign groups When assigning a group to a set of objects that group name will drive the bake name set and all objects of that group are grouped together. Parenting objects Objects that are parented to a parent object ared grouped by that parent object name. Lock Selection Lock or unlock the current bake selection. When locked scene selection changes won't affect the baking list. This is great for tweaking meshes, cages or other settings while baking. Select by type Select from the baking sets all objects that match a critera such as Warning, Low, High or Cage objects. Tip: When bake sets are locked you can select scene objects here independently of the bake sets. Organize Matches selected high and low poly objects by their bounding box location and size. Matched high poly objects are renamed to match their low poly pairs. Only high poly objects are renamed to match the low poly names with the ' high' suffix at the end. Example: 'scope' and 'scope high' Explode Moves all selected bake pairs apart into 6 directions. Offsets are based on bounding boxes and offset to the center of the whole group. Margins are a 35% of the average side of all bounding boxes. Animation keyframes are added at 0 and 50 of each selected object to transition between the 2 states. Keyframes can be removed aftwards if not desired.

Color ID

Color ID's are a quick way to block out your model with a set of colors or face groups. Colors are global accross your blend file and can be adjusted at any time.

Tip: For baking use the Diffuse bake mode and setup the materials in the Cycles render mode.

Color templates Choose from a collection of color themes. Once selected this will replace your previous colors but maintain your material ID's. Tip: Hold down Ctrl and scroll the mouse wheel while hovering the dropdown UI element to quickly cycle between the values. Colors The amount of colors to display and use. Choose between 2 and 20. Clear Clears the multi material setup of the selected objects and materials from the scene. Export & Import Exports or Imports current colors as hex strings to your clipboard. Hex colors need to be comma seperated and use a #RRGGBB format Tip: Use the Color Highlight extension with Visual Studio Code to preview your colors in a text editor. Color Controls The main interface to assign and select colors on selected objects or faces in edit mode. Color Change the global color for this swatch. You can change colors before or after you assigned them. Assign Assigns the color to the selected Objects in object mode or selected faces in edit mode. Select Only in edit mode: Select faces by color. Tip: You can hover over color swatches in blender and press Ctrl + C and Ctrl + V to copy and paste within Blender. Convert From Mesh Elements Assigns a color ID to each mesh element. Materials Assigns a color ID to each material slot and assigned faces. Directions Assigns a color ID to face within 3, 4 or 6 face directions. 2 Directions Assigns 2 colors of: Top & Bottom, all Sides 3 Directions Assigns 3 colors of: Top & Bottom, Left & Right, Front & Back 4 Directions Assigns 4 colors of: Top, Left & Right, Front & Back, Bottom 6 Directions Assigns all 6 colors of 6 directions Convert To Texture Atlas Creates a single material with a texture atlas of each color. Each face's UV maps the color of the texture. This conversion is useful for realtime graphics such as Games or VR. Vertex Colors Assings vertex colors for each face Color ID. Materials are removed and the vertex paint mode will be enabled.

Mesh Texture

The Mesh Texture tools use shape keys to wrap between a UV shape and 3D Mesh shape. Combined with the Mesh Deform modifier we can wrap any mesh from UV space into 3D space.

UV Mesh Create a UV mesh from your active object with 2 shape keys: A UV map shaped mesh A mesh shape identical to the input 3D model. Tip: With the UV mesh selected you can transition back and forth using the transition slider. Trim to UV Trims the objects to the UV mesh within the object selection. This operator requires a UV mesh to be part of the selection. Collapses the trimmed mesh's modifiers. Wrap Wraps the selected meshes around the also selected uv mesh and binds it to a mesh deform modifier. Slider Slides UV mesh state between UV mesh shape and target mesh shape. This is the same as adjusting the shape key transition value in the mesh properties tab of blender. Create Pattern Creates a new mesh at the 3D cursor with multiple array modifiers to create a pattern. All of the array modifiers use relative offsets so you can edit the mesh in any size while preserving the pattern array. Type Type of the pattern to generate Size The size in steps of the array to repeat on the x and y axis Scale Thel scale of the pattern There are 6 patterns to choose from.

Preferences

You find these preferences in the Addon settings of Blenders Preferences (Ctrl + U) under the Addons tab and the TexTools item.

Swizzle Coordinates Direction of Y axis of the swizzle coordinates when baking tangent maps. Commonly referred to "flipping the green channel" in order to get a normal map to display correctly. Read more on the polycount wiki. Y+ OpenGL Commonly used in Blender, Maya, Modo, Toolbag, Unity Y- Direct X Commonly used in 3ds Max, CryENGINE, Source, Unreal Engine Image Depth Bakes images in either 8 bit or 32 bit. 8 Bit 8 bits per channel. 32 Bit 32 bits per channel. This is sometimes needed to avoid artifacts on normal maps (stains, compressions). Read this CGCookie guide to convert it back to 8 bit to use in game engines.

Developer Notes