目录
🟥 商汤SenseAR的开发环境
1、Unity2018.4.11
2、Unity packages:ARFoundation 1.5 preview6、SenseAR XR Plugin
3、勾选OtherSettings--Allow "unsafe" Code
4、最小AndroidLevel:27
5、使用Gradle打包
6、使用package中的示例场景第一次打包会报错。
是因为图片识别的数据库 ReferenceImageLibrary 内图片丢失导致,删除就好。
7、安卓手机预装SenseAR
下载地址:SenseAR
注意:若你手机没安装SenseAR,打开使用SDK制作好的应用,会弹出下面界面(使用package制成的app,直接黑屏)
这时你只需要安装SenseAR即可。
若你已经按照提示装上了xrserver,再次打开应用会提示你升级xrserver。这时你应该卸载xrserver(必须卸载,否则还会报错),装上Senser即可。
🟧 查看SenseAR示例场景
1、Project packages找到SenseAR,右键打开缓存目录
2、将Sample文件夹下的Example复制到Assets中
3、解决报错:勾选OtherSettings--Allow "unsafe" Code
🟨 实现平面检测、点云显示、触碰添加3D物体功能
1️⃣ 配置基础组件
1、新建空场景,删除camera
2、右键添加ARFoundation的 AR Session Origin、AR Session
ARSession脚本:控制AR功能生命周期
ARInputManager脚本:将手机传感器等数据传到 AR Session ,供其使用。
2️⃣ 完成平面检测功能
1、AR Session Origin 物体添加 ARPlaneManager
2、层级视图右键创建平面 XR-AR Default Plane,将其制成预制体,赋给 ARPlaneManager
3️⃣ 添加点云功能
1、AR Session Origin 物体添加 ARPointCloudManager
2、层级视图创建点云 XR-AR Default Point Cloud,将其制成预制体,赋给 ARPointCloudManager
4️⃣ 完成点击屏幕添加物体功能
1、AR Session Origin 物体添加 ARRaycastManager、ARReferencePointManager、ReferencePointCreator、ARStandModeSet
ARRaycastManager:射线与平面碰撞,得到碰撞点
ARReferencePointManager:可赋值点击后出现的物体
ReferencePointCreator:检测手指与屏幕碰撞,触发一些事件。
ARStandModeSet:初始化时控制上述功能的开闭
2、给上面的代码赋值:
给 ARReferencePointManager 赋值预制体 AR Point Cloud
勾选ARStandModeSet的平面、点云开关
🟩发布测试
最终进行Build,打包测试看看吧!