检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
AR地图服务通过AR地图生产和AR地图运行来实现基于视觉定位(VPS)的AR内容展示和AR导航。应用到具体项目时,应妥善选取场景。若场景选取不合适,可能导致视觉定位效果不佳,影响最终的AR内容展示和AR导航。 场景选取总体原则: VPS定位能力与人的视觉定位能力类似,需要捕捉环境中的特征点
API是否存在对调用IP数量的限制 API对调用IP数量无限制,满足华为云APIG身份认证的请求均可访问KooMap服务。默认支持20QPS。 父主题: API使用
注意事项 了解坐标系 VPS坐标系 VPS坐标系是基于UTM坐标定义的,北向Y轴正向和东向X轴正向如图1所示。 图1 VPS坐标系示意图 Three.js渲染引擎坐标系 摆放虚拟物体时需要注意:Three.js的相机朝向是Z轴的反向。 图2 Three.js渲染引擎坐标系示意图 坐标系转换
设备机型暂不支持。 开启AR会话状态,发送VPS请求获取定位数据。 通过回调函数(hwar.registerGetNewVpsPose)获取定位数据,如果获取失败,可通过侦听事件“VPS_FAIL”处理。 // 设置AR状态,第一个参数设为true表示开始发送VPS请求 hwar.setARStatus(true
到有服务的地方请求或联系技术支持。 400 VPS.0002 VPS failed. 空间定位算法服务定位错误。 检查参数是否正确或请联系技术支持。 400 VPS.0003 Invalid parameters. 空间定位算法服务请求参数不正确。 检查参数是否正确。 400 VPS.0004 Access
floats 参数解释: VPS姿态矩阵,按照左上到右下排列。 取值范围: 不涉及。 t Array of floats 参数解释: VPS位置,包含X、Y、Z三个浮点数,代表在空间中的位置。 取值范围: 不涉及。 confidence Double 参数解释: VPS结果置信度。 取值范围:
需要接收两个参数: VPS请求接口的返回数据和世界坐标原点。 dictPoseData: { utmcode: string; vpsFloor: string; pose: { r: number[], t: number[]} } dictPoseData.pose.r是VPS姿态矩阵 dictPoseData
需要侦听回调。回调函数无event参数。 NO_SRTEAM 获取设备的相机时出错。一般是设备没有后置摄像头。 - - 需要侦听回调。回调函数无event参数。 VPS_FAIL VPS定位失败。可能是定位不在地图范围、定位超时等原因。 - - 需要侦听回调。回调函数无event参数。 接口调用及相机fov设置示例
区域,用户可进行3D实景步行导引,无需担心GPS信号弱的环境。 工作原理 WebARSDK通过设备传入的图像及传感器数据,调用视觉定位(VPS)和导航服务,以及SLAM(同步定位与地图构建)算法,为您的应用提供环境感知与交互感知能力,再经应用渲染给用户呈现虚实融合体验。 图1 WebARSDK工作原理
准备工作 开发技能要求 具备TypeScript/JavaScript开发基础。 熟悉Web移动端开发。 熟悉Three.js、LayaAir等渲染库,可实现基于WebGL的3D渲染。 下载SDK 请下载WebARSDK软件包和软件包的完整性校验文件,并解压软件包、核对文件目录。
验证视觉定位效果时,您需竖屏正向手持设备扫描周边环境。 检查定位区域是否在地图服务范围内。 按“F12”打开DevTools,在“Network”页签中查看“vps”的状态码。如果状态码为“400”,请在“Response”页签中查看“error_msg”内容,如显示“access denied, out
获取失败 }) // 路径点结构:其中xyz是UTM坐标,渲染路径时需要转换成渲染坐标(TS语言) export interface INaviPoint { linkID: number; x: number; y: number; z: number;
点云 点云是目标场景表面特性的点集合,包括三维坐标(XYZ)和颜色信息(RGB),可用于场景的可视化和白模构建。 视觉定位(VPS) 视觉定位(VPS)是根据图像确定设备位置的一项技术。 通过拍摄一系列具有已知位置的图像并分析它们的关键视觉特征(例如建筑物或桥梁的轮廓)来创建A
代码示例 完整的示例代码在SDK压缩包Cyberverse-HTFoundation.zip的Demo.zip中。 您可在创建完成后的Unity项目中找到对应的示例代码。 父主题: HTSDK使用手册
AddNaviPathListener(NaviPathListener); mNaviSession.mNavi.ResetNaviRoute(naviContent.path[0]); 您可在Unity新建工程的“Assets > HTFoundation > Scripts >
创建和开发流程如图1所示。 图1 流程图 开发过程 配置AK/SK信息。 在新建的Unity工程“Assets > HTFoundation > Scripts > BaseUtils”中找到HTStringRes.cs,并在HTStringRes.cs配置AK/SK信息以及输入固定的BASE_URL。
区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,面向不同类型的租户和业务。 通用Region:指面向公共租户提供通用云服务的Region。
false:关闭会话,停止发送请求。 void apkUuidIsUpdate boolean 是否更新会话。可选。 默认为false。 true:重置会话,重新进行VPS请求。 false:不重置会话。 multiFrame boolean 是否连续请求定位。可选。 默认false。 true:连续请求定位,直到请求成功。
HTTP方法 方法 说明 GET 请求服务器返回指定资源。 POST 请求服务器新增资源或执行non-CRUD操作。 DELETE 请求服务器删除指定资源,如删除对象等。 PUT 请求服务器更新指定资源。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。当资源不存
模块之间启动销毁存在相关依赖需要按照一定顺序执行,HTSysEntrance需要最先执行。脚本执行顺序可见“Assets > HTFoundation > Scripts”中的SessionsManager.cs文件。 由于SDK的虚拟世界比较庞大,导致距离坐标世界原点较远的虚拟资源坐标值很大,可能会引