项目点手动剪辑空间SceneKit

时间:2015-04-17 10:38:09

标签: ios 3d scenekit

我无法找到任何关于此的文档,所以我决定作为一个问题。我使用SceneKit渲染几个立方体,当我点击立方体时,我想进入2D屏幕。我认为如果点击立方体时它会变得非常酷,它会构建一个更大的2D形状并填充屏幕以进行过渡。我之前在OpenGL中做过类似的事情,我只是将立方体点转换为剪辑空间,然后在那里构造了形状。 要做到这一点,您需要modelView和投影矩阵以及立方体点的位置。在SceneKit中有什么办法吗?我可以获得几何点以及相机的modelView和投影矩阵吗?

任何见解都将受到赞赏。 感谢。

1 个答案:

答案 0 :(得分:1)

每个节点都有transformworldTransform属性,因此很容易创建model然后modelView转换。或者您可以使用转化实用程序-[SCNNode convertPosition:fromNode:]。最后SCNCamera公开了-projectionTransform

或者您可以使用-[SCNSceneRenderer projectPoint:]替换所有内容。