UIView как сбой диффузного материала SCNGeometry - PullRequest
1 голос
/ 22 марта 2019

Я использую UIView в качестве рассеянного материала для SCNPlane, чтобы я мог отображать 2D-меню внутри моей 3D-сцены.

Это работает, как я ожидал:

var node:SCNNode = // A child of my ARSCNView's scene
var menuVC:UIViewController = // I keep a strong reference to this view controller

let menuPlane:SCNPlane = // Newly created plane
menuPlane.firstMaterial?.diffuse.contents = menuVC.view
let menuPlaneNode = SCNNode(geometry: menuPlane)
menuPlaneNode.eulerAngles.x = -.pi / 2
node.addChildNode(menuPlaneNode)

Тем не менее, я могу заметить «вспышку», когда узел добавляется на сцену;Дальнейшая проверка показывает, что это вид menuVC, отображаемый в полноэкранном режиме перед ARSCNView для 1 кадра, затем он отображается внутри сцены.

1 Ответ

1 голос
/ 22 марта 2019

Я нашел обходной путь в раскадровке, установив имитируемый размер контроллера вида на Свободная форма вместо Фиксированного, решает проблему:

enter image description here

Хотя я понятия не имею, почему.

...