iOS - узел ARKit исчезнет через 100 м - PullRequest
0 голосов
/ 13 октября 2018

В настоящее время я работаю над приложением ARKit (SpriteKit).Я заметил, что если я поставлю узел на 100 m, узел будет отображаться очень хорошо, но если я установлю его на 101 m или дальше, он не будет отображаться.

Это ограничение по расстоянию?

var translation = matrix_identity_float4x4
translation.columns.3.x = 1
translation.columns.3.y = 1
translation.columns.3.z = -100
let transform = simd_mul(currentFrame.camera.transform, translation)
let anchor = ARAnchor(name: "test", transform: transform)
sceneView.session.add(anchor: anchor)

Есть ли способ увеличить этот диапазон?

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Похоже, что нет способа обновить максимальный диапазон Z для SpriteKit.Только SceneKit позволяет вам изменять это, обновляя свойство zfar с камеры.Спасибо Gigantic за вашу помощь!

0 голосов
/ 13 октября 2018

Для увеличения диапазона камеры используйте атрибут Far в области Z Clipping Инспектора атрибутов.

Значением по умолчанию является 100 метров.

enter image description here

var zFar: Double { get set }

Выдержка из Документация разработчика : значение far определяет максимальное расстояние между камерой и видимой поверхностью.Если поверхность находится дальше от камеры, чем это расстояние, поверхность обрезается и не появляется.Значение по умолчанию для дальнего расстояния 100.0.

let camera = SCNCamera()
camera.zFar = 10000

enter image description here

...