It has been over 2 years in planning and finally it is coming into shape. Texture painting is almost ready to handle big NPR productions. Here are some of my results using it.
Warning: Heavy images ahead. It will take some time to load.
Title: I’m going there (says the ladybug on the grass)
This is done about 6 months ago. At that time, texture painting was so laggy. I barely could paint this. It took so long to just block-out the composition.
Title: Color splat, wow, landscape
This tiny doodle to check if lag is gone. Yes, it is faster.
This is an early screen capture. I was very lazy to UV unwrap the meshes properly. Won’t do that again.
Title: Junction on the hill
Gave it another run. Not bad, but there is a problem. I can never get smooth strokes. After hours of finding the cause of the problem, the cause, Blender openGL cannot update that quickly. Some filter or stroke smoothing algorithm needed, but not until Blender openGL is upgraded.
I don’t like this painting method, although the style is very close to background done by Studio Ghibli (Gouache and poster colors). It just took too long to emulate real pigment.
The initial meshes look like this. They are a combination of planes and 3D objects.
I painted more than what you can see. As this is an earlier screen capture, the lighting for the clouds is wrong.
Title: Hidden tomb
When you paint in 2D plane, it is very fast. And I found a way to cover up the jaggy strokes.
It is really flat. Painting is done in 2k x 1k, slightly above HD.
Title: The summer when we catch grasshoppers
This is painted in 4k x 2k resolution. Rendered at HD. Painting at that size is OK even in GLSL.
Early screenshot of the viewport. They are transparent planes.
Conclusion as of March 1st 2015:
Texture painting is really getting enjoyable in Blender. It is quicker and more responsive. Even with its limited toolset, knowledge learned from texpaint can be applied in almost any painting application. Yet, there are a lot of things that I have not told you. There are few weird stuff in texpaint that exclusively in Blender. They can be such a headache.
One of them is the weird image I/O in Blender. It is easier to take an outside image into Blender, but very hard to get image created inside Blender to go outside (discussed, no action). Any texture painted in Blender has 3 names in 4 different locations (bug reported, rejected, UI team TODO). If you have a textured brush, the painted color is often brighter with random hue-saturation-value shift (bug reported, fixed). If painting in the image editor, alpha lock won’t work. Smoothing or smudging, alpha lock won’t work either. Mask only view-able in Multitexture material mode.
When you paint in 4k x 4k textures, it is extremely laggy. Something with that number causing my system to lag. If done in 4k x 3k it will be as smooth as 4k x 2k. The ability to paint smoothly at higher resolution is a must. I’m thinking of 10k x 5k (horizontal pan) or 5k x 15k (vertical pan). If not, I’ll just stick with 720p and resize the painting to 4k with some filter applied. 😛
Update March 3rd 2015:
There are few requests for me to clarify texpaint I/O problem. I’ll list them 1 by 1 as much as I can remember from my experience.
1. When you save a blendfile, blender never say that your textures are unsaved.
2. You have to specify file path for each image and it is very easy to miss 1 or 2 or more textures.
3. Blender warns “invalid path” on header if you try to save textures painted without path but never says how/where the path should be set.
4. To set file path you have to open image editor then press F3, after only that you can use the “save all images.” Very counter intuitive.
5. The specify file path should be together with “save all images” button. Just specify the folder and all images will be saved there with the name listed in the paint slot.
6. You’ll lost your image(s) if you try to pack textures mid painting.
7. you need to subdivide a mesh quite a bit for it to not have wavy texture (texture stretching). In 1 case, my original meshes were less than 100 faces, to solve the wavy texture problem they were subdivided to 22k faces.
8. Not sure if soften and smudge should have alpha lock because they don’t work at all.
9. Alpha lock don’t work when painting in image editor.
10. Painting mask isn’t viewable in GLSL view mode, only viewable in multitexture view mode (without alpha).
11. Mask strength and mask value work almost the same, why there are 2? ie: Mask value 0.5 is similar to Mask value 1 with strength 0.5.
12. Generated image: UV grid and color grid have very limited size, they cannot cover 4k x 4k image. Everything not covered will be background color (in BI).