Я скачал текстуру синего мрамора с сайта НАСА, прикрепил ее к материалу и поместил на сферу.
Я хочу отобразить сетку координат на глобусе и добавить маркеры. Я создал префаб для маркера и материал для параллельных и меридианных линий.
Преобразования координат:
Код: Выделить всё
public static (float lat, float lon) XYZToLatLon(Vector3 point, float radius)
{
Vector3 normalized = point.normalized;
float lat = Mathf.Asin(normalized.y) * Mathf.Rad2Deg;
float lon = Mathf.Atan2(point.z, point.x) * Mathf.Rad2Deg;
if (lon > 180f) lon -= 360f;
if (lon < -180f) lon += 360f;
return (lat, lon);
}
public static Vector3 LatLonToXYZ(float lat, float lon, float radius)
{
float latRad = Mathf.Deg2Rad * lat;
float lonRad = Mathf.Deg2Rad * lon;
float x = radius * Mathf.Cos(latRad) * Mathf.Cos(lonRad);
float z = radius * Mathf.Cos(latRad) * Mathf.Sin(lonRad);
float y = radius * Mathf.Sin(latRad);
return new Vector3(x, y, z);
}

С чем это связано, что я сделал не так?
Подробнее здесь: https://stackoverflow.com/questions/798 ... e-in-unity
Мобильная версия