Hello! Long time Gaea owner, infrequent user, first time caller…
My use case: I want to create a set of terrains for export as heightmaps for use in creating Affinity brushes, which will in turn be used to create a continent-sized heightmap of a fantasy setting.
The elevations on this continent range from 0 to 9000 meters, with different orogenies having, just as in the real world, different individual elevation ranges. But I’d like to create a limited number of brushes to stamp these features.
Ideally, each brush’s heightfield has the full range of a 16bit grayscale, and using leveling or other means, I can adjust the min-max elevation on a per-layer basis in Affinity.
The challenge – and where Gaea comes in (finally getting to it) – is to make sure the heightmaps exported from Gaea all share that full range of possible elevations.
Is this possible to do within Gaea, in the graph? Or should I manipulate (autolevel, perhaps) the imported heightmap in Affinity?
Hello. There is an “Autolevel” modifier that you can use on pretty much any node. It sets the terrain height the way it fills the entire range from 0 to 1.
Choose Terrain Definition based roughly on the real-world scale of the feature you are designing.
[!note]
If your 9000m ( scale or height) is the constant then you can build your collection into that.
If it differs though choose a good terrain definition representing what you’re trying to create each time.
Make your terrain
AutoLevel at the very end to convert the data cleanly into a normalised 0-1 data.
Export as a 16-bit heightmap.
In Affinity, control the final vertical amplitude separately.
This should give you a clean collection where your scale is represented well during the creation and your normalised process only occurs at the end.
You might see in Gaea after the auto level it stretches a lot, this should be fine for your workflow if you’re aiming to Keep height controls in Affinity.
For a super quick test
add a mountain node
auto level it
Mark for export that final node with (F3) and set the data to build as .exr ( or whatever you need that’s 16bit in Affinity.
Build
That should quickly allow you to validate the data is correct before you commit to building your first brush.
Thanks – using autolevel results in some nastly spikiness in the terrain – since I’m exporting for the purposes of a heightmap, can I disregard the visual distortion?
As far as I understand the purpose of autolevelling in cases like yours, it is meant to utilise the full bit range (data density of the image) to pack as much info into the texture as possible, since [0;1] fits five times more than [0;0.2].
So I see it in the way, your terrain occupies [0;0.2] range (20% of the project height), you autolevel it, export, and then clamp in further app (Affinity) to 20% ([0;2]) to use for your needs.
If I’m misunderstanding something about your intentions, let us know what your goals are. =)
Yeah, you’ve got it… the extreme appearance of the autoleveled result in Gaea threw me off, but I guess it’s doing just what it should: holding on to every bit of data, and dutifully displaying it. Thanks!