如何正确点亮SceneKit中的自定义网格物体而不显示网格的不规则性?

时间:2018-01-04 18:24:22

标签: ios opengl-es scenekit arkit metal

所以我在下面创建了这个网格。它最初是.obj,但我把它转换为.scn。这是在SceneKit编辑器中查看时网格在默认环境光照下的外观。

enter image description here

我的问题是,当我向场景中添加一个灯光时,它非常糟糕地展示了网格物体的几何形状。例如,在下面的网格中,我在网格周围添加了4个全向灯。

enter image description here

正如您所知,Apple的顶部显示了构成网格的各个多边形。我的主要问题是:我能做些什么来减少这种情况?必须有一些设置,我可以在这里设置光线如何与网格相互作用。我试图关闭阴影但是没有做任何事情。

添加更多灯光也没有解决问题。你仍然可以看到那些靠近的小多边形。

这是另一个我添加一个直接向下看网格的聚光灯的例子。这里存在多边形问题,但整个苹果也变得非常黑暗。有没有什么可以点亮苹果,所以它不会在没有添加更多灯光的情况下如此迅速地变暗;

enter image description here

2 个答案:

答案 0 :(得分:3)

你的网格很可能只有位置。您还需要每顶点法线才能获得平滑的阴影。 Blender几乎肯定有一个工具来产生缺失的法线。

苹果的下半部分是黑暗的,因为它没有任何光线。您可以为场景添加.ambient灯光,以便每个物体至少获得最少量的光线。

答案 1 :(得分:0)

尝试以下操作:

myNode.geometry.subdivisionLevel = 1

(其中myNode是SCNNode,用于保存SCN文件中的Apple Geometry)

这至少应该使表面光滑。