Кто-нибудь знаком с использованием изогнутых UIBezierPaths для создания SCNShape в ARKit?Я создаю замкнутый контур, но в моей сцене ARKit получаю ромбовидную форму.
Вот код, который я использую для создания пути Безье, и SCNShape:
let radius : CGFloat = 1.0
let outerPath = UIBezierPath(ovalIn: CGRect(x: -radius, y: -radius, width: 2* radius, height: 2* radius))
let material = SCNMaterial()
material.diffuse.contents = UIColor.blue
material.isDoubleSided = true
material.ambient.contents = UIColor.black
material.lightingModel = .constant
material.emission.contents = UIColor.blue
let shape = SCNShape(path: outerPath, extrusionDepth: 0.01)
shape.materials = [material]
let shapeNode = SCNNode(geometry: shape)
positioningNode.addChildNode(shapeNode)
Iуспешно протестировал прямоугольный путь Безье, но даже имел проблемы с закругленным прямоугольным путем Безье (используя UIBezierPath(roundedRect:
).Для закругленного прямоугольного пути Безье ARKit показывает изогнутые углы с линиями 45 градусов.
Заранее спасибо!
ОБНОВЛЕНИЕ:
Слева находится начальный SCNShape с плоскостностью UIBezierPath, установленной на 0,6.Справа тот же SCNShape с плоскостностью, установленной на 0,001.