Unity3D 利用ARCore室内导航、导览

Unity3D 利用ARCore室内导航、导览,第1张

增强现实用来进行实现室内导览,也是一个不错的应用。现在各种地图的导航主要是针对室外,类似机场,博物馆,商场等室内GPS定位不准的地方,其实可以利用SLAM来实现简单的导览。

前段时间利用ARCore尝试了一下,效果还是挺好的。效果如下

网上有很多讲如何用SLAM做室内导航的,大都是利用已有的现实地图来生成目标点和路径,其实我们可以动态生成地图目标点和路径。

实现步骤如下:

一、记录并保存目标点

启动App, 开启ARCore SLAM ,然后每走到一个目标点就记录下该点的3D空间坐标,把这些信息记录在文本文件保存到本地。

二、加载目标点 生成导航路径

重新启动App,加载 之前保存的目标点信息,在每两个点之间生成若干箭头用来做导航指示。当到达一个目标点后,依次生成下面两个点之间的导航箭头。

其中有一点要注意的是,每次ARCore初始化的时候位置要保持一致,不然加载出来的 跟录制的目标点位置会出现偏差。

Unity技术交流 微信公众号 UnityAsk,QQ群:891920228

![](https://upload-images.jianshu.io/upload_images/2432769-7135937f5b195c38.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

若手机提示应用程序已停止,可能是手机下载的第三方软件或者内部应用程序出现错误,建议您:

1.设定-查找“应用程序管理器”-(全部)-查找无法使用的应用程序-(存储)-清除数据。

2.若是下载的第三方软件,建议卸载该软件重新安装或下载安装此软件其他版本尝试。

3.如果运行内置程序时也会出现已停止的提示,查看手机是否有最新固件版本,将机器升级到最新版本。

4.若仍然无法运行此应用程序,请备份手机中数据(联系人、照片等),然后恢复出厂设置。

若问题依然存在,请您携带购机发票、包修卡和机器送到三星服务中心,由专业的售后工程师帮助检测。

打开Unity,新建一个空工程,然后在场景中铺满Canvas添加RawImage,具体如下图

在工程中,新建一个脚本OpenCamera,双击打开进行编辑,具体如下图

OpenCamera 脚本的具体代码和代码说明如下图

OpenCamera 脚本的具体内容如下:

using System.Collections

using UnityEngine

using UnityEngine.UI

public class OpenCamera : MonoBehaviour

{

public RawImage rawImage

private WebCamTexture webCamTexture

private Vector2 resolution = new Vector2(1280, 720)

private int fps = 60

// Use this for initialization

void Start()

{

StartCoroutine(OpenBGCamera())

}

IEnumerator OpenBGCamera()

{

Debug.Log("Test")

//获取摄像头权限

yield return Application.RequestUserAuthorization(UserAuthorization.WebCam)

if (Application.HasUserAuthorization(UserAuthorization.WebCam))

{

//停止正在使用的摄像头

if (webCamTexture != null)

{

webCamTexture.Stop()

}

//判断时候有摄像头

if (WebCamTexture.devices.Length != 0)

{

//new一个后置摄像头并且设置分辨率和FPS,渲染到UI上

webCamTexture = new WebCamTexture(WebCamTexture.devices[0].name, (int)resolution.x, (int)resolution.y, fps)

rawImage.texture = webCamTexture

webCamTexture.Play()

}

}

}

}

脚本编译正确,回到Unity,把脚本挂载上去,具体如下图

在顶部菜单栏 File—BuildSettings,点击打开,切换成移动端,并且设置屏幕不自动旋转,然后根据手机进行设置方向,方向不同会是画面颠倒,不要紧,根据情况更换 Orientation 即可,具体如下图

编译打包,手机上运行结果如下如


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11280011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存