Существует ли существующая библиотека или сторонние инструменты, которые могут отображать что-то подобное в RealityKit по произвольной координате?
Я попробовал добавить MapKit с высотами .realistic в RealityView, но он отображается как плоская поверхность.
Map(
initialPosition: .camera(
MapCamera(centerCoordinate: someCoordinate, distance: 2000, heading: 0, pitch: 45))
)
.mapStyle(.standard(elevation: .realistic))





В VisionOS 1.1 карты Apple MapKit (как и любой другой среды создания карт) не могут отображаться как настоящие 3D-объекты (даже если включена функция Realistic Elevation). Карты могут отображать псевдо-3D-высоты только на плоском 2D-слое, точно так же, как 3D-сцена SceneKit визуализируется как 2D-представление в VisionOS.
import SwiftUI
import RealityKit
import MapKit
@main struct YourApp : App {
var body: some Scene {
WindowGroup {
ContentView()
}
.windowStyle(.volumetric)
.defaultSize(width: 0.5, height: 0.5, depth: 0.5, in: .meters)
}
}
struct ContentView : View {
let map = Map(initialPosition:
.camera(MapCamera(centerCoordinate: .init(latitude: 38.897957,
longitude: -77.036560),
distance: 2000, heading: 0, pitch: 45))
)
var body: some View {
map
.mapStyle(.standard(elevation: .realistic))
.mask(Circle())
.rotation3DEffect(.degrees(90), axis: .x)
.frame(depth: 900, alignment: .center)
RealityView { content in
let cylinder = ModelEntity(mesh: .generateCylinder(height: 0.05,
radius: 0.14))
cylinder.position += [0.0, 0.22, 0.08]
content.add(cylinder)
}
}
}
Решение здесь только одно: создавать 3D-объекты фасадов самостоятельно.
Я отправил в Ассистент обратной связи запрос на объемные представления MapKit и призываю других сделать то же самое.
Потенциально, вместо использования примитивов RealityKit для каждого здания на 3D-карте, Apple могла бы использовать второй слой изображения для модификатора геометрии.
Лично меня больше интересует ландшафт, который определенно представляет собой 3D-сетку. Пожалуйста, отправляйте запросы на MapKit Vision, чем больше они получат, тем больше вероятность, что они реализуют его.
Mapbox поддерживает VisionOS, начиная с версии Mapbox Maps 11.2.0-beta.1. Скриншот и краткое примечание об ограничениях можно найти на странице https://docs.mapbox.com/ios/maps/api/11.2.0-beta.1/documentation/mapboxmaps/work-with-visionos/. Я еще не пробовал этот SDK.
Glacier Peak Studios опубликовала версию Topo Maps+ для VisionOS, которая выглядит неплохо в 3D-режиме. Судя по отслеживанию с помощью Proxyman, я считаю, что они используют Mapbox. Вы по-прежнему ограничены 2D-картой, наложенной на 3D-поверхность, без вытягивания зданий. https://apps.apple.com/us/app/topo-maps/id672246353
Вот рендеры национального парка Йосемити на Topo Maps+:
Я думаю, что никто, кроме Apple (учитывая их ресурсы), не способен создавать карты с 3D-высотой для RealityKit. Конкуренты вроде Google и Яндекс в этом точно не заинтересованы.