ARKit学习之1.0版本案例分析

ARKit学习之1.0版本案例分析

为了方便AR开发交流,博主建立了一个群 :891555732,欢迎一起讨论


公共部分介绍:

①.Main Camera :

UnityARVideo脚本 : 渲染相机

UnityARCameraNearFar脚本 : 控制检测的距离

②.ARCameraManager

UnityARCameraManager脚本 : 启动ARKit会话

③.GeneratePlanes :检测过程中平面显示

④.RandomCube : 点击时添加的cube

UnityARUserAnchorComponent脚本 : 接收anchor更新和移除的委托,可以检测anchor的生命周期

⑤.PointCloudParticleExample : 识别过程中的点云

⑥.ARKitControl :将ARKitSessionConfiguration配置参数保存在数组中,点击不同的按钮更改平面识别的配置

1.UnityParticlePainter(空间例子系统画点)

空中作画

ParticlePainter脚本 : 在ARFrameUpdated中获取坐标,坐标不相同时进行刷新

2.UnityARBallz(平面小球移动与碰撞)

ModeSwitcher :选择模式

BallMaker :点击在平面上就生成小球

3.UnityARShadows(在平面显示物体的阴影)

GeneratePlanes上预制体为shadowPlanePrefab

4.UnityAROcclusion(遮光材料遮挡物体)

会遮挡模型

GeneratePlanes上预制体为occlusionPlanePrefab

5.FocusSquare(视点变化)

识别平面之前Focus

FocusSquare

FocusSquare脚本 :Update从屏幕中心发出射线,未获取到平面则一直显示FocusSquareFinding,获取到屏幕则显示                  FocusSquareFocused

6.AddRemoveAnchorExample(通过Anchor添加删除物体)

手指点击会添加锚点:

UnityARUserAnchorExample脚本 :Update中监听点击,点击则添加一个anchor,并保存其ID,4s后移除ID(会调用                   anchorRemove,销毁添加的anchor)

7.UnityARKitScene

AR3DOFCameraManager : 三自由度,使用ARKitSessionConfiguration,六自由度使用的是ARKitWorldTrackingSessionConfiguration