SceneKit:更改着色器参数对对象没有影响

SceneKit: Changing shader parameters have no effect on object

我在 Maya 上创建了一个对象并导出到 dae 文件。该对象是一个包裹在纹理中的圆柱体。在 maya 上创建并导入 SceneKit 的着色器是具有以下特征的 Phong:

我使用以下参数向场景添加泛光灯:

圆柱体似乎被光线吹过,过度照明。但只是那个圆柱体。场景中的其他对象看起来很好。

当我尝试更改灯光和对象着色器上的任何参数时,我在界面构建器预览中看到更改,但当我 运行 iPhone 上的应用程序时没有效果。是的,我已经尝试清理 Xcode 缓存并在构建之前从 iPhone 中删除应用程序。没有变化。

有什么想法吗?

iPhone 的默认渲染 API 是金属。尝试将其切换到 OpenGL。在 Interface Builder 中,select 您的 SCNView,您将看到 "Rendering API" 的弹出窗口。或者您可以将布尔值为 YES 的 PrefersOpenGL 键添加到您的 Info.plist:https://developer.apple.com/library/ios/qa/qa1904/_index.html

这是 Interface Builder 控件。 Select 你的 SCNView: