首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARKIT ARCamera zFar

ARKIT ARCamera zFar
EN

Stack Overflow用户
提问于 2017-07-26 00:08:05
回答 1查看 664关注 0票数 0

有人知道如何更改zFar或ARKIT ARCamera吗?或者获取它的当前值。

我有一个非常大的模型,正在被裁剪。我认为。在搅拌器中,我有同样的问题,并通过设置Frustum的far值来修复它。

我可以为每个摄像机帧创建一个投影矩阵,但不能设置它。

代码语言:javascript
复制
    func session(_ session: ARSession, cameraDidChangeTrackingState camera: ARCamera) {
        textManager.showTrackingQualityInfo(for: camera.trackingState, autoHide: true)

        let projectionMatrix: matrix_float4x4 = camera.projectionMatrix(withViewportSize: camera.viewport.size,
                                                                   orientation: .portrait,
                                                                   zNear: 0.1,
                                                                   zFar: 5000)


        //ERROR - readonly
        camera.projectionMatrix = matrix_float4x4


...
EN

回答 1

Stack Overflow用户

发布于 2017-07-26 02:37:11

ARCamera与渲染你的3D虚拟内容没有任何关系。正如它的文档所说,它只是“关于AR会话中捕获的视频帧的摄像头位置和成像特征的信息”。也就是说,它提供的数据可以帮助您设置用于渲染的任何技术(例如SceneKit、使用金属的自定义渲染器等)。

camera.projectionMatrix(...)方法是提供信息的角色的一部分,它使用ARKit了解的有关物理设备摄影机方向的信息,以及您提供的zNear和zFar值,来构建可在渲染器中使用的矩阵。

如果您使用的是SceneKit,则可以将该矩阵传递给SCNCamera。(您可能需要从simd_float4x4转换为SCNMatrix4。)如果您使用的是其他渲染器,则可以在那里使用该矩阵。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45308495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档