• Welcome to World Machine Community. Please login or sign up.
October 18, 2019, 07:17:22 am


Read the Development Diary for an inside look at World Machine's progress!

Ack! How do I remove seams from generated WM heightmaps

Started by stonstad2, July 17, 2004, 02:40:39 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


How do I remove these "seams" from two separate, individually generated heightmaps created in WM?  For the second heightmap, I moved the camera 1 unit along the X axis thinking that the images would line up.  They do, but the height values are slightly different!

Here is a screenshot showing what happened when I lined-up the two exported images:

I can blend these images in an image editing program (not the ideal solution).  Is there a way to tell WM not to vary the height slightly?



It depends on the devices you use...

On the perlin noise devices, check "Use stabilized noise".

But you will have problems with seams if you use erosion devices (because the edge of the terrain isn't managed), gradients (which doesn't move with the X axis) and some other ones...

You can also try to use the Seamless Map macro by Filipe Dias, which outputs... a seamless map :)


:D Don't you just love when other people do the advertising for you?....
Thanks Rhalph! :)

...Well yes, I made that macro, but keep in mind that it's intended to create a map that can be seamlessly repeated.. So anyone with a strange desire for greyscale heightmap desktop images may use it in his desktop :P (ok I know there are other uses for seamless maps ;) )

If you really want to make an enormous terrain out of small WM-generated pieces that don't quite match (because of the use of the problematic devices) and by some reason want to do that in WM instead of doing it by hand in a painting program (as mentioned in this thread), you can edit my Seamless macro. Here are a few hints:

Stitching HowTo:
The macro by its self cannot be used for stitching purposes (alone).
Though, you may edit it to use different heightmaps (4). Don't be discouraged by the huge wiry mess inside the macro (that is because I have a big moitor :P) [zoom out by dragging with the right-mouse-button pressed]

Ok, In my macro you should find 3 major areas or groups of devices:
:arrow: On the top you have the scalar devices that I like to use for auxiliary numbers and to keep them all the same, so anyone in the future only has to make a change in one spot;
:arrow: on the botton-right there is the place where the "4 heightmaps" are combined;
:arrow: on the bottom-left is where the input terrain is split into 4 heighmaps, (with the 4 corners of the image)
The place to edit this macro if there at the bottom-left region.

Why it works:
The secrets for this macro to work as seamless map generator is to grab the 4 corners of the image and place them side by side (like photoshop's offset filter) and to mixture the edges using some noise. The other secret, for the edges of this seamless map to be seamless, is the reason why I created that frustum to "mask" the displacement, and make sure those mid-points of the edge are the same. To turn this seamless macro into a stitcher, just feed heighmaps instead of corners to the lower-right group of devices.
It's fairly straightforward. I can do this, if you like, and call it a new macro. ( :idea: see updated section on the bottom of this post)

Still, beware that this only stitches 4 heightmaps and corresponds to a heightmap in an awkward position that overlaps the existing "grid" of heightmaps. If you imagine your rendered heightmaps as being the keys in the numpab of your keyboard, the heightmaps generated by this new macro would be placed centered on the vertices of the keys. (overlapping the 4 corners of 4 adjacent keys (7, 8, 4 and 5, for instance)).

I only need to say one more thing. For this to work you neet to organize your workflow as follows:
:arrow: generate all the heightmaps you need to merge (by building, "file outputting", offsetting, building, "file outputting", etc, etc, etc);
:arrow: Save them with 2D-impure names (names that give you a reference to their 2D position) so that you know how to stitch them;
:arrow: Then, run the heightmaps through the stitching macro (available shortly which will be the modified seamless macro as described);
:arrow: and finally, the last step has to be made in a painting program to glue the several small heightmaps into a huge single heightmap.

It IS important to save the small heighmaps, because it is the only way to have heighmaps created from different offsets at the same time in WM.

I'll update this post when I release the Stitcher macro. Still, I encourage everyone to edit my Seamless macro, as this is a nice change for practicing macro-making skills ;)


Ok, it works, but unfortunately WM rescales the height of a heightmap when loading it. This means that creases may appear. So there is no garantee that two adjacent maps created by the Stitcher macro will stitch perfectly. As the 4 images have been "de-calibrated" when loading, it might mean more time in photoshop after all.
The Stitcher macro can be found here.
If anyone has any question on this matter, let us know.




Rhalph and especially Fil, thank-you!  :D

I am going to try this out tonight.  This is a problem with many solutions - I tried stitching within 3DS Max (the academic version - I am not a professional) without success.  I will let you know how it goes!  :wink:



Hi again !

I finally managed to create a macro which allow you to modify terrains in order to remove the seams :

You can of course choose the blending size.

You can see an example here :

Tell me what you think ;)

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.

Please leave this box empty:
Type the letters shown in the picture
Listen to the letters / Request another image

Type the letters shown in the picture:

Shortcuts: ALT+S save/post or ALT+P preview