3

在Apple的 ARKit 3.0演示depth of field中,效果就呈现出来了。我试图找到这方面的文档,但我找不到我们应该如何启用它。

我发现启用运动模糊噪声颗粒效果很容易。基本上,您在 Objective-C 中设置了一个这样的标志

scnview.rendersMotionBlur = true;

但是我找不到任何景深效果。

这是尚未向开发人员公开的东西吗?

4

1 回答 1

2

Depth Of Field是 RealityKit 和 SceneKit 框架的后处理渲染器功能。ARKit 中没有Depth Of Field,因为 ARKit 不负责渲染。

在 RealityKit 中,DoF 默认为 ON

Depth Of Field是全新的RealityKit配套框架的选项之一。ARCamera 的自由度是通过ARView.RenderOptions基于 iOS 设备功能激活和停用的,如果您的设备支持它,则ON默认情况下。要转动它,OFF您必须使用disableDepthOfField全局类型属性:

static let disableDepthOfField: ARView.RenderOptions

RealityKit 文档:禁用所有虚拟内容的景深效果。

在 SceneKit 中,景深默认为 OFF

SceneKit框架中,有一个wantsDepthOfField虚拟相机的实例属性。

var wantsDepthOfField: Bool { get set }


let nonAR_Camera = SCNCamera()
nonAR_Camera.wantsDepthOfField = true
nonAR_Camera.focusDistance = 1.5        // distance in meters
nonAR_Camera.fStop = 4.0

SceneKit 文档:一个布尔值,用于确定 SceneKit 是否为相机渲染景深模糊效果

于 2019-07-22T16:54:38.210 回答