scenekit 天空盒在相机运动时闪烁

scenekit skybox flickering on camera movement

天空盒具有 1500x1500 的高分辨率视网膜图像

SCNScene *scene = [SCNScene scene];

scene.background.contents = @[[UIImage imageNamed:@"left.png"],[UIImage imageNamed:@"left.png"],[UIImage imageNamed:@"top.png"],[UIImage imageNamed:@"botom.png"],[UIImage imageNamed:@"back.png"],[UIImage imageNamed:@"front.png"]];

并且摄像头配置为:

_cameraNode                 = [SCNNode node];
_cameraNode.camera          = [SCNCamera camera];
_cameraNode.position        = SCNVector3Make(0, 0, 10000);
_cameraNode.camera.xFov     = 55;
_cameraNode.camera.zFar     = 2100000;
_cameraNode.camera.aperture = 1/50;

我正在将相机的 z 值逐渐移动 100。当相机达到 252000 左右时,天空盒开始闪烁,就像放大和缩小一样。如果相机走得更远直到场景变成黑色(黑色是 SCNView 的背景色),问题就会变得更糟。如何避免这种闪烁并能够在非常双的场景中使用相机?我做错了什么?

正如我在评论中所说,我修改了我的 3D 场景,缩小了测量值和对象大小。我还了解到,不得使用真实世界的对象大小。按比例缩小所有对象会好得多。不需要创建具有真实世界大小和测量值的巨大场景。缩小也需要更小的纹理,这对内存优化很有用。自应用这些更改以来,我没有看到任何闪烁。