10
\$\begingroup\$

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?

\$\endgroup\$

5 Answers 5

10
\$\begingroup\$

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

\$\endgroup\$
4
  • 1
    \$\begingroup\$ 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) \$\endgroup\$
    – API-Beast
    Commented Dec 21, 2012 at 18:02
  • \$\begingroup\$ 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. \$\endgroup\$
    – House
    Commented Dec 21, 2012 at 20:26
  • \$\begingroup\$ 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. \$\endgroup\$
    – bobobobo
    Commented Dec 27, 2012 at 3:31
  • \$\begingroup\$ Maybe I should use Ptex \$\endgroup\$
    – bobobobo
    Commented Jun 19, 2013 at 2:52
2
\$\begingroup\$

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.

\$\endgroup\$
2
\$\begingroup\$

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

\$\endgroup\$
2
\$\begingroup\$

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!)

\$\endgroup\$
2
  • \$\begingroup\$ A .mb with this solution is here \$\endgroup\$
    – bobobobo
    Commented Dec 22, 2012 at 2:22
  • \$\begingroup\$ 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. \$\endgroup\$
    – bobobobo
    Commented Dec 22, 2012 at 18:09
1
\$\begingroup\$

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.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .