Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)

ARKIt 1.5中新增 

 面部追踪、垂直面检测 、 更高精度绘制不规则表面、 识别2D图像、重新定位, 自动对焦、分辨率、重置世界原点

 

检测不规则平面绘制

创建plan预制体添加脚本ARKitPlaneMeshRender

第一个参数为平面mesh 二个参数用lineRenderer 绘制平面边缘

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第1张图片

添加脚本UnityARGeneratePlane 并把刚才穿件的plane 赋值

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第2张图片

 

识别图片

创建 要识别的图片 ARReferenceImage 和图片集ARReferenceImageSet

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第3张图片

ARReferenceImage 设置: 设置名字 和texture physical size 为物理大小 尽量和图片实际大小设置一致 需要识别几个图片就创建几个 ARReferenceImage

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第4张图片

ARReferenceImageSet 设置: 设置名字 和需要识别的所有 ARReferenceImage 添加进来

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第5张图片

设置camer:

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第6张图片

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第7张图片

 

然后设置识别出物体后需要触发的事件

 

插件只以提供脚本 GenerateImageAnchor 参数1为识别的地图 参数2为识别出后显示的物体Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第8张图片

 

这样就OK了

 

重新定位

启动程序后当接到电话或者程序切换到后台后程序定位会不准确 设置重新定位后切换回来会重新定位

系统默认重新定位为fals 只要代码设置为ture 就可以

 

 UnityARSessionNativeInterface.ARSessionShouldAttemptRelocalization = true;

 

自动对焦

勾选可自动对焦

Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。)_第9张图片

重置世界原点

每次重新定位时是将你虚拟位置的坐标与相机位置坐标重新定位

UnityARSessionNativeInterface.GetARSessionNativeInterface().SetWorldOrigin(camera.transform);

你可能感兴趣的:(Unity ARKit 学习 1.5(高精度绘制不规则表面、 识别2D图像、重新定位。。。))