UIView作为SCNGeometry的漫反射材料故障

时间:2019-03-22 14:18:13

标签: ios uikit scenekit

我将UIView用作SCNPlane的漫反射材料,因此可以在3D场景中显示2D菜单。

这按我的预期工作:

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 个答案:

答案 0 :(得分:1)

我在情节提要中找到了一种解决方法,将视图控制器的模拟大小设置为自由格式,而不是固定即可解决问题:

enter image description here

我不知道为什么。