I’m using the GIMP to create textures for use in Blender, but the workflow is very awkward. My current workflow is this:
- Make a change to the texture.xcf in GIMP.
- Save the changed XCF file.
- “Save A Copy…” to make a flattened texture.png file.
- Reload texture.png in Blender and view the changes in 3D.
- Repeat from #1.
The real problem is step #3, because I have to click through several dialog windows (e.g. select file to export to, confirm flatten image layers, set PNG options) each time. Clicking through some windows wouldn’t be such a big deal if I were spending an hour between each save, but I often want to make a small change, maybe just one or two brushstrokes, or tweak the color, and then see how it looks when applied to the model in Blender. Often, I spend about 2 seconds doing the Save Dance for every 1 second I spend actually painting the texture. Obviously, there is room for improvement here!
Some ideas I have had about improving the workflow:
a) Add XCF support to Blender, to directly load XCF files.
b) Make more significant changes to the texture between each save, so not as much time is wasted.
c) Paint directly to a PNG file, or use Blender’s 3D texture paint tool.
d) Make a button or script (maybe using ImageMagick?) to do the conversion for me, either in GIMP or Blender, or added to my window manager panel (e.g. lauch in just like any other application).
Native XCF support would be ideal. The conversion step could be eliminated entirely; I’d just save the XCF file as usual, then reload it in Blender, easy peasy. However, as near as I can tell, Blender does not load XCF files right now, so someone would have to program it (the resulting texture is totally empty when I try). And of course, Blender would have to be able to flatten all the layers together automatically, using the correct blend modes and opacity; without layers, there’s not a lot of point in using XCF instead of PNG. There are other uses of layers that might be worthwhile (e.g. one layer is bump map, one is specular color, one is diffuse color…), but I don’t need that fancy stuff for my own, present purposes.
Option (b) wouldn’t be too bad, but it reduces the level of feedback I would get while working. Often I’m only working on one part of the texture, tweaking it to get it to look correct; obviously, the best way to judge if it looks correct is to view it on the model. There’s no sense in making 10 changes to the same part without checking if the first change helped or not.
Option © is not really better than having to click through 4 dialog boxes each time I save. As mentioned before, there is a reason I’m using XCF instead of PNG, and that reason is layer support. I have tried the 3D texture paintbrush tool in Blender (as well as its 2D counterpart in the UV/Image Editor window), and it’s great for starting out on a texture, but impractical for more finished works because of its limited feature set.
Option (d) would reduce the number of times I have to point-and-click the mouse to convert the texture file formats, but it’s still an unwanted speed bump in my workflow.
And, yes, I have heard about the Blender-Verse-Gimp plugin, but it doesn’t look to be very usable, and the whole point here is to make my life easier. Besides, I don’t need real-time texture updating, certainly not at the cost of stability.
So, I’m asking for tips/information about other possible ways to improve my workflow. If some other texturers could talk about their own workflows, or how they deal with this problem, that could help too. I might be able to write an XCF-support plugin myself (after a month of researching both Gimp and Blender’s insides), but I only touch C code when absolutely necessary, and there are many other things I would rather spend my time on (like, say, using Blender!).