@ Craig Jones, Ricky Blender, eppo: Sure, I’ll elaborate on the concept/process.
I’m trying to devise a better (better/faster) way for me to texture objects/scenes which will then be exported to a game engine (which also means everything needs to be “bake-able”. When texturing objects and especially when making large land or terrain pieces (which is what this is all about), I have to work to hide the tiling that inevitably occurs when using a limited number of samples. I use a material node setup that allows me to overlay textures using alpha maps (like a unlimited chained stencil map) so I can modify any given texture in the stack (like playing with scale, color levels, rotation, location, etc) all to increase the perceived “unique-ness” of the repeating terrain without needing to modify the base image.
However, you can only disguise 1 sample so many ways and even then if the player is looking at it long enough, they will notice that the terrain is just 1 or 2 textures being re-worked a few different ways. The only real way to get variety is to use different samples, but of course those samples do not match your base. Now depending on the terrain, using samples with different textures (smooth sand, grainy dirt, etc) can all be mixed or be placed where they would occur in real life. Color, on the other hand, is the factor that limits using the sample “as is”, since high or sudden variation in color is quite jarring and usually doesn’t look good.
So now I’m thinking that what I should do is just texture with grey scale samples (using my material node setup) until I have the mix that I like, then using texture nodes, apply color to the samples in a way that makes sense for the terrain. This allows me to stay in Blender and make quick changes to my source material without having to jump out to a external editor, make a change, save it, go back to blender, the update the source image (possibly for many images). It would also allow me to view results in real time.
That essay leads to what I’m doing now:
The idea is simple, de-saturate the sample image, then color it using a color ramp (either with a gradient or constant color), then mix it with the gray scale image to produce a colored result (as if it were done externally). The problem was that when using a dark shade of a color (well any shade, but darker shades make the problem much worse), instead of just making the color dark, when it gets mixed in with the original sample, it takes the Value and applies it, making the output almost black (instead of keeping Value “in its own layer”). So now, I’ve added a HSV node to artificially increase the Value to get the image approximately close to its original brightness. However, I’ve also noticed that after I did this, even when using the exact color from a external program, the color in blender is wrong (dark brown comes out as a semi-bright orange), so I have to eyeball the color from scratch.
If you would like to take a shot at it: [for whatever reason, I can’t get the files to upload, so I’m making a .ZIP, and that didn’t work either…so here is a link to the .ZIP file:
Original Nodes - is the first time I tried this
New Nodes - is what I’m using now
dirt 1024 de-saturated - the base image used externally and in Blender
External Program Color - is the color from using a shade of dark brown in Overlay mode in an external program (HTML 3f1c02)
Color Ramp Constant - new nodes using a constant color
Color Ramp Linear - new nodes using a black to color ramp (using black makes the image much darker, I need to increase the values about 4.5 times higher than with a constant color, so the brightness is not quite a match between the images but I tried to get it close).
I’ve thought about using more color variation in the ramp, but I’m concerned that if I have a dark color moving to a bright color, I’ll have to increase the brightness to show the dark color which will make the bright color into some sort of glowing neon monstrosity (and necessitate more color correction).
If I load a image as a World Texture, then use that texture as a Material Texture, does that mean I can even have multiple colors for a given sample? (since the nodes are only operating on the Material Texture and not the actual World Texture // or by just adding more colors and Output nodes)
I’m using the RGB to BW node because whenever I see a tutorial done by someone that actually knows what they are doing, they use it (though I can’t see any visual difference if I don’t use it).
Swapping Mix Node spot 1 and 2 changes how much “white” shows up in the image.