Advertisement

Seamless textures in Gimp (Screens Included)

Started by January 19, 2012 08:30 AM
7 comments, last by CaseyHardman 12 years, 11 months ago
I've been trying to make textures with Gimp lately, but I've been having some problems with seamless-ness. The textures were made via multiple layers of different effects and such. One of them was made just like a tutorial told me to do it, but it doesn't tile seamlessly. I put it on a Unity3D terrain, and it looks like this:

[attachment=6778:TutorialTextureExample.jpg]
Very telltale signs of tiling.
However, another texture I made myself (which explains why it looks so weird and probably amateurish) seems to tile pretty well:

[attachment=6779:MyTextureExample.jpg]

So I looked around to find methods of making textures seamless, and found the Filters\Map\Make Seamless is a useful tool. I think I used it on all of the layers of my texture, but didn't on the tutorial texture. I went to my .xcf file of the tutorial texture and went to each layer using the seamless filter. Then I saved it over my .jpg and tried it again in Unity, but it didn't make much of a difference.

I also tried another method suggested, where you go to Layer\Transform\Offset and hit Offset by x/2, y/2. Then you were supposed to manually use the Clone tool to make it transition into the other side properly. However, on the tutorial texture, I did the offset but couldn't even find any difference made by it.

So what did I do right on my texture that made it seem at least vaguely seamless and what was done incorrectly on the tutorial texture? Are you supposed to filter each layer with the Make Seamless filter when you're making textures?

Thanks! Hopefully I've been descriptive enough. If you notice any other things I'm doing wrong, feel free to let me know.

[twitter]Casey_Hardman[/twitter]

Your 2nd picture actually does have telltale signs of tiling - it's just a bit harder to see due to the color palette being EXTREMELY dark and low-contrast. Looking at the full size version, there are definitely tiling seams visible (particularly where four corners meet).

I don't use GIMP, but the principals behind this are universal and I can explain to you why the offset -> clone tool system is used. Basically, all offset does is force you to SEE the seams of your texture by forcing them to the center, rather than at the edges of your image. You'd get the same effect by manually tiling it. The idea is that it makes it easy to then clone brush the seams out of visibility, leaving you with a perfectly tiling texture.

The reality is often a bit more complex than this, however, as removing seams can add more seams on the new "edges" of the image, and oftentimes a base image that has a lot of variance (like your example first one) can be very obvious in its tiling even when seamless due to distinctive repeating "marks", such as that one bright spot. I often use offset a number of times before I'm able to call a tiling texture truly finished, especially when it comes to "organic" looking things.

Some image examples:

[attachment=6780:Ruins_NoOffset.gif]
Here's a floor tile from an old game I worked on.

[attachment=6781:Ruins_Offset.gif]
Now here is that image offset 50% in each direction. Notice how it still looks like a completely uninterrupted texture? This why you use offset, to reveal seams and check your work - this tile is seamless no matter how it's offset in relation to itself.

[attachment=6782:Ruins_Floortile.gif]
Here it is tiled.

[attachment=6783:Badtile.gif]
Avoid distinctive marks in heavily tiled textures. It gives you away. This is a bit over the top, but even bright spots or lighting inconsistencies can be a dead giveaway - the human eye is extraordinarily good at recognizing patterns.
Animation / spriting bloggity blog thingoo:
http://www.gamedev.net/blog/1367-chriss-animation-blorg/
Advertisement
I see...
I knew my texture wasn't totally seamless, I was just curious as of why it seemed to be less noticeable. Thanks for letting me know : )

I tried the offset again, but it still doesn't seem to have any effect whatsoever on any of the textures I tried to make. I opened the .xcf file and had all layers visible, then went to Layer\Transform\Offset\Offset by x/2, y/2 and it looked like the image was the same as before. If anyone can offer any suggestions to why that is, that'd be great.

[twitter]Casey_Hardman[/twitter]

Sounds like the offset may not actually be doing anything. Your texture should be going from this...

[attachment=6786:nonoffset.gif]

to this.

[attachment=6787:offset.gif]
Animation / spriting bloggity blog thingoo:
http://www.gamedev.net/blog/1367-chriss-animation-blorg/
Is there somekind of clone stamp tool in Gimp? I always use it to erase seems from every kind of texture.

The best way to hide tiling is obviously have more tiles for the same terrain. But letting more obvious details flow from one tile to another really hides the tiling effect, obviously this is very hard to accomplish especially on larger textures. Games like final fantasy really accomplishes this goal very well, but they are working with no more then 32p tiles.

Is there somekind of clone stamp tool in Gimp? I always use it to erase seems from every kind of texture.

The best way to hide tiling is obviously have more tiles for the same terrain. But letting more obvious details flow from one tile to another really hides the tiling effect, obviously this is very hard to accomplish especially on larger textures. Games like final fantasy really accomplishes this goal very well, but they are working with no more then 32p tiles.


There is a Clone tool in GIMP. It works just like in Photoshop Elements 4.0 (which is the version I have). Though I couldn't find an option to freeze the clone origin with Photoshop, whereas I did find one in GIMP. It's probably there and I just haven't found it due to being unfamiliar with the program.
Are you talking about a 3D Final Fantasy? 32x32 pixel tiles seem like they'd be really bland and lacking detail, unless it's a 2D isometric game or something?


On another note:
Only a few of my textures can be offset properly in GIMP...for some reason, the others just don't react to the offset at all. If I open them in Photoshop and use its Offset filter, it works just fine and shows me all of the seams. Does anyone who uses GIMP have this problem or know how to fix it?

Thanks!

[twitter]Casey_Hardman[/twitter]

Advertisement
No lol, try lookup final fantasy 3, yes it's old but it is really hard to spot the tiling. A lot can be learned from this, many great artists will tell you to start small so you can focus on the little details then apply those techniques to larger projects.

What i do in photoshop CS1+, clone a area by holding ALT, and smudge it in using a soft brush, then you can easily pick another area by using ALT and repeat.
Layer\Transform\Offset\Offset by x/2, y/2 and it looked like the image was the same as before.[/quote]
Just go to Filters->Map->Make Seamless, why are you doing anything other than that? Even after that you do need to remove high contrast spots.

NBA2K, Madden, Maneater, Killing Floor, Sims


Layer\Transform\Offset\Offset by x/2, y/2 and it looked like the image was the same as before.

Just go to Filters->Map->Make Seamless, why are you doing anything other than that? Even after that you do need to remove high contrast spots.
[/quote]

I don't really like the method that's used with that filter. Sometimes it looks nice, but other times it seems to make this strange diamond-shaped pattern around the center that looks kind of awkward.

[twitter]Casey_Hardman[/twitter]

This topic is closed to new replies.

Advertisement