Creating a realistic runway and taxiway in blender

Hi

i have some difficulty to figure out how to texture a runway and taxiways

my main problem is the uvmap

1- for the runway :
since it is a looooong plane i don’t know how to uvmap it correctely without loosing image resolution
especially adding numbers to the runway surface

2 - same thing for the taxiway :

how to add long yellow lines and other decals textures

3 - as an option if i have time i want to add also some texture splatting to get some transition from dirt to grass … etc

but in the meaning time my concern is how to add decals to surfaces and position thems correctely, I want to use blender as modeler with realtime 3d engine (openscenegraph.org), I’m not using the BGE at all.

any help is welcome
thanks good day

wrong subforum, but anyways:

1+2)
You unwrap your whole runway as one and use a repeatable texture for a road. Like this:

You unwrap it proportionally and then scale the whole UV layout, so the width fits, let the length just reach out of the image. If the UV mapping is set to repeatable, the width will just match fine, and over the length the texture will repeat.

For the numbers on the runway surface you create seperate polygons and map the numbers on them and place the polygons. So called decals.

  1. you can either make a seperate texture for the transition, unwrap it and paint it using the two textures as brushes and blend them into each other simply with blenders texture blend, or you use a stencil texture, like a mask. You crate one big texture with grass. Create another big texture with dirt and now you create a third texture, a grayscale map, which tells blender where to mix the images together how much. Some game engines support something similar, else you got to bake the result down in a texture map.

hth

Some of my suggestions would be:
uv texture will repeat so layout your runways to tile the asphalt texture. For number decals you may want to think about using actual planar models of the numbers positioned just above the runway plane, no one will get down low enough to see the elevation difference. Of course there is all kinds of stuff you can do with shaders.

thanks guys for your suggestions

actually i made the same things that you have mentiened

for the road plane i have uvunwraped it and then scale the uvmap along the y axis
to get repeatable texture
for numbers i have added a separate plane just above the runway plane
this worked but this solution gave me another problem
i have some ugly flickerring at runtime

the best solution i think is to uvunwrap the road and the textures as a single image but i don’t know why how to achieve this

one idea that comes to my mind
is to split the long runway plane along the plane length
and make a seam on each section
but after how to arrange each section in the UVimageeditor to get a compact square uvlayout ?

another thing i want to add to the runway plane is some squad marks like this
http://img4.hostingpics.net/thumbs/mini_833142customrunway.jpg

the other problem is to make taxiway lines a t a good resolution
some one suggested me to make my uvmap , export it to gimp or inkscape and draw the lines and other decals there

but how to get a good texture resolution with tis approch ?

again … any help is welcome
ps : sorry for the long forum section,
can a moderator move this topic to the right one ?

Maybe its my lack of vocabulary, or it´s because I am no aeronautic fan… what´s a taxiway? :smiley:
The ugly flickering is z-fighting. you got to offset the decals further, and be sure they are above ground, not at the same place.
depending on the engines z-resolution often only a minimal offset´s enough, sometimes it requires a bit more. Some engines also allow to render the decal into the existing texture AFAIK.

It´s hard to give good advice without knowing your engine - well I know what you use, but I don´t know the engine… you might ask in their forum :wink:

hi

here what i am tryng to do
http://data.imagup.com/8/1121689090.jpg

please note the white lines on the ground

i want to do the same thing but with a yellow texture
so there is a ground texture at the bottom
and over i want to raw these lines plus other decals images

how to do this without loosing texture resolution

i am using openscenegraph as a graphic engine

Ah, the taxiway is the road to the runway I guess :slight_smile:
The crossroads is double symmetric, that serves you.

I could not resist, so I threw a few craps together and made one garbage…
Took around 20 minutes, so the mapping is not perfect, and the textures are fugly but I had some fun. I enjoy creating maps =)

Thats the whole thing:
http://i53.tinypic.com/2m79cep.jpg

That´s a close up (I guess that is plenty texture resulution):
http://i54.tinypic.com/zx40pf.jpg

Here´s the blend (10mb):
http://www.pasteall.org/blend/6792

The blend contains the brushes I used for texture painting, a few grasses and an tarmac closeup.
The whole secene has 3 textures, 1024x1024.
The end.

