如何在相机朝向的方向上变焦相机?

时间:2015-03-12 08:28:41

标签: swift matrix 3d camera scenekit

我正在使用scenekit快速制作3D游戏。我有一个捏手势识别器,以便用户可以在捏时放大/缩小。

我可以轻松访问当前的x,y,z坐标以及围绕每个轴的旋转。

我的问题实际上是找出将相机移动到哪里的问题。 起初我花了一些时间用trig来解决这个问题,但是我很难想出一个适用于所有情况的通用解决方案。我现在相信解决方案就在于矩阵。但是,我不确定实现它们的确切方法。 例如,在每次调用我的捏合处理函数时调用旋转矩阵显然会很糟糕,让我的相机像疯了一样旋转。

为方便起见,我已经为SCNNode和场景矩阵链接了苹果参考:

SCNNode: https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SCNNode_Class/index.html

Scenekit矩阵和向量: https://developer.apple.com/library/mac/documentation/SceneKit/Reference/SceneKit_Functions/

谢谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

在此处查看答案:SceneKit camera, how to compensate for euler rules (orientation) changes

请注意,更改相机的FOV会影响视角,对象在某些时候会显得非常扭曲。将相机移近这些物体可以解决这个问题。