Crystal Space
Welcome, Guest. Please login or register.
December 22, 2014, 08:03:29 am

Login with username, password and session length
Search:     Advanced search
9032 Posts in 2046 Topics by 9300 Members
Latest Member: Almedamowery
* Home Help Search Login Register
+  Crystal Space
|-+  Crystal Space Development
| |-+  Game Content Creation
| | |-+  How to create landscapes?
« previous next »
Pages: [1] Print
Author Topic: How to create landscapes?  (Read 4482 times)
mark
Full Member
***
Posts: 101


View Profile
« on: February 26, 2005, 10:24:26 am »

The mappers in my team create all maps with blender.
Until now, these maps were town-levels and we want to create some grassland now.
Mapping grassland is difficult because of it's bumpiness, so the mappers say there must be an algorithm to do that -> TerrainMesh.
Uhm, but I cannot *code* a map like this, the TerrainMesh is just for loading a ready map.
Am I right?

So what must be done by the mappers and what must be done by the coders for that?
Isn't that just simple map-loading for me and the mappers have to do everything in blender? I don't know...
Logged

Gentoo Linux ~x86, kernel 2.6.11-cko9 smp, gcc 3.4.4-r1, binutils 2.16.1, glibc 2.3.5 NPTL
CS+CEL Pseudo Stable 2005.09.03
dingobloo
Idle Extrordinare.
Global Moderator
Full Member
*****
Posts: 125


View Profile WWW
« Reply #1 on: February 26, 2005, 10:48:53 am »

The short answer: Artists Job.

Well CS used to have an algorythm based system previously using functions (terrfunc) but this became defuc even before the old renderer was removed.

Nowadays CS's default way to access the terraformer (the thing that deforms the terrain) is a heightmap, an example is provided in /CS/data/terrain/

There are a few components that make up the newer terrain engine they are a material map, a heightmap and a basemap.

The material Map is an indexed image meaning basically you assign colours to a colourmap inside photoshop or GIMP which corresponds to a number(0,1,2)  that the terrain engine can read and apply textures in a non-uniform fashion.

The Heightmap is a greyscale image that tells how high the terrain should be in certain places.

The basemap is a texture which should align with the material map, but basically provides a single layer texture for the whole terrain so that it can fade to this texture in the distance.

Now,  all of these things can automatically be created from a CS mesh using heightmapgen.exe by editing heightmapgen.cfg (CS/data/config/)
basically you feed it a world file and specify a mesh in heightmapgen.cfg (usually a deformed plane) also you feed it a material map and it will generate a basemap for you, and spit out of terrain world-file ready for use, even if you have other geometry on the scene it will only convert the mesh specified, therefore you can make a house ontop of a terrain and hte house will remain intact and the terrain will be as it was in the mesh only as terrain. (note that you cannot use caves or sheer-cliffs in a heightmap because it is unrepresentable in 3d, you need to use meshes for that)

The advantages of using the terrain engine: LOD it's fast for open areas where alot of the mesh is visible.

Here is a nice screenshot of the CS terrain Engine:

Logged
TurboGlider
Guest


Email
« Reply #2 on: July 20, 2005, 10:51:32 pm »

Could I use more than one materialmap? For example : Texture grass has it's own materialmap and Stone has it's own materialmap? 
Or the engine could only use materialmaps witdh index colour?

Logged
zaz
Newbie
*
Posts: 16


View Profile
« Reply #3 on: July 21, 2005, 04:05:44 am »

There are several ways to do this in blender.  There's a section in the manual under Advanced Modeling called Noise.  I'd put a link in here for you, but I'm getting connection refused from blender.org and blender3d.org right now.  If you have a local copy of this or Blender 2.3 Guide book, you can find it there.

In a nutshell, take a plane, size it to the size you want it and then subdivide it to the resolution you want.  Add a material and assign a texture to it.  This texture is basically a heightmap.  A normal blender cloud texture can give nice results.

Go back into edit mode, select all the vertices and switch to the Editing (F9) buttons.  Adjust the NLimit slider to get the results you want and click the Noise button as many times as you need to get the results you want.

Alternatively, I found a python script called A.N.T. Landscape you can get by copying it from the elysiun.com forums at http://www.elysiun.com/forum/viewtopic.php?t=35882

Be careful to preseve the indentation as python is sensitive to that.  I've played with the ANT Landscape tool a bit and gotten pretty good results quickly.
Logged
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 8.261 seconds with 17 queries.