TexTools for Blender

Hi guys, great awesome work on Textools.

Any chance we might get a stitch and align tools when an edge is selected?

I coded a stitch utility a few months ago but it needs polishing. I don’t know whether it would do what you are looking for, though.

Hi. I’m not the owner of the addon, no one posting here lately is really the creator -renderhjs-. I’m only working on it. I don’t know what to think about that. I can just say that I’ll continue inviting people to go to the TexTools-Blender github to check for updates, nowhere else. But nice on you to share your initiative, I suppose.

1 Like

oh ok! no problem! I will update the addon whenever possible to the latest version in BlenderAxom also, Hope its ok to share it there.

1 Like

that’s gonna get very hard to manage very quickly the best thing to do is to redirect the downloads to github, so you act more like an aggregator and then people who want to to sell on your platform can make there own store page.

You also wouldn’t need go around asking for permission because you would be hosting the link instead of the addon it self.

Yes it’s gonna get really hard to manage so many add-on. Your suggestions are really nice. I will try to add a new feature in BlenderAxom to link add-on with GitHub latest release.

Ok. Whenever you feel its polished enough for you to add it is fine.

Appreciate the work you guys are doing with Textools. Thank you.

1 Like

TEXTOOLS 1.4.4
new release

BAKING
More reliable routines.

  • Restructured code. Implemented a Try → Finally structure to prevent data loss in case of error during the bake process.
  • Avoided Circular Dependency when the image-to-bake-on is present in the blend file and used in the node tree of the materials that take part in the bake process. Two methods were used to take into account whether the image-to-bake-onto exists externally or only temporally inside the blend file.
  • Added option in preferences: “Device for baking” (CPU, GPU or Default)
  • Added option in preferences: global “Bake Color Space”.
  • Selection mode is now restored.
  • Certain bake modes can now be performed without a material in the baked object.
  • Baking can be now performed on the active object while in edit mode whether it is actually selected or not.
  • Support for certain bake modes that don’t need a Principled BSDF node for baking, like Diffuse of Roughness, to bake with any material Surface type.
  • Glossiness is working correctly now in all scenarios.
  • No more sloppy changes on baking-mode and UV editor image background when selecting an already baked texture from the list.
  • Removed use of “temp_sets”, duplicate baked objects materials to avoid restorations after relinks, discards.
  • Optimization when baking custom modes (modes using a “material_loaded”)
  • Faster and cleaner poll messages.
  • Remove and unlink material_empty and material_loaded when the bake of all sets is finished for no more hanging materials in the blend file after a bake. As a downside, they have to be created/imported every single time in certain scenarios (custom bake modes like material_id, cavity, etc, and lowpoly meshes in high-to-low bakes that wouldn’t have a material). It’s fast, though.
  • Bake mode “Element ID” no longer delivers repeated colors when baking multiple objects.
  • Added samples property to “Combined”.

Last planned baking modes.

  • Bake modes added: Thickness, Combined, Shadow, Environment and UV.
    Thickness baking was originally coded and illustrated by renderhjs, credits to him.
    The other added baking modes were already included with Blender and were lacking in the addon until today.

Extended controls in baking.

  • SSS Color, Sheen, Sheen Tint, Transmission and Alpha affect Diffuse, and it would continue being like this for the sake of energy preservation. Base Color and SSS color bakes are no longer affected by this situations.
  • Alpha value has been affecting all non-custom, PBR bake modes, except AO. Even itself. Now, there is an option in the addon Preferences to ignore the Alpha value when baking (except for Diffuse), and it’s no longer affecting itself.
  • Emission bake was affected by the Emission Strength, while both could render in values beyond 1. There is a new option in the addon Preferences, “Ignore Emission Strength when baking Emission”, set to True by default. To take advantage of the previous situation, unset that preference and save the baked image in a file format without dinamic range clamping like EXR.
  • The Transmission bake is affected by the Base Color, the Metallic and others. If you want to avoid this, uncheck the new “Ignore other channels when baking Transmission” option in the preferences (Alpha would still affect it if “Ignore Alpha when baking other modes” is unchecked); this has the downside of requiring all materials in the bake to have a Principled BSDF Surface type.

TEXEL DENSITY

  • Added enum to select the Texture Dimensions to consider when getting or setting the Texel Density value: from an image present in a material for each object (default), a specified baking resolution (TexTools tab > Size), or from a list of common sizes.
  • Texel Density was working on the mesh selected faces, but it should be working by design in the UV selected faces. From now, when getting → setting the texel density over a single selected UV face/island, it would work as expected: its size will stay unchanged in any context.
  • For anyone used to the previous behaviour of the tool: it works as before if UV Sync Selection is enabled.
  • Texel Density Get and Set in Object Mode will continue to behave as before, operating over all faces of every selected object.
  • The total area of every face is now calculated for better accuracy, and not only a random triangle per face, that could be heavily distorted or have zero area and thus make the script fail.

