在SceneKit中旋转后缩放对象

时间:2016-12-11 20:15:46

标签: ios graphics scenekit scene

我正在尝试在方形SceneView中设置一个简单的场景(一个球形节点和默认摄像机)。目前我按如下方式设置场景:

let scene = SCNScene()
let planet = SCNSphere(radius: 1.0)
let planetNode = SCNNode(geometry: planet)
scene.rootNode.addChildNode(planetNode)

某些视图,我还会按原样旋转节点:

let rotationNode = SCNNode()
rotationNode.addChildNode(planetNode)
scene.rootNode.addChildNode(rotationNode)
rotationNode.rotation = (SCNVector4: SCNVector4(x: 0, y: 0, z: 1, w: some_amount_of_radians))

然而,我注意到,旋转的物体小于不旋转的物体。我不确定比率是多少,但它似乎取决于增加了多少旋转,到一定程度。

在下面的屏幕截图中,地球旋转了45度,另外2个没有旋转。如果我将其旋转90度而没有差别,这使我相信球体周围有一个方形边界框,默认相机强制其视角包含此框。

enter image description here

我还试图改变旋转节点的欧拉角度,位置和比例以进行补偿,但是我应用的转换似乎没有任何效果。任何解决这个相机问题的指针都是完美的。

0 个答案:

没有答案