一、预设环境
1、Unity2018.4.11
2、Unity packages:
ARFoundation 1.5 preview6、SenseAR XR Plugin
3、勾选OtherSettings--Allow "unsafe" Code
4、最小AndroidLevel:27
二、查看SenseAR示例场景
1、Project packages找到SenseAR,右键打开缓存目录
2、将Sample文件夹下的Example复制到Assets中
3、解决报错:勾选OtherSettings--Allow "unsafe" Code
三、案例一
目标:实现平面检测、点云显示、触碰添加3D物体功能
1、新建空场景,删除camera
2、右键添加ARFoundation的 AR Session Origin、AR Session
ARSession脚本:控制AR功能生命周期
ARInputManager脚本:将手机传感器等数据传到 AR Session ,供其使用。
3、完成平面检测功能:
a、AR Session Origin 物体添加 ARPlaneManager
b、层级视图右键创建平面 XR-AR Default Plane,将其制成预制体,赋给 ARPlaneManager
4、添加点云功能:
a、AR Session Origin 物体添加 ARPointCloudManager
b、层级视图创建点云 XR-AR Default Point Cloud,将其制成预制体,赋给 ARPointCloudManager
5、完成点击屏幕添加物体功能
a、AR Session Origin 物体添加 ARRaycastManager、ARReferencePointManager、ReferencePointCreator、ARStandModeSet
ARRaycastManager:射线与平面碰撞,得到碰撞点
ARReferencePointManager:可赋值点击后出现的物体
ReferencePointCreator:检测手指与屏幕碰撞,触发一些事件。
ARStandModeSet:初始化时控制上述功能的开闭
b、给上面的代码赋值:
给 ARReferencePointManager 赋值预制体 AR Point Cloud
勾选ARStandModeSet的平面、点云开关
6、Build,完成。