场景套件天空盒在摄像机移动时闪烁



天空盒具有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场景,其中测量值和对象大小被缩小了。我还了解到,不能使用现实世界的对象大小。按比例缩小所有对象会好得多。人们不需要创建具有真实世界大小和测量值的巨大场景。缩小还需要更小的纹理,这对于内存优化很有用。自从应用这些更改以来,我没有看到任何闪烁。

最新更新