g'day, just after some advice on terrain modelling.
i wish to create a cartoon style world. eg spyro dragon. ie simple buildings, rolling open terrain, bright colours, comic sky (ie flat blue + puffy clouds)
should i build terrain with blender3d, or are there more suited terrain editors (maybe specific to ogre)
or since im going to use blender for the characters + animation, use blender anyway so that i am using 1 tool (instead of many)
i think (until persuaded) that i will manually build the terrain (instead of using height maps)
also, a question on texture mapping. i notice that if you tile textures evenly over a grid (x and y plane), and then use a height map to offset the z coords, the textures become stretched if the ground moves towards verticle (ie the square face becomes longer).
any solutions on how to get around this? ie are there any good texture tools/techniques that avoid texture stretching? **i guess mapping a square to a sphere raises similar issues.
thanks.
terrain techniques
-
kneeride
- Bugbear
- Posts: 807
- Joined: Sun May 14, 2006 2:24 pm
- Location: Melbourne, Australia
- Kencho
- OGRE Retired Moderator

- Posts: 4011
- Joined: Fri Sep 19, 2003 6:28 pm
- Location: Burgos, Spain
- x 2
- Contact:
Well, you must think that in that case the quads length is not uniform, so some kind of distortion will always happen. It's not avoidable (at least in a rather easy way) in my opinion.
Anyways, for a cartoon-ish world you don't need that kind of accuracy, so it won't be much problem
If you're going to use a modelling tool (Blender), you probably can use some texturing tools (LSCM unwrap maybe?) to minimize the distortions
Anyways, for a cartoon-ish world you don't need that kind of accuracy, so it won't be much problem
If you're going to use a modelling tool (Blender), you probably can use some texturing tools (LSCM unwrap maybe?) to minimize the distortions
-
kneeride
- Bugbear
- Posts: 807
- Joined: Sun May 14, 2006 2:24 pm
- Location: Melbourne, Australia
if the terrain if fairly flat, then it looks ok.
however when the terrain has some peaks where z offset is large (eg steep hills), and model has a grainy grass texture, then the texture becomes stretched. in my opinion it does not look good.
and in the cartoon example, i believe texturing is important, because the aim is to look simple without anything harsh on the eyes.
say you have a mountain, i guess you would want to then texture on a different plane (eg the x/z plane), to avoid the stretch from the x/y plane. (well that's how you would texture a wall). but this is more tricky when the wall and the floor are the same face and require a smooth texture transition.
however when the terrain has some peaks where z offset is large (eg steep hills), and model has a grainy grass texture, then the texture becomes stretched. in my opinion it does not look good.
and in the cartoon example, i believe texturing is important, because the aim is to look simple without anything harsh on the eyes.
say you have a mountain, i guess you would want to then texture on a different plane (eg the x/z plane), to avoid the stretch from the x/y plane. (well that's how you would texture a wall). but this is more tricky when the wall and the floor are the same face and require a smooth texture transition.
-
vega
- Halfling
- Posts: 47
- Joined: Sat Apr 02, 2005 11:19 am
- Location: Germany
- Contact:
- BlasterN
- Gnome
- Posts: 378
- Joined: Thu Mar 24, 2005 1:07 am
- Location: Spain
- Contact:
If you are going to make a little maps, model it with Blender.
But if you are planning to have big maps, you will have problems with high poly - culling, so use a specific scenemanager like PLSM2 (but maybe it's too much powerfull for you)
About Heightmaps, I see Blender plugins that use it to build a "standard" geometry so I recommend it, you will save time.
gl!
But if you are planning to have big maps, you will have problems with high poly - culling, so use a specific scenemanager like PLSM2 (but maybe it's too much powerfull for you)
About Heightmaps, I see Blender plugins that use it to build a "standard" geometry so I recommend it, you will save time.
gl!
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
- Kojack
- OGRE Moderator

- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 538
Changing the uv coords of a quad to stop stretching is fine, but only for that one quad. In an area with one material, bumps in the ground will cause some rows/columns to become out of sync (texture tiling wise) with the surrounding terrain.
There's 3 ways I can think of to get around that.
- Blend between textures at each vertex, even if the textures are the same. So each stretched quad blends with the non stretched quads on either side. But that could look strange, blending the same grass texture at different uv offsets several times could cause artifacts.
- Procedural texturing using uvw coords.
- Non linear uv coords calculated in the pixel shader. Maybe an s-curve or something. So if a quad was stretched to 1.5 times it's normal size, you'd use a uv curve so most of the texture was tiled 1.5 times, but have a buffer zone at either side where it returned to regular tiled offsets. So in this case the texture would really tile 2 times over the quad, but most of the middle of the quad is at 1.5 times tiling.
Then again, depending on how you triangulate the terrain, things might become difficult (like having one triangle in the quad stretched and one normal size).
There's 3 ways I can think of to get around that.
- Blend between textures at each vertex, even if the textures are the same. So each stretched quad blends with the non stretched quads on either side. But that could look strange, blending the same grass texture at different uv offsets several times could cause artifacts.
- Procedural texturing using uvw coords.
- Non linear uv coords calculated in the pixel shader. Maybe an s-curve or something. So if a quad was stretched to 1.5 times it's normal size, you'd use a uv curve so most of the texture was tiled 1.5 times, but have a buffer zone at either side where it returned to regular tiled offsets. So in this case the texture would really tile 2 times over the quad, but most of the middle of the quad is at 1.5 times tiling.
Then again, depending on how you triangulate the terrain, things might become difficult (like having one triangle in the quad stretched and one normal size).
