I have a map done in Fractal Mapper 8 that I’d like to ‘import’ to WM. It is not a heightfield, etc., but I’d like to use WM to get the basic terrain in and then (re)-generate the continent. How do I get started.
@jbclaypool What’s the format of your existing terrain data?
It’s a Fractal Mapper 8 file which is a not a height map, it’s a vector format with some bitmap elements. So, what I’m asking about is how to use the existing map as a template to “draw” a heightmap in World Machine.
Hi @jbclaypool. I’m by no means an expert, but the way I would tackle your problem would be to export your map as a high resolution image file, and then open that up in Photoshop/Gimp and turn it into a heightmap there. Since I suspect the main thing you want is the coastline, threshold the image to just a pure black and white, with the ocean being black and the land being white. Then select just the land(using, for example, the select by adjacent color tool or the smart selection tool) and soften the edges of the land until they smoothly blend into the ocean. Finally reduce contrast until you get something more reasonable, export, and import into WM.
Keep in mind that without an EXTREMELY high resolution you will lose quite a bit of detail - that’s just unavoidable with this method. Once the terrain is imported you can add mountains and other terrain features with the layout editor.
Personally I wouldn’t actually do any of that. I would just recreate the coastline in the layout editor to start with, as it gives me more flexibility and will probably involve much less tweaking to get just right.
This is recently extremely within my wheelhouse, as this is exactly what I’ve been doing for months now, though I’ve been going from hand drawn maps!
First off, if Fractal Mapper can export an svg format for the landmasses, you’ve got a great head start there. There’s a couple methods of going about it (and I’m considering making a video tutorial on my methodology for this, as it’s much easier to show than to tell, but I’ll try here anyway).
First of all, and the biggest issue I faced when trying to import non heightfield maps into WM, is you need to make sure that your vector file has no curve data baked in. If you have Illustrator (I’d imagine Inkscape or other free vector imaging programs have similar features, but I’ve never used them, so your mileage may vary), you can open up the exported svg, select the shapes, and go to “simplify”. Choose the advanced menu from there, and set your simplification as low as it will go, and check the “convert to straight lines” box. Save out the file as an SVG, using the SVG 1.0 standard (no idea if this is necessary, but it worked better in my case).
You can then import that shape into a Layout Generator within World Machine, scale, rotate, and move it to where you need it to be. Repeat this process for any and all landmasses (or if you can export them all to a single SVG file, you should only have to do it the one time).
If you have a general (or specific) idea of the general contours of the terrain, you should create another layout generator, creating shapes where you want your mountain ranges to be, and adjusting the falloff accordingly. If you don’t have any idea of what the general contours should be, you can skip this step.
Following this, you have a couple options for how to apply these shapes to the terrain. You can either use the layout generator for your overall landmasses as a mask for an Advanced Perlin generator (this was my first method, and I’ll go into why I adjusted it later), or you can use the layout generator as a mask for a Bias/Gain filter on an unmasked Advanced Perlin generator (My current method). The first method, in my experience, has a tendency to create really sharp coastlines with steep falloffs to the ocean floor. If this isn’t of much concern to you, it’s a much more precise method. The second method, especially with careful tweaking of the falloff of the landmasses in the Layout Generator, creates more natural, I feel, coastlines, as well as maintains a similar general structure to the ocean floor (the previous method creates a fully flat ocean floor), but can cause some odd distortions later on down the line.
Once you have your landmasses, you can then use the Layout Generator(s) outlining your mountain ranges to repeat the process to add mountain ranges in. For this, I heavily suggest the second method, as the former may cause issues where one Advanced Perlin does not blend naturally into the other. Alternatively, you can use the Layout Generator fed into the mask of an Advanced Perlin, use a combiner set to “add”, and raise your mountain ranges like that.
At this point, you should have something that (at least roughly) resembles your original map in Fractal Mapper, and can then continue to work on the map (adding erosion and the like) as you would any other WM project.
I’d like to reiterate that this is simply my current method, and there’s a thousand other ways you could go about it. If you like the results of this, or if it shows promise but you need more details, let me know, I’d be happy to share this methodology with anyone who’s interested!
Adding notes as a separate reply to ease readability.
The reason I prefer this method to the aforementioned raster mask method is it maintains a fairly nondestructive workflow. If, at any point, you feel the Layout Generators are misrepresenting your initial ideas, you can go back and edit them (for example, I had a problem where a Coastal Erosion node ate away too much of my coastlines, so I simply went back to the original Layout Generator and adjusted the falloff curve and distance until it more accurately represented my vision for the world). With a raster mask, you’d either have to use additional Layout Generators to adjust the landmass, or go back to your raster imaging program and fully rework the original mask to get something that works.
As far as trying to simply recreate the landmasses in a Layout Generator from the get-go, if Fractal Mapper has the option to export an SVG, you’ve already done the work of creating the map, and it’s much more efficient to just use the work you’ve already done, rather than essentially starting completely over.
There’s also a ton of other ways you could use these exported SVGs to create the heightmap, and I fully encourage playing around with different things. You’ll likely find something that works better, or just works better for your personal workflow.
I didn’t know WM could import SVGs - that’s awesome! Definitely scrap the raster method then.
Oh yeah! It’s super specific with how it works. Any curve data baked in will turn the svg into, at best, an outline where it’s just a path, not a filled shape (giving you essentially a ring of mountains rather than a landmass), and at worst, an indecipherable mess that causes the program to lock up for a bit while it figures it out.
Couple things I forgot to mention! I’ve found one of the easiest ways to align things properly using illustrator is to make the artboard the same aspect ratio as the world machine document (so for most, you want a square artboard, I say ratio because for the atlas I’m working on, even in world machine, the extent is twice as wide as it is tall), place a rectangle the same dimensions as your artboard on the lowest layer, then your landmass(es) where you want it/them. In world machine, you want to set up your coordinates slightly differently. Working with the default 8km x 8km size, you want your upper right coordinate to be 0km 8km, and your lower left coordinate to be 8km 0km. That might be backwards, but it’ll be easy to tell. The easiest way to think about it is you want your upper left coordinate to be 0km 0km and your lower right coordinate to be 8km 8km, but that’s not how the interface is set up. This is because when you import your svg, that is where it will import It’s a lot easier to have the extents match the area than to try to line it up later. Anyway, once the svg is imported into a layout generator, you can delete the rectangle in the background, and you are left with a perfectly aligned landmass. For any mountain locations, repeat this process, but delete out the landmass shape in Illustrator before exporting (to make it one less shape to delete in World Machine). This way you can keep precise alignments during the import process.