SCNView是显示3D模型对象的视图,继承自UIView。
在渲染过程过中,视图模型常常会出现锯齿边缘。这是因为模型是由多边形组成的,当显卡运算频率不够高,或者显存不够大的时候,“多边形”绘制速度比较慢,就会出现锯齿。此外,当画面增大、解析度增高,锯齿也会变得更明显。
我们可以通过设置抗锯齿属性来适当平衡体验和视觉效果,因为锯齿越少,游戏的性能越差。总之,渲染涉及大量的运算,开发时需特别留意。
代码语言:txt复制 //第一步 创建游戏视图
SCNView * scnView = [[SCNView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:scnView];
//第二步 创建场景 ,注意scnview 默认是没有scene 所以我们必须给我们的游戏视图设置一个场景
SCNScene * scene = [[SCNScene alloc] init];
scnView.scene = scene;
//第三步 创建一个正方体的几何模型
SCNBox * box = [SCNBox boxWithWidth:1 height:1 length:1 chamferRadius:0];
box.firstMaterial.diffuse.contents = @"swift.png";
//第四步 创建一个节点,将几何模型绑定到这个节点上去
SCNNode * boxNode = [SCNNode nodeWithGeometry:box];
//第五步 将绑定了几何模型的节点添加到场景的根节点上去
[scene.rootNode addChildNode:boxNode];
//第六步 运行操作摄像机,开启了这个功能,你就可以使用手势来改变场景中摄像机的位置和方向
scnView.allowsCameraControl = YES;
//第七步 开启抗锯齿,如果模型出现抗锯齿的现象,你就可以使用这个属性让锯齿减弱,提高渲染性能,但是这个可能会消耗更多的手机资源,使用需谨慎
scnView.antialiasingMode = SCNAntialiasingModeMultisampling4X;
//给游戏截屏
UIImage * image = scnView.snapshot;
//设置游戏的帧率
scnView.preferredFramesPerSecond = 30;
//显示游戏场景的元素数量等信息
scnView.showsStatistics = YES;