我想开发一款第一人称驾驶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)
}
如果 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()
}