ARKit纹理在XCode中显示,但对象在场景中是无光泽的

时间:2017-10-23 22:05:56

标签: ios xcode 3d arkit

我正在与ARKit合作并在我的场景中放置一些Apple对象(如椅子);在XCode中,对象以我期望的方式预览,但在我的场景中,它们看起来不太正确(纹理消失了)。

我正在将椅子添加到我的场景中:

let scene = SCNScene(named: "Models.scnassets/chair/chair.scn")
let node = scene?.rootNode.childNode(withName: "chair", recursively: false)
node?.position = position
sceneView.scene.rootNode.addChildNode(node!)

在XCode的场景编辑器中,椅子看起来像this

在我的场景中看起来像this

我正在使用Apple示例代码附带的库存模型之一,并且没有做任何与.sc​​n文件混淆的事情(比如更改纹理或任何材料选择)。有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

您所看到的是椅子模型没有被点亮,因为您的新场景与原始场景的光照不同。原始场景将全景图像(第一个屏幕截图中的条纹灰黄色背景)设置为其照明环境;该图像是对象的高光和反射来自的地方。您应该能够将环境从一个场景复制到另一个场景,如下所示:

sceneView.scene.lightingEnvironment.contents = scene.lightingEnvironment.contents