我无法找到任何关于此的文档,所以我决定作为一个问题。我使用SceneKit渲染几个立方体,当我点击立方体时,我想进入2D屏幕。我认为如果点击立方体时它会变得非常酷,它会构建一个更大的2D形状并填充屏幕以进行过渡。我之前在OpenGL中做过类似的事情,我只是将立方体点转换为剪辑空间,然后在那里构造了形状。 要做到这一点,您需要modelView和投影矩阵以及立方体点的位置。在SceneKit中有什么办法吗?我可以获得几何点以及相机的modelView和投影矩阵吗?
任何见解都将受到赞赏。 感谢。
答案 0 :(得分:1)
每个节点都有transform
和worldTransform
属性,因此很容易创建model
然后modelView
转换。或者您可以使用转化实用程序-[SCNNode convertPosition:fromNode:]
。最后SCNCamera
公开了-projectionTransform
。
或者您可以使用-[SCNSceneRenderer projectPoint:]
替换所有内容。