2014-10-04 57 views
0

我试图删除默认的SceneKit相机透视失真。我正在构建Xcode中内置的默认“游戏”模板。我遇到的问题是严重的视角扭曲。虽然这对一些应用程序和游戏来说很好,但我想完全摆脱它。为了展示我的意思,这里是我从手机上截取的截图。我放了一架飞机,然后用白色的方块转动摄像机来平移。 imageSceneKit - 删除相机透视失真

这里是我使用创建相机什么:

cameraNode = [SCNNode node]; 
cameraNode.camera = [SCNCamera camera]; 
cameraNode.rotation = SCNVector4Make(0, 1, 0, M_PI); 
// cameraNode.camera.xFov = 45.0; 
cameraNode.position = SCNVector3Make(0, 0, 0); 

[scene.rootNode addChildNode:cameraNode]; 

正如你可以看到我曾试图调整FOV,移动飞机再往前追溯,并使它更大,但取得的盒子看起来很大,这使得在房间周围摇摆需要很长时间。消除或最大限度地减少透视失真的最佳方法是什么?

回答

3

看起来像你想要的是一个正交投影。您可以将相机配置为使用属性“usesOrthographicProjection”执行此操作,并在SCNCamera上使用“orthographicScale”调整视口。

如果你只是想减少失真,但仍使用透视相机,减小FOV(和移动相机回补偿)

+0

谢谢,我已经知道关于正投影,但我错过了文档中,我一定会试试这个。 – Milo 2014-10-04 06:39:19