前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

SCNView

原创
作者头像
傅_hc
发布2018-05-21 10:00:53
1.1K0
发布2018-05-21 10:00:53
举报
文章被收录于专栏:iOS开发随笔iOS开发随笔

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;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档