Создайте плоскость AR размером с реальный мир - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь создать объект AR изображения, а затем разместить его на вертикальной стене. Я могу обнаружить стену, создать SCNPlane, а затем я просто хочу создать SCNNode на основе значения метров, которое у меня есть для ширины и высоты изображения (я знаю реальные размеры изображений в см). Затем установите содержимое материала узла на изображение и прикрепите узел к плоскости. Однако изображение имеет неправильный размер, а соотношение сторон неверное. Что я делаю не так?

Вот код, который я использую:

let width = CGFloat(20) // creating a dummy sized wall of 20m width and height
let height = CGFloat(20)
let dummyWall = SCNNode(geometry: SCNPlane(width: width, height: height))
dummyWall.geometry?.firstMaterial?.diffuse.contents = UIColor.clear
dummyWall.transform = SCNMatrix4(hitResult.anchor!.transform)
dummyWall.eulerAngles = SCNVector3(dummyWall.eulerAngles.x + (-Float.pi / 2), dummyWall.eulerAngles.y, dummyWall.eulerAngles.z)
dummyWall.position = SCNVector3(hitResult.worldTransform.columns.3.x, hitResult.worldTransform.columns.3.y, hitResult.worldTransform.columns.3.z)
sceneView.scene.rootNode.addChildNode(dummyWall)
let picture = SCNNode(geometry: SCNPlane(width: photo.width, height: photo.height)) // dimensions in metres
picture.geometry.firstMaterial?.diffuse.contents = piece.image
dummyWall.addChildNode(picture)
picture.position.z = 0.0001
...