【问题标题】:SCNTechnique on ARSCNView does not affect CameraFeed (Scene Background) on iOS 13ARSCNView 上的 SCNTechnique 不会影响 iOS 13 上的 CameraFeed(场景背景)
【发布时间】:2020-04-21 11:36:25
【问题描述】:

在 iOS 13(iOS 11 和 12)之前,SCNTechnique 应用于具有多通道设置的 ARSCNView,首先应该将整个场景绘制到纹理中(通过 DRAW_SCENE)也会影响 ARKit 场景背景(相机馈送) . 现在有了 iOS 13,这似乎不再是这种情况了。应用于生成的纹理的片段着色器不会改变相机馈送——只会改变 SceneKit 内容(例如节点)。当使用像图像这样的自定义场景背景时,一切都按预期运行。仅使用 SCNView 时结果相同。

在 colorStates 中将 clearColor 设置为 sceneBackground 没有帮助。 我还尝试禁用环境纹理和人物遮挡。

有人知道解决方法吗?我很想过滤整个渲染的 ARKit 场景来改变我的 AR 体验的情绪。 附上我的技术清单截图。

谢谢!

【问题讨论】:

    标签: ios scenekit arkit metal scntechnique


    【解决方案1】:

    在 iOS 13 ARKit 中引入了对for camera grain 的支持。使用ARSCNView 时,此功能会自动启用,但其实现有时会与您自己使用的SCNTechnique 冲突。将rendersCameraGrain 设置为false 应该可以解决问题。

    【讨论】:

    • 太棒了,谢谢你!那成功了。你知道一种让两者同时工作的方法吗?例如,可能将这些技术链接在一起?
    • 当我从会话开始就禁用 rendersCameraGrain 时,一切都按预期工作。但是如果我在设置我的 SCNTechnique 之前直接设置 rendersCameraGrain = false,我会得到与以前相同的结果(该技术忽略了相机馈送)。有解决方法吗?我试过 sceneView.rendersCameraGrain = false SCNTransaction.begin() SCNTransaction.flush() sceneView.technique = technology SCNTransaction.commit()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多