美文网首页ARKit开发iOS随笔
从零开始做一个ARKit项目

从零开始做一个ARKit项目

作者: 095b62ead3cd | 来源:发表于2018-07-17 14:16 被阅读453次

环境:xcode9、iOS11以上
设备:A9以上处理器iOS设备
1、创建项目:


创建项目
注意: 此处必须得iOS11以上
2、创建场景:
SCNScene *scene = [SCNScene scene];
self.sceneView.scene = scene;

3、创建模型:

SCNBox *box = [SCNBox boxWithWidth:0.1 height:0.1 length:0.1 chamferRadius:0];

4、创建节点并设置节点位置:

    //创建节点
    SCNNode *node = [SCNNode node];
    //设置节点位置
    node.position = SCNVector3Make(0, 0, -0.3);

5、将模型设置为节点几何

//将场景节点几何设置为创建的box
    scene.rootNode.geometry = box;

6、渲染模型

    //模型渲染,将模型渲染成白色
    SCNMaterial *material = [SCNMaterial material];
    material.diffuse.contents = [UIColor whiteColor];
    box.materials = @[material];

效果图如下:


效果图1

但是这是不是太不好看了呢?我们可以尝试下把图片放到模型上吗?

7、将图片渲染到模型:
我们先尝试将一张图片渲染上去

material.diffuse.contents = [UIImage imageNamed:@"不约.png"];
效果图2

我们发现渲染模型那里渲染器的设置是一个数组,那么我们尝试创建多个渲染器添加进去试试:

SCNMaterial *material = [SCNMaterial material];
    material.diffuse.contents = [UIImage imageNamed:@"不约.png"];
    SCNMaterial *material1 = [SCNMaterial material];
    material1.diffuse.contents = [UIImage imageNamed:@"哎没人约.png"];
    SCNMaterial *material2 = [SCNMaterial material];
    material2.diffuse.contents = [UIImage imageNamed:@"爱你们哟.png"];
    SCNMaterial *material3 = [SCNMaterial material];
    material3.diffuse.contents = [UIImage imageNamed:@"不要在背后说我帅.png"];
    SCNMaterial *material4 = [SCNMaterial material];
    material4.diffuse.contents = [UIImage imageNamed:@"好好当狗.png"];
    SCNMaterial *material5 = [SCNMaterial material];
    material5.diffuse.contents = [UIImage imageNamed:@"姐不需要男票.png"];
    box.materials = @[material,material1,material2,material3,material4,material5];
效果图3 效果图4

结果发现六张图都渲染到了正方体的六个面,有兴趣的还可以尝试下GIF图的渲染,跟图片时一样的,此处就不做演示了。

8、渲染视频呢?可以吗?接下来我们就尝试下渲染视频:操作类似于渲染图片

    NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@",[[NSBundle mainBundle] pathForResource:@"柳州IP宣传片_15秒.mp4" ofType:nil]]];
    AVPlayerItem *playItem = [AVPlayerItem playerItemWithURL:url];
    AVPlayer *player = [AVPlayer playerWithPlayerItem:playItem];
    [player play];
    material.diffuse.contents = player;
效果图5

到这里我们第一个简单的ARKit体验就完成了,是不是很好玩呢?还有更多更好玩的东西,继续学习吧,哈哈哈

相关文章

  • 从零开始做一个ARKit项目

    环境:xcode9、iOS11以上设备:A9以上处理器iOS设备1、创建项目: 3、创建模型: 4、创建节点并设置...

  • 用 ARKit 做一个仿微信"跳一跳"游戏

    用 ARKit 做一个仿微信"跳一跳"游戏

  • ARKit基础

    《ARKit基础》这个App是我的入职考核项目,制作的时候ARKit1.0 bate版刚刚发布,网上的资料很少,我...

  • Awesome ARKit

    精选的ARKit项目和资源的精选列表。随意贡献! ARKit是一个新的框架,可让您轻松为iPhone和iPad创建...

  • 初探AR

    AR相关 - ARKit的理解 要想很好的开发AR项目,首先还是要对ARKit有个基本的了解,那我们现在就来看看一...

  • 使用Xcode自带的git管理项目工程

    关于mac环境下,使用git管理项目,很多优秀的的教程,我也做一个统一总结,从零开始到熟练管理自己的项目吧? 一....

  • 2018-06-08

    从零开始做一个机器手臂 /////////////////////////////////////////////...

  • A9芯片手机运行ARKit黑屏

    ARKit支持6s及以上机型(即A9芯片机型),不过A9芯片机型运行ARKit项目也可能出现黑屏问题. 比较常见的...

  • 8月iOS Library Top5 ---2017.08

    1.ARKit-CoreLacation ARKit-CoreLacation将ARKit和CoreLocatio...

  • ARKit Work Shop Demo

    ARKit文章: 到底有多强?苹果的增强现实框架:ARKit ARKit进阶:物理世界 ARKit进阶:材质 De...

网友评论

    本文标题:从零开始做一个ARKit项目

    本文链接:https://www.haomeiwen.com/subject/bzvwpftx.html