Unity-ARKit入门

ARKit简介

ARKit是苹果在 2017 WWDC 发布的一款全新的增强现实框架技术产品.

ARKit 可以将 iOS 设备的摄像头和设备动作检测 (Motion) 功能,集成到您的应用或者游戏当中,从而为用户提供增强现实体验。ARKit原框架是苹果系统自带的ARKit框架,这里主要介绍ARKit插件集成到unity的功能和表现,这样可以在Unity项目中使用ARKit SDK的所有功能。

Unity ARKit下载地址

官方unity ARkit支持论坛

深度了解ARkit原理

ARkit官方文档

ARkit1.5介绍

ARkit2.0介绍

Multi-platform Handheld AR 介绍

 

ARkit版本更新简介:
ARkit1.5:
1、ARImageAnchor(图像识别)
2、ARKitRelocalize(重新加载AR会话)
3、ARPlaneMesh(不规则平面识别)
4、ARSetWorldOrigin(重新设置坐标原点)
5、ARVideoFormats(AR画面分辨率)
6、Vertical Planes(支持垂直平面识别)
7、Autofocus(自动对焦)

ARkit2.0:
1、AREnvironmentTexture(支持实时获取环境纹理)
2、ARObjectAnchor(支持3D物体识别)
3、ARWorldMap(AR世界地图)
4、ObjectScanner(支持3D物体扫描)
5、TongueAndEyes(面部识别支持眼睛和舌头的定位)
6、Image tracking(加强图像识别)

 

开发环境介绍

ARkit:1.5版本

Xcode版本:Xcode9.3及以上

iOS系统:iOS11.3及以上

iOS设备:处理器A9及以上(6S机型及以上)

Unity:2017.1.0及以上

ARKit项目工程

ARKitRemote:

可以手机连接在unity编辑器上进行调试,而不用打包在真机上进行测试。步骤,把UnittyARKitRemote场景设置Development Build勾选,打包出来装在手机上,手机连接电脑,在unity 的Console控制台上选择连入的手机,再点击场景的Connected to ARKit Remote device 按钮进行调试连接。

Example:

AddRemoveAnchorExample:添加和移除锚点测试,用户自己可定义锚点,添加和删除。

FaceTracking:脸部追踪相关案例,只支持iphoneX

FocusSquare:arkit扫描标识和识别标识状态切换案例

UnityARBallz:点击在扫描平面生成球的demon场景(具体模样看AssetStory的arkit插件介绍图片展示)

UnityARKitScene:主场景案例,结合了模型展示,平面识别,锚点识别,光照识别

UnityAROcclusion:遮挡剔除场景(虚拟物体与现实场景可互相遮挡案例)

UnityARShadows:模型显示阴影场景

UnityParticlePainter:在空间画图的案例场景

UnityARImageAnchor:图像识别案例场景

UnityARKitRelocalize:重新加载会话案例场景

UnityARPlaneMesh:不规则平面扫描案例场景

UnityARSetWorldOrigin:设置世界原点坐标案例场景

UnityARVideoFormats:映射周围环境材质案例场景

注意事项

1、AR的UI显示要另外用一个UI摄像机,因为拍照功能默认是使用AR摄像机拍照,这样可以避免UI也被拍摄在内。

2、实现AR时,必须要有一个专门用于AR的摄像机,目前AR摄像机是ARCamera。且必须保证AR摄像机的深度优先级低于AR的UI摄像机且高于其他摄像机。

3、AR结合的是摄像机呈现的真实世界,其尺寸以真实世界为准。Unity单位里的1,在现实里呈现出来就是1米。

4、由于现有大部分游戏并不遵循真实世界单位,或者在AR呈现出的游戏世界需要缩放摆放至桌面,所以移植需要相应修改。

5、不提倡剧烈运动,会有抖动问题。苹果的局限。

6、尽量选取周围环境识别度高(光照,环境颜色不单一)的进行AR功能。

7、获得所需结果后,禁用平面检测。平面检测需要的计算量更大。因为放置在场景中的对象不需要一直做平面检测,所以在获得结果以后可以禁用平面检测。

 

 

你可能感兴趣的:(Unity-ARKit入门)