检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发指导 开发流程 创建和开发流程如图1所示。 图1 流程图 开发过程 配置AK/SK信息。 在新建的Unity工程“Assets > HTFoundation > Scripts > BaseUtils”中找到HTStringRes.cs,并在HTStringRes.cs配置AK
开发指导 开发流程 图1 开启AR会话开发流程 开发过程 获取Token。 成功获取Token后才能进行定位请求。 // 向服务器请求签名 hwar.getToken().then((res) => { // 获取成功 }).catch((err) => { //
开发指导 开发流程 开发流程请参考图1。 图1 开发流程图 开发过程 搜索POI。 // 创建获取POI的异步任务栈 var mPOICloud = new HTPOICloud(); // 将生命周期绑定到unity的生命周期 mPOICloud.Create("NAVIPOI
注意事项 模块之间启动销毁存在相关依赖需要按照一定顺序执行,HTSysEntrance需要最先执行。脚本执行顺序可见“Assets > HTFoundation > Scripts”中的SessionsManager.cs文件。 由于SDK的虚拟世界比较庞大,导致距离坐标世界原点较远的虚拟资源坐标值很大
视觉定位 功能介绍 视觉定位是根据图像耦合GPS数据确定设备的位置的一项技术。首先通过拍摄一系列具有已知位置的图像并分析它们的关键视觉特征(例如建筑物或桥梁的轮廓)来创建地图,以创建这些视觉特征的大规模且可快速搜索的索引。将设备图像中的特征与索引中的特征进行比较,可获得目标设备的位姿
开发指导 开发流程 图1 AR导航启动流程 开发过程 开启AR会话。 选定终点位置。 通过POI智能搜索(hwar.searchPoi)选定终点坐标。 // POI智能搜索 hwar.searchPoi({ "floor": "1F", "address": "xxx
视觉定位 接口列表 视觉定位需要使用的接口如表1所示。 表1 视觉定位接口列表 接口 描述 参数名 参数类型 参数说明 返回值 getToken 向服务器请求签名。 - - - Promise<any> setAKSK 验证租户身份信息。 requestParams { AK: string
错误码 AR地图运行服务错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 描述 处理措施 400 NAVI.0002 Navi failed, please check parameters. 导航失败。 检查参数是否正确或联系技术支持
事件管理 事件管理使用到的接口如表1所示。 表1 事件管理接口列表 接口 描述 参数名 参数类型 参数说明 返回值 dispatchEvent 事件派发。 strId string 侦听事件id。 void data { [key: string]: DataType } 携带的数据
空间位置追踪与渲染 接口列表 空间位置追踪与渲染需要使用到的接口如表1所示。 表1 空间位置追踪与渲染接口列表 接口 描述 参数名 参数类型 参数说明 返回值 createARSession 创建AR会话。 - - - Promise<void> setARStatus 设置AR状态
SDK内部派发事件 SDK内部派发事件如表1所示。 表1 SDK内部派发事件列表 事件名称 描述 携带的数据 数据类型 事件说明 GYRO_STATUS 陀螺仪有效性检测。 gyro boolean 需要侦听回调,回调函数会接收到一个参数:event: { data: Object
常见问题 定位失败,定位结果显示“Incorrect IAM” 定位失败,定位结果显示“OutOfService” 定位失败,定位结果显示“invalid url” 定位后报错,日志显示“Cannot read properties of undefined(reading ‘position
注意事项 了解坐标系 VPS坐标系 VPS坐标系是基于UTM坐标定义的,北向Y轴正向和东向X轴正向如图1所示。 图1 VPS坐标系示意图 Three.js渲染引擎坐标系 摆放虚拟物体时需要注意:Three.js的相机朝向是Z轴的反向。 图2 Three.js渲染引擎坐标系示意图 坐标系转换
导航 导航需要使用到的接口如表1所示。 表1 导航接口列表 接口 描述 参数名 参数类型 参数说明 返回值 searchPoi POI智能搜索。 searchData { floor?: string; address?: string; title?: string; tag?:
状态码 常用状态码请参见表1。 表1 请求状态返回码 状态码 描述 说明 200 OK 服务器已成功处理了请求。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求
快速开始 以工程Project为例,通过引入SDK脚本、传入AK/SK、调用API,验证工程中SDK是否引入正常,为后续功能开发做准备。 操作步骤 创建工程(Project),并将WebARSDK包解压后放入工程目录。 Project ├── index.html ├── src
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对AR导航接口,如果调用后返回状态码为“200”,则表示请求成功。 响应消息头 对应请求消息头,响应同样也有消息头
cfg.ini调试方法 基本原理 您可以通过创建和修改应用目录下的cfg.ini文件调试信息配置,调试信息在配置文件中以键值对的形式存在。ini文件的配置目录如下: Unity:C:\...\AppData\LocalLow\{company name} \{product name
准备工作 开发技能要求 具备TypeScript/JavaScript开发基础。 熟悉Web移动端开发。 熟悉Three.js、LayaAir等渲染库,可实现基于WebGL的3D渲染。 下载SDK 请下载WebARSDK软件包和软件包的完整性校验文件,并解压软件包、核对文件目录。
总体开发思路 使用HTFoundation示例开发移动端应用的工作流程如图1所示。 图1 工作流程 创建一个新的工程目录。 使用Unity3D引擎创建基础工程,基础工程里面会有一个空的工程目录。详情见创建Unity项目。 导入ARFoundation插件包。 在Unity的Packages