Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm trying to texture this asteroid so it looks reasonable. I'm missing something though.

Following this tutorial, I got this so far.

enter image description here

Now I don't understand the next step: how do you resolve the seam problems? This icosahedral sphere has a seam running through it that cannot be avoided. Ok. How do I paint the texture so it looks seamless when applied to the object? How do I know which edge connects to what side? I guess it will just be symmetrical?

enter image description here

This seems awfully hard to texture a simple sphere. Am I missing some technique here?

share|improve this question

5 Answers 5

This is where I will use a 3D painting program. I primarily use Blender for my modeling, and it has a 3D painter built in. Being able to paint directly on the model in a 3D environment, makes the strokes continue across seams.

I don't find the paint tools in Blender to be great, so I'll usually switch to something like GIMP once I've got a rough idea. Then I add details in GIMP. Though, your 3D paint program may be different.

The program you use will depend on your work flow, but here's a tutorial (and another) for using Blender's 3D painting capability.

enter image description here

share|improve this answer
1  
Blender has the external edit feature where you can use perspective painting using different applications (such as GIMP) (it basically creates a screenshot on which you can paint and then apply) –  API-Beast Dec 21 '12 at 18:02
    
Also note that many of these applications allow you to use a texture as a brush. So your rock noise texture could easily be applied in a seamless fashion. –  Byte56 Dec 21 '12 at 20:26
    
Well it turns out there's a world of 3D texture tools for this purpose.. Mudbox, ZBrush, and Deep Paint 3D all support "3d texturing". I knew these programs existed, I just haven't had a need for them. Maya also has it's own 3D texture paint program. –  bobobobo Dec 27 '12 at 3:31
    
Maybe I should use Ptex –  bobobobo Jun 19 '13 at 2:52

One simple solution is to keep the background of the asteroid very flat so it wraps well, then add detail away from the edges. Don't cross the edge. Put your craters and bumps and things inside. That should minimize the seam.

share|improve this answer

I was able to get a reasonable wrap using this kind of UV layout:

enter image description here

It's only got 2 seams, one in the top, and one in the bottom (edges 1 and 7 from the diagram above).

The texture is tileable, so along the rest of the seam, it is seamless.

I couldn't figure out another way to do it!

enter image description here

share|improve this answer

I also thought just now about using a cubemap texture (ie 6 textures). My rationale is, if you were planning to use a 256x256=65536 texel image, you may as well use a 64x64x6=24576 texel image (cheaper!) and get less distortion and no poles.

You lay the UV mapping out like this:

uv map

Identifying what side is what and laying out the UV's this way is tedious but not very hard.

You have to create a cubemap texture to put on the sphere. I didn't have a rocky one, so I just used one from http://humus.name/. It's important to note tileability isn't enough for a cubemap: you have to have continuity across the edges of the cubemap (just fold a paper cube to figure these out!)

share|improve this answer
    
A .mb with this solution is here –  bobobobo Dec 22 '12 at 2:22
    
I just realized if your object is roughly spherical, you would not need a UV layout.. you could just use the vertex normal for texcoord lookup into a cubemap. –  bobobobo Dec 22 '12 at 18:09

You could texture map it by pretending it's a sphere or a cube. The quality of this approximation depends on how round your asteroids are.

With sphere treat each vertex position as a normal and convert them to polar coordinates. This will create poles though, but at least it will be seamless.

With cube you can create 6 faces that are seamless. Alternatively you can just use a cube map by again treating all vertex positions as normals and sampling from a cube map with that.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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