【问题标题】:Correct "Field of View" for SCNCamera更正 SCNCamera 的“视野”
【发布时间】:2015-02-19 17:03:26
【问题描述】:

我正在尝试找出 ipad 和 iphone 上场景套件中视野的正确值。 60 degree 的默认值对屏幕边缘的球体有不良影响。球体变成椭圆形。 34 degree 的值会导致天空盒像素化。 iPad 和 iPhone 的正确值是多少?

_cameraNode = [SCNNode node];
_cameraNode.position = SCNVector3Make(0, 0, 500);

[scene.rootNode addChildNode:_cameraNode];

_cameraNode.camera = [SCNCamera camera];
_cameraNode.camera.automaticallyAdjustsZRange = YES;

#if TARGET_OS_IPHONE
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    _cameraNode.camera.yFov = 55;

} else #endif {
    _cameraNode.camera.xFov = 34;
}

scnView.pointOfView = _cameraNode;

【问题讨论】:

    标签: ios camera scenekit scncamera


    【解决方案1】:

    FOV 不取决于屏幕,而是取决于您希望用户看到场景的方式。

    大多数 3D 节目的默认镜头是 36 毫米镜头,其 FOV 大约为 53°。使用鱼眼镜头时,较低的值会感觉放大,较高的值会缩小。没有神奇的数字,您必须考虑如何查看您的场景,然后解决出现的问题。

    如果您的场景很小,而观看者很大(例如模拟城市),则低视野看起来最好。

    如果您的场景很大,而观看者很小(大多数游戏都是从第一人称视角玩的),那么高视野会让世界感觉很广阔。

    尝试找出哪个让您的场景看起来正确的比例,然后解决出现的问题:

    如果您选择低 FOV,则需要更高分辨率的 Skybox。无法绕过它,因为它直接链接到 FOV。

    如果您选择更高的值,任何高于 50° 的位置都会开始出现失真。由于宽屏,这在 iPhone 上会更加明显。您可以使用着色器来改善失真。有几种方法可以进行镜头校正,尤其是桶形畸变。

    这里有一些有趣的公式:http://paulbourke.net/miscellaneous/lenscorrection/

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 2017-08-15
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      相关资源
      最近更新 更多