🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Hand painted textures for a large planet?

Started by
3 comments, last by Ashaman73 9 years, 1 month ago

Hi!

I'm modeling a planet in Blender, and I'm trying to figure out how to texture it. I'm trying to replicate the look of Offworld Trading Company (see attached screenshot).

Looks like they use very few base diffuse textures without any normal maps or displacement maps, relying instead on meshes for the craters on hills. The textures seem to blend together very nicely, and looks painted. How can I achieve this? Texture splatting?

What kind of tools can I add to my workflow for this? Could something like Substance Painter work here?

I was looking into Amplify Texture to get virtual texturing. That would allow crazy levels of detail, decals, and more, preventing the "flat" look when using just a couple repeated textures. But the question remains: how do I texture the planet in the first place? Can I do this right in Blender?

Advertisement


How can I achieve this? Texture splatting?

Yep, I would guess simple texture splatting with a handful of handpainted textures.


Could something like Substance Painter work here?

As far as I know Substance works great for PBR, normal mapped, realistic surfaces. I think, that it is not really useful for handpainted textures.


Amplify Texture to get virtual texturing. That would allow crazy levels of detail

Hmmm...crazy levels of detail.. you mean crazy level of work happy.png Better and more technology means sometimes better looking visuals, but always more work.


Can I do this right in Blender?

Simple terrain texturing is done in a shader (a material texture which controls the blendeing of e.g. 8 ground textures). So, with a custom shader you would be able to design a planet, but.... planets are really large objects and terrain texturing is a classic procedural generation task, so you should look into generating your surface texture instead of painting/modelling it.


Yep, I would guess simple texture splatting with a handful of handpainted textures.

Thanks for the help!

I'm experimenting with a couple of custom shaders on the Unity Asset Store that seem suited for applying splat maps, detail maps & such to mesh-based terrains. However, I'm still trying to figure out which tool is best for 3d painting the textures onto the mesh in the first place. I'm assuming the following pipeline:

1. create icosphere in Blender, add craters, valleys & details

2. 3D paint textures onto surface

3. bake normals, surface, splat, detail maps etc.

4. use a shader in Unity capable of blending splats, normals, etc.

5. profit

I'm a bit lost on #2 and #3 (sorry for the noob questions, I'm a programmer). Do I have to use something like Mudbox or MARI? Or can I do this right in Blender?

edit: I'm not doing this procedurally because it's a fairly small planet. I'm just making a prototype and need a quick & dirty result rather than optimizing a perfect workflow for making many procedural planets. I only said "large" because I'm thinking a single 4k texture would be insufficient detail? Is multi-tile UV my solution?

You can paint right in Blender. Create a UV mapping for it (select the object and press 'u' to bring up the unwrap menu). After UV mapping, Tab to edit the mesh and on the UV/Image Editor screen, create a new image. Then in the 3D view, you can switch the mode from Object Mode to Texture Paint, which gives you access to various brushes for painting directly onto the object.

1. create icosphere in Blender, add craters, valleys & details

I would use a cube, then multiresolution modifier with catmul sub-surfaces. This way you have a lean uv mapping (based on the cube), each cube side get its own texture. Any you can use sculpting to add some mesh details.


2. 3D paint textures onto surface

3. bake normals, surface, splat, detail maps etc.

4. use a shader in Unity capable of blending splats, normals, etc.

5. profit
I'm a bit lost on #2 and #3 (sorry for the noob questions, I'm a programmer). Do I have to use something like Mudbox or MARI? Or can I do this right in Blender?

Baking and painting can be done in blender.


edit: I'm not doing this procedurally because it's a fairly small planet. I'm just making a prototype and need a quick & dirty result rather than optimizing a perfect workflow for making many procedural planets. I only said "large" because I'm thinking a single 4k texture would be insufficient detail? Is multi-tile UV my solution?

The size of the planet is irrelevant, the zoom in is relevant. A 4k texture for a planet is enough if you see the whole planet fullscreen, but if you can close in, more details will be necessary, but this depends on how much you can close in. Suddenly you need 8 times the resolution and you will have a 32k texture (>1GB !). So, texture splatting is the way to go, if a single texel is prepresented by a 32x32 texel texture, you suddenly get a resolution of 128k. You need to have more details, just increase it from 32x32 to 128x128.

If you want to paint these planets, you should try to reproduce texture splatting in blender using shaders. Eg. a simple shader which use 4 textures which got blended using the 4 channels of a control texture. You then paint the control texture (each color channel represents a single detail texture), this way you see the result directly in the blender.

This topic is closed to new replies.

Advertisement