Hi there! I feel it's best to come and ask the experts of such a concern.
I am with a group of close friends working on an open world fantasy sandbox game which has been in 'hobby' development for a few years now. We are currently trying to wrack our brains over how to as accurately as realistically possible, transfer height information over from a drawn 'painted' style map, a-kin to the many maps on this site, onto a height map for use as a base to shape the 3D terrain of the game world.
We have the world map in the form of a drawn map, and wish to create an accurate 3D terrain of this map. I am wondering if there is any information how to go about performing this process. We have tried so far to generate a normal map from the image and then convert that to a height map. This is a fairly close approximation but problems arise due to the normal mapping, which takes vertex normal direction as colour information, where as a height map takes absolute pixel height information (as a binary integer between 1 and 255) per pixel as colour information.
Basically this means that a mountain on the original map will actually make a smaller mountain, offset slightly, and a gully next to it, as the 'height' on the height map will actually be a generated from the lighter colour for 1 side for the mountain, and a darker for the other based on normal information, not 'height' information. It basically means that a height map from a normal map is a weird sort of scewed reflection, instead of a direct representation.
It works, sort of, and has been the best results so far but it is still a long way from something we would be happy with.
I am wondering if there is any information available about the general workflow of retaining and transferring topological detail as formed in classical map creation, over into crafting a height map for 3D terrain generation of the originally created topology in the map.
We are making acceptable progress in experiments, but as ever, asking the professionals about any information regarding this concern is a no brainer
Thanks in advance for any advice!