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

时间:2016-03-01 17:19:22

标签: ios scenekit scnnode

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

enter image description here

我使用以下参数为场景添加全向光:

enter image description here enter image description here

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

这是Interface Builder控件。选择您的SCNView:

enter image description here