I’m a wee bit confused here, so I hope I don’t confuse the readers as well.
World composition allows for creation of pretty much any size world.
And so I pulled out a 11379km squared map, sliced it up appropriately with 8KM tiles and created a working world.
All good so far.
I made my self custom tools to work it, including a tape measurer.
Pretty simple initially, I figured a Distance between A and B would be enough.
A road importer tool that lets me pull points off a lat/lon system and plot them in unreal. Works great, converts well. (even if due to gaussian blur on the heightmap the height is “diluted” in most areas compared to what it should be were the data actually a 1m lidar.).
All of this just works, in geo-referenced Lon/Lat units.
Now if you go and measure from City A to City B you get a wrong distance.
“Why is it wrong”?
Well, it’s wrong because the earth is actually round. Unreal is not.
This discrepancy in measure can be corrected for - without the need for C++ or doubles by implementing an Ellipsoidal calculations (Haversine’s formulae).
Now my tape measuring system is fine and reads correctly, but if I actually travel on foot from point A to point B I get about 20km of a difference…
I know my map’s extent / the Lon/Lat I cut it with at all 4 corners, so I can figure out that X unreal units into the map = Y Lon / Lat.
However, I’m really confused as to what to do for the player.
Say I want to run a marathon, from point A to Point B.
In the real world I know that the distance is 42.2Km.
Within Unreal a player is actually going to walk around 52.4 KM instead.
That’s 10km and it means that my character base speed has to be that of Usain Bolt on drugs to get a somewhat comparable time.
So, I’m not sure what to do.
Shrinking the map or distorting it prior with WGS/EPGS coordinates doesn’t really work, the real world location topology becomes almost unrecognizable when there. Compared to what I have now, which looks almost identical - auto material and all.
Would anyone happen to know how this is handled in a GPS system or similar?
Is there a known way to distort map tiles into a sphere of known radius at runtime?
I’m not particularly keen on breaking into the Landscape system to build into world composition, but basically I think that what is needed for accuracy is a way to convert to a localized EPSG format based on the real world Lon/Lat that the map is closest to - which can shift drastically between zones and is the reason that the topology exported with 1 format does not look anything like the equivalent real world location while the one that is standard (WGS84) is spot on.
I would be curious to hear Unreal’s take on this too. Since it seems that all the world and landscape tools are getting a major update.