COLOR ID
Vertex Colors mode.

  • Added mode in Color ID to directly assign ID Colors as Vertex Colors to objects or selected faces.
  • Existing Vertex Colors layers will be respected from now, as a layer named “TexTools” would be created when using Color ID utilities “Assign Vertex Colors” or “Convert to Vertex Colors”, and it would be the one deleted when using Color ID Clean.
  • Smarter automatic changing of context (view and active panels) when switching modes within Color ID.
  • Don’t automatically delete colored materials when converting to Vertex Colors.
  • Fix label in Color Select.

EDGE PEEL

  • Fix error in Edge Peel if UV Sync is enabled.

50 Likes

Love it, thanks for the Vertex Color ID mode! Doesn’t sound like much, but I already used it on 3 assets and it’s such a smooth workflow now. Really appreciate it! :heart:

1 Like

Great job, @franMarz , with you Textools always alive… :sparkling_heart:

3 Likes

Hey I’m trying to automate baking, I currently have to mouse over the menu to get it to update, is there a way to update using python?

During the draw of the interface the bake sets ar retrieved, and a number of actions depend on that. Consider making your script do whatever you need to be done for your script to work that is now performed in the draw section of the bake panel and is not exclusively related to drawing (from line 1053 of the init) and continue shaping your script from there.

Thank you :smiley:

Hi,

I have a problem with TexTools 1.4.4 on Blender 2.93.1 (Windows 10). When I try to do an Element ID Map for three different textures, my map looks grey instead of three different colors, as in my picture below.

Here is how I do it:

  • I go in TexTools
  • I click on Element ID
  • I choose to 5 code
  • I choose to Convert from Materials
  • I click on Bake 1x
  • And I get the map below

Do you have any idea of what wrong I do?

Thank you,

1 Like

I think you would want to use Material ID for that. By the way, your UV faces are so slim and the bake resolution so low (512) that you’re seeing the default background color, that is, mid grey. Go out of Edit Mode to see something.

Road to TexTools 1.5
Now in master:
PERFORMANCE

lowpoly (65k faces), seconds

1.4.4. master % faster
Rectify 13.63 1.47 827%
Straight 5.48 4.89* 12%*
Edge Peel 10.86 5.84 86%
Select Bounds 189.1 0.13 151200%
Create UV Mesh (16k) 473.9 0.09 504000%
Align World 96.25 2.18 4325%
Randomize (16k) 76.13 0.52 14650%
Align Sort 9.27 1.86 400%
Texel Density get 0.42 0.22 90%
Texel Density set 1.14 0.36 217%
Color from elements 17.08 0.13 13600%

highpoly (525k faces), seconds

1.4.4. master % faster
Rectify 212 7.37 2777%
Straight 53.9 36.8* 47%*
Select Bounds 3139 0.60 523000%
Create UV Mesh >33300 3.66 >909000%
Align World 1547 8.83 17425%
Randomize 1318 2.13 61950%
Select Similar 2298 2.03 113100%
Align Sort 495.7 14.5 3326%
Texel Density get 3.25 1.71 90%
Texel Density set 588.2 2.94 19930%
Color from elements 1690 0.98 171650%

*around 96% of the time spent by the builtin unwrap

Basically it should be possible now to use any utility of this addon with high-poly meshes.

Besides, the 3dn_bip library was implemented in a previous commit for loading the addon icons faster.

If you don’t want to wait for the release,
download it here, under Code > Download ZIP:

41 Likes

Just insane, the efficiency skyrocketed in every sense. Thank you so much

1 Like

It’s incredible, how it can be possible? Can you detail a little? PY to C?

2 Likes

Thank you for your comments. It was not black magic. I started improving some shared functions used by most modules like a month and a half ago. They turned out not to be very efficiently coded by the original author. The general structure of the modules was somehow ok though. You can check all the changes here:

And a recap of the most commonly used strategies, always inside Python, are detailed in the project for 1.5, in the following link:

23 Likes

Maybe this has been brought up before, but why does the Tangent Bevel bake only allow for a radius between 0 and 1? This should be in scene units after all.

EDIT: Damn, furthermore anything I bake with only a single object is empty anyway. No bevels visible, AO is black, as is wireframe, cavity, etc.