如何通过session.createAnchor创建锚

时间:2019-01-11 06:35:47

标签: java augmented-reality detect arcore

我修改示例HelloAR项目。 将以下源代码添加到函数OnDrawFrame()

 public void onDrawFrame(GL10 gl) {
 ...
  Camera camera = frame.getCamera();
  //test code
  if(show) {
    show = false;
    Pose p = camera.getPose(); //Get camera pose
    Pose locpose = Pose.makeTranslation(0.0f, 0.0f, -2.0f);//define a translation
    targetpose = p.compose(locpose); //make a new pose based on camera pose
    ④anchors.add(session.createAnchor(targetpose)); //add a new anchor
  }

  // Handle taps. Handling only one tap per frame, as taps are usually low frequency
  // compared to frame rate.
...
}

执行④时发生异常,我认为姿势不正确。 我的目标如下 创建一个关于锚点位置的新锚点,我希望它是手机角度的屏幕中心,并且相机和锚点之间的距离是3D世界的2米。

如何定义那个姿势?

1 个答案:

答案 0 :(得分:0)

我找到了根本原因:测试代码执行得太早了,当创建一些点云时,然后执行测试代码,就会创建一个新的锚点。我将解决问题