8
$\begingroup$

I have plane in blender. On that plane I have single texture (512x512) that repeats itself and makes my "floor".

What I would like to do is export somehow new image for further editing. That image would contain same texture that is repeated, in same scale that I see in blender.

Take a look at image, please : enter image description here

On the right I have that 512x512 texture, on the left is the result of texture tiling. I want to export tiled image that we can see on the left in 3D editor, into new image that I can modify further in other software, then import it back.

I did see couple of videos and tutorials of texture baking, but I can't seem to get it right. Is texture baking what I need here, or there is other way?

Also I should say that I plan to use this texture in Unity, therefore I don't need solution that would only work in Blender.

This problem bothers me for quite a while, I used to make my textures in 0-1 space, but that gives horrible results for larger models. I really need to find a way to do this right, it would greatly help me in future texturing.

Thanks!

$\endgroup$
  • $\begingroup$ Why not tile it in the editor you are going to use? $\endgroup$ – gandalf3 Jan 6 '14 at 1:18
  • $\begingroup$ Hi, thanks for reply. If I tile same texture in Photoshop I get really bad results. That's not the case with tiling in Blender. Bad results manifest in blur and low quality when camera is close to texture (probably because of the way Photoshop handles tiling. I can also do it manually tile by tile but that takes way too much time to be done for each model). Project where this model will be used has camera really close to the ground, ~ 1.8m therefore results are horrible when I tile it in Photoshop. Is there any way to do this at all in Blender though ? Maybe some other way? Thanks! $\endgroup$ – Hrcak Jan 6 '14 at 1:44
8
$\begingroup$

So you are trying to make a tileset in unity3D, using blender? I did just that. Mine is simple, like this:

tileset in unity3d

Notice how the larger tile (to L-turn) is much larger than the others. Still, it is only one square texture for each of them. The trick is to UV-map it correctly.

Here is the UV-map for the L-turn. It wraps the texture twice.

l-turn in blender

Here is the UV-map for a simple tile. It wraps the texture once.

wall in blender

So for a long floor tile, you have two options.

  • Make a square floor tile with simple UV-map in blender and repeat it several times in unity (preferred).

  • Make a long tile with "long" uv-map in blender and use it once in unity.

No baking!

If you bake a tiling texture to a polygon UV-mapped as yours you are ruining your texture resolution. If your texture (512px) tiles four times it has an effective resolution of 2048px (4x512). If you bake that to 512 you have reduced your texture resolution 4 times. You could bake it to 2048 and keep the resolution but you would end up with very large textures.

It might also be so that unity downsamples your texture when building the game and you loos quality again. It is a matter of settings, target device and quality.

In any case, I advice against baking.

The reason that it works inside blender is that blender can use texture of odd resolutions and multiple textures per face.

You might be able to make a shader that combines two textures with different tiling in unity. But then how would you position it?

$\endgroup$
  • $\begingroup$ Hi and thanks for reply! I know how to properly UV map and import it in Unity while using single texture that tiles. What I don't know and what I need is to further edit that texture. I will try to explain it this way : We have a floor that is 5m long. That floor is plane and has texture that tiles. Let's say that I have to make part of that floor look wet. If I modify texture that tiles it will repeat itself and make mess. Same goes for your stone texture. It's tiled on model. If you want to add more details to that texture (grass, water, etc.), how would you do it since it's tiled ? $\endgroup$ – Hrcak Jan 6 '14 at 13:11
  • $\begingroup$ In that case, I would make a separate tile with different map, or additional geometry that sits on top of regular tile. The first method have the drawback that it requires a whole extra tile. I don't know any other way but I'm not an expert at game enviroment. $\endgroup$ – Gunslinger Jan 6 '14 at 13:34
  • $\begingroup$ @Hrcak I have updated my answer some. $\endgroup$ – Gunslinger Jan 6 '14 at 15:03
  • $\begingroup$ Thanks again, Gunslinger. I guess that I can either tile it in, say Photoshop, then import it as single texture or use some Decal system. (Unity has some in store, they make plane just above the targeted place and then use decal texture, giving same result as if I would make additional geometry and textured it in Blender, except it's more practical). Thanks again, I think that this is most detailed answer and therefore I will mark it as one. $\endgroup$ – Hrcak Jan 6 '14 at 15:50
3
$\begingroup$

If you're using blender internal you should be able to bake your textures to an image; note that you will be baking your textures from the material settings - not the uv image editor - to the active image in the uv image editor. in order to map a tiling texture to a full one, you'll probably need to uvmaps, one for the tiles and one for the large baked texture.

$\endgroup$
  • $\begingroup$ Hi, thanks for reply! Yes, I can bake texture to new image, but I get some weird problems. For example scale of tiling is never the same and result is always looking larger than on original UV map result. Sadly there's not much tutorials on texture baking in blender that I found, so I'm clueless and also quite sure it's not big issue but rather my lack of knowledge. $\endgroup$ – Hrcak Jan 6 '14 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.