Further stuff, like the darker spots in the middle where the planewheels loose rubber I´d decal with a quad, same for numbers and stuff like that.

In the example you posted you can see, that the curvature is made out of geometry, as the curve is jaggy. They most likely just used 1 gray texture with a white line on one side and mapped it perfectly.

waooow :
arexma you are my hero !!! i mean it !

i will study you example carefully and keep you informed

god bless you !

hi arexma

with all the good will in the world, I struggle to follow you just with the blend file

sorry if it is too much to ask but can you give me a general guidance on the steps you followed ,
of course a mini tutorial will be just helpfull :stuck_out_tongue:

you probably guessed it, i am not an expert in blender so some assistance will be very very welcome

another thing

your approch use GLSL, so if i export the final model to my graphic engine openscenegraph ,
i have to rewrite the shaders ? or there is some format that support it like collada or fbx ?.. i don’t know

as a final note
i pm you the model i am working on it
it’s based on a real worl airport, please look and tell me your opinion

here a google map picture of
please see the various yellow lines and decals decals on it

http://data.imagup.com/8/1121933435.JPG

anyway Thanks and good day

Uh that’s kind of tough. It requires intermediate unwrapping and quite some planning ahead with the textures. It’s nothing you learn by a tutorial, you got to hone the art.

GLSL is just for viewport so the textures look “nice” there is no use of shaders from my side, i just turned down the gloss of the materials.
Basically it is geometry with an UV mapping and the textures. No shaders at all. IF openscenegraph supports normalmaps that might be a big improvement. There is an addon around though that allows you to export the shaders blender creates if you play with the materials. Just search with google or the forum. I´ve never used it though.

I’ve looked at your file and the image above. You’re running into two major problems.
First the tiling. What looks good in a MMO, RPG or any other game where you’re close to the ground, kills the visuals in a flight simulator/areonautics game.
If you’re close to the ground, taking off or landing it looks nice, if you’re up in the air it looks fugly. The tiling on the hangars is really bad.

The way to solve this are adaptive LOD texures. (=Level Of Detail)
Imagine you’re 10 feet above the ground, easy enough, you use tiling textures, no one can spot the repeating.
Now if you’re 1000 feet above ground, everyone sees the tiling. Obviously unless you use ID softwares Tech5 engine (RAGE, DOOM4) you’re unable to use 20.000px square textures to paint all the detail.
However, 1000 feet above ground, what is 100x100px at 10 feet, is 1px from up there.
So you create a second texture for the various heights.

It is simple enough, let´s say the airport spans 1km by 1km.
at “ground level” you use tiling, good enough.
at 100 feet, the 1km/1km from sattelite view would span over lets say 16k pixel square.
So you bake your tiling into 16 times 4k pixel textures. Then you paint the seams and tiling out of them.
At 500 feet, you use 8 times 2k pixel textures. and so on.

You just have to find the point in the engine and game, where you start replacing the tiling uv textures, by bigger texture maps.
You´ll have a point, where the tiling is noticable, and at that point you got to start replacing the tiles with area-wide texture maps, reducing the size by the amount of texture maps visible.

The second problem are your decals. With that complexity I seriously doubt it is possible to do with tiling.
You either have to do “floating geometry” for those lines, placing faces as decals on top of your landscape mesh, or, cut them as geometry into the landscape mesh, map the “concrete-part” repeatable to use tiles, and map the lines seperately.

In any case, though the project seems trivial, it has quite some complexity to it and there’s no real easy way to do this and it requires intense planning ahead on how it will be integrated into the engine.

@arexma:
are you using the pyosg wrapper for openscenegraph
or the coding with c?
And do you use vrml-exported-graphics?

Next, the size of the texture-tiles is “game-specific”.
Your first screenshot and later google-pic are not the same style.
The first screenshot looks a lot like the “white stripes” are modeled
and set for a white material - in blender this would be like creating in
one plane the faces for the grass, the faces for the runway, the faces(like small lines) for the runway-lines and use small tileable textures for all colouring.

hmmm … i see

For the tiling problem i will study your suggestion but in meanwhile i want to avoid it with some (splatting/stencil map) and adding some other objects on the ground like trees, grass … etc

For lines and other decals if i understand correctly i have two options :

  • Use a separate textured geometry just above the ground but with the risk of the z-fighting
  • Subdivide the ground and uv-unwrap each part with a separate texture wich produce a better result

