iOS 12和SceneKit:节点以白色显示

时间:2018-09-25 07:18:16

标签: scenekit ios12

我们已经使用SceneKit一段时间的应用程序,直到最近才出现任何问题。与以前相比,现在渲染器不会以实际颜色显示节点。请参阅附件中的图像以获取更多详细信息。如果有人对此有解决方案,那么我将不胜感激。

iOS 12 https://image.ibb.co/i9sVGp/PNG_image.png

iOS 11 https://image.ibb.co/bBRCU9/IMG_0145.png

4 个答案:

答案 0 :(得分:1)

我在一个应用程序中有一个类似的问题,该应用程序将OBJ和MTL文件及其纹理图像下载并进行渲染。所有图像纹理材料均为空白。

在我的情况下,该问题通过手动禁用模型材料的发射特性来解决:

    for (id object in self.modelNode.geometry.materials) {
        ((SCNMaterial*)object).emission.contents = [UIColor blackColor];
    }

我不知道为什么要设置发射组件,以及为什么在iOS 12/13中会发生变化。

答案 1 :(得分:0)

通过选择OpenGL ES作为渲染模式,我目前能够解决我的问题: enter image description here

答案 2 :(得分:0)

我能够通过设置以下属性来解决此问题:

self.scnView.pointOfView.camera.wantsHDR = true
self.scnView.pointOfView.camera.minimumExposure = -1
self.scnView.pointOfView.camera.maximumExposure = -1

除了这些属性,您还可以设置 节点的发射和光照模型几何属性。

答案 3 :(得分:0)

我通过将 xcode 中的材质设置下的“发射”属性从白色更改为黑色来解决此问题。将文件另存为场景套件文件以避免处理它

  • 选择型号
  • 转到右侧的面板

enter image description here