arkit demo app已经上线,用户可以通过arkit 官方demo了解这款工具一些具体的实现细节,更加真实的ar体验给你不一样的感受,需要的小伙伴们快来点击进入apple arkit demo下载地址看看,这款应用究竟有哪些神奇的地方吧。
官方介绍
什么是 ARKit?这是一个全新的增强现实框架,它允许开发者轻松地为 iOS 设备 创建无与伦比的增强现实体验。通过将虚拟对象和虚拟信息同用户周围的环境相互融合,ARKit 使得 App 跳出了屏幕的限制,他们开始以全新的方式与现实世界进行交互。ARKit(包括 Core ML)将把 iOS 开发者带到一个更为广阔的天地,我预测这个职业会重新焕发出勃勃生机。
在ARKit零售APP的帮助下,消费者可以用他们的iphone或者iPad在买东西的时候更加智能地做出决定。线上购物的用户可以直接在家,在购买之前通过AR虚拟试衣,甚至可以通过AR看到如何装置适合厨房台面上的设备。这使得在线购物增加了店内购买的体验,同时还可以留下浏览记录和星级评判等信息。
实现细节
arkit demo源代码
#import "ViewController.h"
@interface ViewController () <ARSCNViewDelegate>
//ARKit 框架中⽤于 3D 显示的预览视图
@property (nonatomic, strong) IBOutlet ARSCNView *sceneView;
@end
在 ViewController 中,系统基于代理 ARSCNViewDelegate 创建了一个用来展示 3D 效果的视图。
- (void)viewDidLoad { [super viewDidLoad];
// Set the view's delegate
//设置代理
self.sceneView.delegate = self;
// Show statistics such as fps and timing information
//ARKit 统计信息
self.sceneView.showsStatistics = YES;
// Create a new scene
//使⽤模型创建节点(scn 是⼀个基于3D建模的文件,使用 3DMax 软件可以创建,这里系统有⼀个默认的 3D 飞机)
SCNScene *scene = [SCNScene sceneNamed:@"art.scnassets/ship.scn"];
// Set the scene to the view
//设置 ARKit 的场景(SCNScene 是 Scenekit 中的场景,类似于 UIView)
self.sceneView.scene = scene;
}
在函数 viewDidLoad 中,进行代理设置,并将统计信息设置为 YES,然后导入模型,把模型场景设置为 SceneKit。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Create a session configuration
//创建⼀一个追踪设备配置(ARWorldTrackingSessionConfiguration 主要负责传感器追踪手机的移动和旋转)
ARWorldTrackingSessionConfiguration *configuration = [ARWorldTrackingSessionConfiguration new];
// Run the view's session
// 开始启动 ARSession 会话(启动 AR)
[self.sceneView.session runWithConfiguration:configuration];
}
在 viewWillAppear 方法中 ,创建了一个追踪设备的配置,监测手机的移动与旋转,启动 AR。
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// Pause the view's session
// 暂停 ARSession 会话
[self.sceneView.session pause];
}
相关说明
ARKit主要有三层核心技术技术
第一层:快速稳定的世界定位 ,包括实时运算,运动定位,无需预设(软硬件)
第二层:平面和边界感知 碰撞测试和光线估算,让虚拟内容和现实环境无缝衔接。
第三层,渲染 支持各种渲染制作工具,目标就是简单易用,和其它插件融合度好。
- 安卓版
- PC版
- IOS版
热门评论
最新评论