美文网首页
ARKit的简单使用

ARKit的简单使用

作者: 不浪漫的罪名 | 来源:发表于2017-06-06 18:02 被阅读178次

     2015年苹果收购当时AR领域的佼佼者Metaio,两年之后,苹果终于放出憋了很久的大招。

    当年在手机市场上出现指纹解锁一段时间之后,苹果收购了当时指纹解锁最成熟的那家公司,然后推出自己独有的指纹解锁技术,瞬间成为业界标杆,接下来被其他手机厂商苦苦追赶。当双摄像头出现了很多年之后,苹果也推出了自己的双摄像头手机,人像模式的景深效果也是目前手机市场做的最好的。苹果总是这样,不鸣则已,一鸣惊人,当他们觉得自己没有十足把握成为业内最好的话,他们就不会推出这项技术。

    所以,随着iOS 11一起出现的ARKit,是否成为一个大招,我想答案不言而喻了。

    贴一个使用ARKit做的一个小demo。

    #import "ViewController.h"

    #import@interface ViewController (){

    ARSCNView * scnView;

    SCNScene * scene;

    ARSessionConfiguration * config;

    }

    @end

    @implementation ViewController

    - (void)viewDidLoad {

    [super viewDidLoad];

    scnView = [[ARSCNView alloc]initWithFrame:[UIScreen mainScreen].bounds];

    [self.view addSubview:scnView];

    scnView.session.delegate = self;

    scnView.delegate = self;

    config = [[ARWorldTrackingSessionConfiguration alloc]init];

    [scnView.session runWithConfiguration:config];

    scene = [[SCNScene alloc]init];

    SCNText * text = [[SCNText alloc]init];

    text =  [SCNText textWithString:@"Hello World" extrusionDepth:5];

    text.firstMaterial.diffuse.contents = [UIColor redColor];

    text.firstMaterial.specular.contents = [UIColor whiteColor];

    SCNNode * node = [[SCNNode alloc]init];

    node.geometry = text;

    node.position = SCNVector3Make(-1, -0.1, -2);

    node.scale = SCNVector3Make(0.05, 0.05, 0.05);

    [scene.rootNode addChildNode:node];

    scnView.scene = scene;

    scnView.autoenablesDefaultLighting = true;

    }

    - (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

    }

    @end

    相关文章

      网友评论

          本文标题:ARKit的简单使用

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