I use mainly Substance Painter, but also Mixer and occasionally Mari.
For those who don’t know, there is actually a free (but slightly limited) version of Mari available:
For hand painted stuff, good old krita isn’t bad. It’s just as good (possibly better) than photoshop for painting, and you can get some pretty cool results with projection mapping.
A simple texture generation engine that defines a very small set of node types (shaders, buffers, node groups, image, text, switch…) that can be connected to describe procedural textures. The engine does not generate an image for each node, but combines shaders until it reaches a buffer node or the target Material node (textures described as combined shaders are resolution independent).
but also also as:
A painting engine that can paint albedo, roughness, metallic, emission, normal map, depth and ambient occlusion components of a 3D object’s material at the same time, use generated shaders as brushes and can map patterns on brush, screen or texture space. The painting tool supports multiple Paint, Procedural and Mask layers.
I usually try to minimize texturing by using PBR material assets where I got license, or use photogrammetry from real objects.
Sometimes, when I do texturing, I look reference images and model different materials calculating measured color specturum to RGB in ACEScg (as I use ACES workflow), I use ready high polygon mesh in object and break down layers like “base metal”, “oxidation”, “paint” and build node setup in… use AO to put some grease to holes and so on. I can do a lot using perlin noise and scaling so I try to reproduce references. Also I can add hand painted or decal element there too to some layers.
When I got procedural material right, I create a bit simplified polygon model and bake all work from high polygon mesh and procedural textures to PBR textures in desired resolution to that simplfied polygon model.