我有一系列SCNPlane类型的对象设置为围绕中央SCNPlane旋转,宽度和高度设置为0.在我的应用程序中加载视图时,我得到下面的内容,这表明我的飞机正确加载。我的光标也可以从左到右旋转它们。它看起来像这样:
但是,如果我的光标在y方向上移动,则视图最终会移动,以便从另一个角度显示显示。基本上,视图最终可能看起来像这样:
我不希望这种情况发生;我希望第一张图片成为我想要的。当我移动光标时,它应向左或向右移动,而不是向上或向下移动。
这是我尝试过的:
SCNMatrix4MakeRotation(Float(CGFloat(M_PI_2)), 0, 0, 0)
SCNVector4(1, 0, 1, Float(CGFloat(M_PI_2))
SCNQuaternion(0, 0, 0, Float(CGFloat(M_PI_2))
SCNLookAtConstraint
函数将所有平面居中于中心坐标并面向外SCNTransformConstraint
函数与接收节点的块和矩阵(newMatrix = incomingMatrix
)变量一起使用。如果它检测到对象的位置具有值y,则newMatrix.m42 = 0
。无论如何都会返回newMatrix
。以上都没有解决我的问题。我甚至可以将相机限制在x轴和z轴上吗?
答案 0 :(得分:0)
我花了几天时间,但我终于弄明白了。
我实现了rickster建议的摄像头节点,并将allowsCameraControl设置为false。然后我实现了一个UIPanGestureRecognizer并将其绑定到一个函数,如建议here,这也是基于rickster的答案。
它现在做我想要的。非常感谢大家!