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