I don’t know if anyone has already done this, so I’m going to ask.
I want to use global mapping in my game, this can make tilesets look less repetitive since the texture is not limited to the size of the tile. But global mapping in blender maps flat on the z axis. I want to do cube mapping, where depending on the direction of the face normal global is rotated by 90 degrees.
I could do this by having a UV mapped texture with different colors on the faces which would let me rotate the normals by the right amount, but there should be a way of doing it automatically just by comparing face normal with global normal in nodes.
Hey I looked at your game and it looks quite cool, want some help with the graphics. Here is a game model I made, quite terrible but let me know if you’re in need of assistance. Why paste on some tiled brick texture when you can make your game look next gen.
Hi, thanks for the offer. That model really does look next gen! I especially like the eyes, took me a moment to work out how you did it.
Sorry, but my game is not going to be next gen, I just don’t have the time to devote to it to make that practical. A game like Skyrim takes thousands of man hours to make. I’ve got maybe an hour each day to devote to my hobby. it’d take me a hundred years to make a game like that, or a hundred thousand dollars of outsourced art.
Anyway, the specific problem I’m working on now is how to get global mapping on a tile set, so that I can make the tiles look less repetitive. The problem with a tileset is that with UV mapping, a texture can’t be bigger than a tile. So if you have 50 tiles on screen at once time it’s clear that they repeat. But global mapping can be bigger than the tiles, so you might have a base texture bigger than your screen, so there wouldn’t be any repetition at all.
You can see the repeating textures on the left. On the right there’s no repeat (though you would need a higher res texture, that one is only 128x128). The problem comes when you try to do the same thing on the walls.
Obviously I wouldn’t use only the base texture. It would be mixed with a detail texture in some areas like door frames using simple UV mapping.
Why don’t you model the floor, make a copy of the model and place out bricks or tiles by hand, bake a normal map. It will look much better for sure, if you don’t know how to do it send me the floor and I’ll create a normal map for you.
That’s true, I do sometimes do baked normals, but again, it can’t be bigger than a single tile. The essential problem with tile sets is they are made of tiles. The tiles can be quite small. And if you use only UV textures the tiles can all seem very similar.
One way around that is to use a detail map, or dirt map:
You can kind of see it in these videos from a project I did. Look at the dirt on the wall, it breaks up the repeating textures and makes it look more natural.
But that works best if your tileset is preplaced so you can individually unwrap the detail UV layer to get the best visual results, it’s not practical with a tileset which is placed using code.
I know the textures at the top of this thread are not great, but it’s just something I threw together to illustrate the problem. It’s not supposed to represent a finished result.
I think what I’m talking about is called box mapping. I changed the thread’s title to reflect that.
Searches for cube mapping come up with cube mapped reflections, not cube mapped textures.