Terrain Texturing

Are there any examples out there that show the ideal method for texturing a terrain mesh on the iPhone. We’ve tried skinning the mesh and applying a large texture to it, but the terrain is too large so it looks very blurry. Alternatively, we tried using a repeating texture which looks good, but is boring. What is the ideal strategy for creating a terrain that has repeating sections and non-repeating sections without increasing the number of draw calls too much? Do we just need to reduce the size of our terrain a lot and stick to a single texture?

I’d love to hear how other people are handling this.

Incidentally, can anyone recommend a good terrain modeling package that is compatible with Unity?

Thanks!

  1. Don’t use a single large mesh as all will be sent to gpu for rendering even if not visible. Seperate it into “view size” large models for example

  2. Texture those view size large models with textures that work. But keep in mind that you work on a phone. You will never get texture quality thats anywhere near what you have on the desktop even if you had a crappy intel onboard there.

That sounds reasonable. I’m not expecting excellent textures, just viable ones. :slight_smile:

I’ll try breaking it up into chunks as you suggested.

if just viable ones are the target, then you might want to use the common approach to that:

use your “lower quality texture” and put a second texture on the terrain, greyscale that tiles and use a combiner that combines this detail texture with the terrain

Thta is how it is commonly done (for example as well by the unity terrain engine if you don’t have a SM2 graphic card if I remembe right)

post removed by author

For a flight game its another story.
You move fast, you aren’t on ground, two good base requirements to get away with far less detail on geometry and texture, which is also reflected by the screenshots, which by the way look nice :slight_smile:

Its a question of the desired quality and game type.
For a ground based game, your terrain would likely not be sufficient from what I see on the screenshots, as the terrain seems to have very low geometry detail as well as a pretty low texture density.

post removed by author

Hehe

Sorry in that case.
If it adopts then its naturally something different.
I think the idea here was static meshes that you model, that you throw in and leave as they are.

I based my conclusions on this “static model” assumption in combination the “beam in new sat” picture from the original iphone pics you linked for example where its actually near possible to draw the polygon lines of the different polygons of the hills
The same sections also show a pretty low texture density should you ever get near to that.

I guess to some extent you’re right and folks probably should adjust their expectations a little as it’s not even equivalent to a weak PC. Point taken there.

On the bright side I hear Unity terrain on the iPhone is right around the corner! That should help quite a bit.

We’ll probably finish our current project just as a terrain system is being added. Oh well.

I broke up the terrain mesh into several pieces and immediately saw the benefit to this approach. However, since we are using Blender, it is annoying if you need to change the mesh where a seam lies. The only way I know of it make it line up correctly is so merge the objects back together, make the change, and then split them apart again.

If anyone knows of a better approach in Blender, I’m all ears.

Thanks again for the tip.

I’m working on an iPhone game which takes place on a few islands. I started out wanting to create the whole terrain object but its just to large for the iPhone. You have to remember that its just a phone (even though it is so cool). I re-thought out the terrain and now have smaller sections of the terrain which you play in with triggers that end that section and loads up the next, ie. tunnel, pass, boat to new island, etc.

I found with developing for the iPhone, take your concept and try to simplify it so it will play better and faster.