如何使用 RealityKit 在 VisionOS 上的 RealityView 中添加透视相机?

问题描述 投票:0回答:1

我想开发一款第一人称驾驶VR游戏。我想以编程方式移动用户的视图,而不需要用户移动。我在 RealityKit 中找到了 PerspectiveCamera API。如何在RealityView中添加PerspectiveCamera来模拟驾驶视角并禁用Vision Pro的默认perspectiveCamera?

我尝试过添加PerspectiveCamera,但行不通。

RealityView { content in
    let anchorEntity = AnchorEntity(world: [0, 0, 0])
    let sphereMesh = MeshResource.generateSphere(radius: 1.5)
    let sphereMaterial = SimpleMaterial(color: .white, roughness: 0.5, isMetallic: true)
    let sphereEntity = ModelEntity(mesh: sphereMesh, materials: [sphereMaterial])
    sphereEntity.position = [0, 2, -5]
    anchorEntity.addChild(sphereEntity)

    let camera = PerspectiveCamera()
    camera.position = [1, 4, 0]
    anchorEntity.addChild(camera)
    content.add(anchorEntity)
}
swiftui virtual-reality realitykit visionos
1个回答
0
投票

如果 cameraMode 属性设置为

.nonAR
(即 VR 模式),您可以在 iOS 和 macOS 上使用自定义的
PerspectiveCamera
。然而,visionOS 还没有自己的“.nonAR 模式”来激活自定义(非默认)PerspectiveCamera(即使您运行完全沉浸)。

@available(macOS 10.15, iOS 13.0, *)
@MainActor @preconcurrency 
public class PerspectiveCamera : Entity, HasPerspectiveCamera {

    @MainActor required public init()
}
© www.soinside.com 2019 - 2024. All rights reserved.