Another method i tried before :
is to use a bezier curve to make these lines, but i found this technique not very flexible and very time consuming because the difficulty of using the bezier curve (in my case of course :))

i know i cannot get a good result just by reading a tutorial, and i am aware that good results need lot of practise , i need only to know what to practise, a general guidance to achieve my goal,

just t tell you, i read and watch a tons of tutorials about uvmapping but none of them has meets to my needs

ah something that come in my mind now !!
is it possible to use several uvmap on a single surface ? :

let’s say that i have the very bottom uvmap that use the goudron texture :
over it an uvmap that draw the yellow textures with an alpha map
and over all it another uvmap for the decal numbers and other descriptions

another technique is to make decals with empty just in this video :
http://vimeo.com/groups/240/videos/11875714:

although it worked in blender when i export the model the decal does not appear in the 3d engine

i tried every model format

heeeeeeeeeeeeelp …i am loosing my mind …

ps :
when i see something like that i am really jealous:

Note the incredible details on the ground

do you think something like that can be achieved in blender ?.. this life ?

@test-dr :hey it’s me who use openscenegraph :slight_smile:

and yes i am using the blender 2.49 exporter for openscenegraph cause the 2.57 one still unstable

i am not aware about the vrml stuff
can you tell more please

@test-dr: Never used Openscenegraph.

@amigo:
I don´t know how the hawkx engine work or what they use, but it has to be tailored of the use.
When you watch the descent for landing you see, well better you don´t see any texture switching.

My guess is that everything is textured with lots of small high quality texture maps, and the engine decides when the distance is too high to spot smaller details and renders multiple textures into once and uses it. Something like realtime-texture backing.

But I have no idea how they actually do it. But they have a LOD system for geometry for sure, and I guess with this one they also switch the texture LOD.

I´d texture it with tiles, bake this texture into smaller texture maps, and go from there painting them with all the detail you need.
As for the LOD system you have to decide what to use and when, or see what the specifications of Openscenegraph are. I have no idea how the engine works.

hi arexma :
the hawkx video was just to show you my goal, sometimes in the future (near i hope ;))

Now back to blender


        Decals

how about these two propositions :

  • using decals with empties
  • using multiples uvmaps

i tried the two

  1. for the first, even the decal appear in blender it disaspear after exporting in all format(3ds,obj,osg,dae…etc)

  2. same thing every thing is perfect in blender but when exporting only the top uvmap appear (the decal)! and it appear repeated even if i choose the “clip” option in the mapping panel


        Texturing

i am really not familiar with the terms you mentioned , please tell me more on this :

  • what do you mean by texturing with tiles ?
  • what is texture backing ?

I can’t really help you further as I am not familiar with openscenegraph and its capabilities and to be blunt, it’s not my job to read into it for you.

Decals have to work 100%. They are just more geometry with a texture. If they don´t show in OSC there are 3 possible situations:

  1. You did not uv-unwrap the quad holding the decal.
  2. You did not offset the decal enough and OSC thinks of it in or below your landscape mesh
  3. The normals are facing downwards and OSC displays only singlesided.

If OSC supports mesh and texture LOD you don´t need decals anyways.
You tile your landscape in let’s say 3232 textures with 40964096.
This is LOD-0. When near the ground.
For LOD-1 you take 22 of those textures and bake them into one 4096² texture.
For LOD-2 you take 2
2 of LOD-1 and bake them into a 4096² texture.
and so on…

Texture baking… not backing. Use the forum search or google on how to do it in Blender. Think of it like taking a photograph of a jigsaw puzzle. The jigsaw tiles are the various single UV textures (the 22) and the photo is the next LOD, one smaller texture containing the 22. You can also simply stitch them in GIMP and scale it down. Doesnt matter.


As for high detail ground, many commercial grapic engines use a layer system with blend/stencil maps.
You put a tiling soil texture over the whole landscape, on the next layer you put grass, tiling again, on the next layer you put flowers, on the next layer stones.
And then you draw blend/stencil maps, often low resolution, so simply create your landscape.

Many commercial engines come with world editors, there you just paint the textures like you would with a brush, but what happens behind the scene within the engine is much more complex.

ok thanks for your time