在Apple的 ARKit 3.0演示depth of field
中,效果就呈现出来了。我试图找到这方面的文档,但我找不到我们应该如何启用它。
我发现启用运动模糊和噪声颗粒效果很容易。基本上,您在 Objective-C 中设置了一个这样的标志
scnview.rendersMotionBlur = true;
但是我找不到任何景深效果。
这是尚未向开发人员公开的东西吗?
Depth Of Field
是 RealityKit 和 SceneKit 框架的后处理渲染器功能。ARKit 中没有Depth Of Field
,因为 ARKit 不负责渲染。
Depth Of Field
是全新的RealityKit配套框架的选项之一。ARCamera 的自由度是通过ARView.RenderOptions
基于 iOS 设备功能激活和停用的,如果您的设备支持它,则ON
默认情况下。要转动它,OFF
您必须使用disableDepthOfField
全局类型属性:
static let disableDepthOfField: ARView.RenderOptions
RealityKit 文档:禁用所有虚拟内容的景深效果。
在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 是否为相机渲染景深模糊效果