Как включить опцию "Глубина резкости" в ARKit 3.0?
В демонстрации ARKit 3.0 от Apple depth of field
эффект был представлен. Я пытался найти документацию для этого, но я не могу найти, как мы должны это включить.
Я обнаружил, что легко включить эффекты размытия в движении и зернистости шума. По сути, в Objective-C установлен один флаг
scnview.rendersMotionBlur = true;
Но ничего для глубины резкости я не смог найти.
Это что-то еще не раскрыто разработчикам?
1 ответ
Depth Of Field
является особенностью новой сопутствующей платформы RealityKit. DoF 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 отображать эффекты размытия глубины резкости для камеры.