检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开启AR会话 概述 开发指导 注意事项 父主题: WebARSDK使用手册
=> { // 获取成功 }).catch((err) => { // 获取失败 }); 设置并检查AR会话开启前的相关配置。 配置操作包括创建会话、设置位置、检测陀螺仪。 创建会话:用于启动相机及SLAM。 设置位置:用于设置已知地图服务区域的GPS坐标,提高后续视觉定位的精度。
注意事项 创建导航 // HTNavigationProvider是为导航模块提供参数与配置的类,通过对这个类的参数调整,可以对导航功能进行详细配置 mNaviProvider = new HTNavigationProvider(HTSystemManager.GetHTSystem()
概述 SDK功能集成在HTFoundationOrigin预制体中,默认开启相机预览流、定位、资源加载与调试面板功能,主要功能包含导航、白膜显隐等。其主要是由HTSysEntrance和Canvas构成: HTSysEntrance:负责提供SDK功能并维护生命周期。 Canvas:负责提供示例界面UI。
如果AK/SK有一个是空值就会返回false。 setAreaGPS 设置已知地图服务区域的GPS坐标到AR系统中,便于提高后续视觉定位的精度。GPS信息可以从局点配置中获取,也可以通过请求浏览器的位置接口获取。 gps { latitude: number; longitude: number; altitude:
概述 AR导航功能依赖视觉定位,进行空间位置跟踪。它将会根据当前位置信息及终点信息获取路径点信息,然后进行3D虚拟世界渲染操作。 其包含的功能主要有路线规划及导航指示: 路线规划:根据目的地和当前位置,自动规划合适的路线。 导航指示:引导用户沿着设定的路线前进,并在需要时提供转弯提示等导航信息。
参数类型使用了TypeScript语言的声明规范。 视觉定位 空间位置追踪与渲染 导航 事件管理 SDK内部派发事件 父主题: WebARSDK使用手册
开发指导 开发流程 开发流程请参考图1。 图1 开发流程图 开发过程 搜索POI。 // 创建获取POI的异步任务栈 var mPOICloud = new HTPOICloud(); // 将生命周期绑定到unity的生命周期 mPOICloud.Create("NAVIPOI");
概述 您可开启AR会话获取设备的图像、GPS坐标及传感器数据,启动SLAM从而进行视觉定位。 传感器包括陀螺仪、加速度计、磁力计。 父主题: 开启AR会话
概述 AR导航功能依赖视觉定位,提供空间位置追踪能力。 您可以依赖图像数据、相机矩阵及路径点信息进行3D导航路径渲染。 父主题: 实现AR导航
注意事项 模块之间启动销毁存在相关依赖需要按照一定顺序执行,HTSysEntrance需要最先执行。脚本执行顺序可见“Assets > HTFoundation > Scripts”中的SessionsManager.cs文件。 由于SDK的虚拟世界比较庞大,导致距离坐标世界原点
注意事项 视频流无法正常获取原因排查 如果您无法获取视频流,建议您排查以下问题: 检查是否存在浏览器多个标签页同时申请获取视频流的情况,建议您关闭其他标签页。 检查浏览器是否支持WebRTC,如不支持,建议您更换浏览器。 检查应用相机权限是否打开。 检查移动设备后置摄像头是否能正常拍摄画面。
注意事项 了解坐标系 VPS坐标系 VPS坐标系是基于UTM坐标定义的,北向Y轴正向和东向X轴正向如图1所示。 图1 VPS坐标系示意图 Three.js渲染引擎坐标系 摆放虚拟物体时需要注意:Three.js的相机朝向是Z轴的反向。 图2 Three.js渲染引擎坐标系示意图 坐标系转换
调试方法 准备工作 您可根据实际情况选择如下任一组设备进行调试: 安卓手机、数据线、Windows系统电脑。 苹果手机、数据线、Mac系统电脑。 调试步骤 选择安卓手机调试。 用数据线连接手机、电脑,手机开启USB调试模式。 在Chrome浏览器输入:chrome://inspe
调试工具 调试工具包括: 安卓手机 Windows系统电脑 USB数据线 父主题: 常用调试方法
开发指导 开发流程 图1 AR导航启动流程 开发过程 开启AR会话。 选定终点位置。 通过POI智能搜索(hwar.searchPoi)选定终点坐标。 // POI智能搜索 hwar.searchPoi({ "floor": "1F", "address": "xxx"
调试工具 常用的调试工具包括: 基于Chromium内核的浏览器(例如Edge、Chrome)的开发者工具(DevTools) Safari浏览器 父主题: 常用调试方法
事件管理 事件管理使用到的接口如表1所示。 表1 事件管理接口列表 接口 描述 参数名 参数类型 参数说明 返回值 dispatchEvent 事件派发。 strId string 侦听事件id。 void data { [key: string]: DataType } 携带的数据。
SDK内部派发事件 SDK内部派发事件如表1所示。 表1 SDK内部派发事件列表 事件名称 描述 携带的数据 数据类型 事件说明 GYRO_STATUS 陀螺仪有效性检测。 gyro boolean 需要侦听回调,回调函数会接收到一个参数:event: { data: Object
空间位置追踪与渲染 接口列表 空间位置追踪与渲染需要使用到的接口如表1所示。 表1 空间位置追踪与渲染接口列表 接口 描述 参数名 参数类型 参数说明 返回值 createARSession 创建AR会话。 - - - Promise<void> setARStatus 设置AR状态。