首页 > 解决方案 > iOS 12 和 SceneKit:节点以白色显示

问题描述

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

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

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

标签: scenekitios12

解决方案


我在下载 OBJ 和 MTL 文件及其纹理图像并渲染它们的应用程序中遇到了类似的问题。所有图像纹理材料都只是空白的白色。

在我的例子中,这个问题是通过手动禁用模型材料的发射属性来解决的:

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

我完全不知道为什么要设置发射组件,以及为什么这会随着 iOS 12/13 而改变。


推荐阅读