ARKit

2017-12-22  本文已影响0人  heigo

ARKit框架工作流程可以参考下图:
1.ARSCNView加载场景SCNScene
2.SCNScene启动相机ARCamera开始捕捉场景
3.捕捉场景后ARSCNView开始将场景数据交给Session
4.Session通过管理ARSessionConfiguration实现场景的追踪并且返回一个ARFrame
5.给ARSCNView的scene添加一个子节点(3D物体模型)
ARSessionConfiguration捕捉相机3D位置的意义就在于能够在添加3D物体模型的时候计算出3D物体模型相对于相机的真实的矩阵位置
在3D坐标系统中,有一个世界坐标系和一个本地坐标系。类似于UIView的Frame和Bounds的区别,这种坐标之间的转换可以说是ARKit中最难的部分

image.png

import "ARSCNViewViewController.h"

//3D游戏框架

import <SceneKit/SceneKit.h>

//ARKit框架

import <ARKit/ARKit.h>

@interface ARSCNViewViewController ()

//AR视图:展示3D界面
@property(nonatomic,strong)ARSCNView *arSCNView;

//AR会话,负责管理相机追踪配置及3D相机坐标
@property(nonatomic,strong)ARSession *arSession;

//会话追踪配置:负责追踪相机的运动
@property(nonatomic,strong)ARSessionConfiguration *arSessionConfiguration;

//飞机3D模型(本小节加载多个模型)
@property(nonatomic,strong)SCNNode *planeNode;

@end

@implementation ARSCNViewViewController

// Do any additional setup after loading the view.

}

}

pragma mark- 点击屏幕添加飞机

pragma mark -搭建ARKit环境

//懒加载会话追踪配置

}

//懒加载拍摄会话

//创建AR视图

/*

pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

@end

上一篇下一篇

猜你喜欢

热点阅读