SLAM
所有文档

          AR开放平台

          SLAM

          SLAM (simultaneous localization and mapping)译为即时定位与地图构建,SLAM属于AR的基础模块,属于设备感知周围坏境的范畴。百度ARSLAM 2.0考虑到不同机型的通用性,在设计的技术方案时更侧重于即时跟踪(instant tracking)。

          SLAM API

          Json

          targets.json文件中配置 详解

          	"slam_model":{
                  "id":"case_id",
                  "place_type":1,
                  "position":"0.5,0.5",
                  "pitch_angle":-40,
                  "distance":1000,
                  "immediately_place_model":0
              }

          place_type 模型放置坐标系类型 (0 屏幕坐标系 | 1 空间坐标系)

          • type为 0 时, pitch_angle 字段定义无效
          • type为 1 时, position 字段定义无效

          LUA

          SLAM类 : Slam

          open_slam 开启slam (最低使用版本120)

          slam_reset 重置slam

          on_slam_direction_guide slam模式下引导提示的状态和位置

          set_slam_rotate_type 设置slam下旋转模式

          SLAM 实现

          模型要求

          • 模型在网格中必须按照下图呈现效果设置,提高SLAM下模型的稳定性(确保模型中心点位于模型底部中心位置)。

          SLAM模型制作示例图

          API

          place_type 模型放置坐标系类型

          • 当type为0时,模型会出现在手机屏幕中心对应的真实世界的位置,可以通过改变position属性,改变现实位置(例如商品展示)。
          • 当type为1时,模型会出现在地理坐标系中的地面,此初始位置远近可以在项目制作时通过更改模型distance属性进行调整(类似打年兽项目,需要年兽必须出现在地面)。

          百度AR对展示方式进行了高效调用封装,SLAM类型项目在制作时,仅需通过AppType调用Slam即可,如下图所示。

          类型更替示例图

          当SDK版本为120时,提供开启slam的接口,可根据项目需求,在特定逻辑之后开启slam。

          使用此方案需注意:

          • 必须开启immediately_place_model字段,即为立即隐藏模型操作,确保逻辑正常。

          使用限制

          1、不能和手势识别结合使用。
          2、使用slam能力时,注意模型面数不要过大,模型面数过大可能会对性能产生影响。
          3、Slam类型下模型使用高级材质渲染对slam的效果也会产生影响,建议不要结合使用。

          上一篇
          AR语音交互
          下一篇
          粒子