Good news with my horizon issue, with the OM3 script. Now management have decreed that the tile map is to function in 2D mode. In other words, no camera pitch just up, down, left, right and rotate.
I guess the decision came down after they got a quote from Google, for their new fancy 3D Google Maps for Unity API, at a sticker-shock inducing 2 million dollars per month... yes that's right... per month.
So those issues I was having with the horizon have magically gone away. However I've had to add a few lines of code to your OnlineMapsCameraOrbit.cs file, so that I can lock either the pitch and/or the rotation of the camera. This way I can keep the tile map as is, but have it behave just like a 2D texture map.
The changes are:
1. Two new public variables to allow setting the camera locks, from the inspector:
[Header("Camera Lock Options")]
public bool LockPitch;
public bool LockRotate;
2. Adding in a logic check just before you update the rotation axis:
isCameraControl = true;
if (lastInputPosition == Vector2.zero) lastInputPosition = inputPosition;
if (lastInputPosition != inputPosition && lastInputPosition != Vector2.zero)
Vector2 offset = lastInputPosition - inputPosition;
// Lock pitch.
if (!LockPitch) rotation.x -= offset.y / 10f * speed.x;
// Lock rotate.
if (!LockRotate) rotation.y -= offset.x / 10f * speed.y;
lastInputPosition = inputPosition;
Not sure if you think this is worth keeping within the camera orbit control, but it does allow you to control access to these camera movement axis if desired.