我需要帮助在UIKit应用程序中绘制二十面体3D对象

时间:2015-02-27 09:27:19

标签: ios 3d scenekit

虽然我对iOS中的大多数框架都很有经验,但我对3D建模没有任何线索。我甚至使用SpriteKit,但从未使用像SceneKit这样的东西。

现在,客户需要一个非常雄心勃勃的菜单,其中包含一个3D对象,确切地说是一个“二十面体”。我希望它看起来像这样:

Icosahedron shape example

所以我只想绘制线条,并将背面的“透视”线条变灰。最终,我希望用户能够以3D方式自由旋转对象。

我已经通过附加的示例项目找到了这个问题,但这只是绘制了一个简单的多维数据集:Stroke Width with a SceneKit line primitive type

我不知道如何处理更复杂的形状。

我们非常感谢任何正确方向的帮助!我甚至不需要使用SceneKit,但这对我来说似乎是最好的方法。欢迎任何其他建议。

1 个答案:

答案 0 :(得分:3)

要构建二十面体,您可以使用SCNSphere并将其geodesic属性设置为YES

使用着色器修改器绘制线框(如Stroke Width with a SceneKit line primitive type中所述)是一个好主意。

但在你的情况下,线条并不总是平的或点缀的 - 它取决于二十面体的方向。要解决此问题,您可以依靠gl_FrontFacing来确定边缘是属于正面还是背面三角形。