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

时间:2015-01-17 13:55:33

标签: ios scenekit

天空盒的视网膜高分辨率图像为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的背景颜色),问题就会变得更糟。如何避免这种闪烁,并能够在非常高的场景中使用相机?我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如我在评论中所说,我重新设计了我的3D场景,其中测量和物体尺寸缩小了。我还了解到一个人不能使用真实世界的对象大小。按比例缩小所有对象会好得多。人们不需要创造具有真实世界尺寸和测量的巨大场景。缩小也需要更小的纹理,这对于内存优化非常有用。自从应用这些更改后,我没有看到任何闪烁。