VisionOS. Можете ли вы использовать RealityView вне ImmersiveSpace?
У меня есть приложение VisionOS, которое поддерживает как WindowGroup, так и ImmersiveSpace.
import SwiftUI
@main
struct VisionApp: App {
@State var immersionStyle: ImmersionStyle = .mixed
var body: some Scene {
WindowGroup {
ContentView()
}
ImmersiveSpace(id: "MySpace") {
MySpace()
}
.immersionStyle(selection: $immersionStyle, in: .mixed)
}
}
Окно - обычное окно. Я могу загружать свои представления SwiftUI, а также использовать другие приложения, такие как Safari. У меня есть кнопка для запуска ImmersiveSpace.
ImmersiveSpace не обеспечивает полного погружения. Есть несколько моделей и излучателей частиц, но в остальном вы все равно можете видеть все свое реальное окружение. Я все еще вижу окно своего приложения, но, к сожалению, при запуске ImmersiveSpace все остальные приложения переходят в фоновый режим.
Я попытался поместить RealityView внутри WindowGroup, но, похоже, это не работает:
WindowGroup {
RealityView {
/// ...
/// ...
}
Я подозреваю, что это намеренное поведение и ограничение ImmersiveSpace, но я прошу убедиться в этом.
1 ответ
Вы можете использовать RealityView как в обычном окне, так и в томе. Я только что попробовал разместить RealityView в каждом из них, и все работает нормально. Может быть, опубликовать больше своего кода?