基于位置的AR.js示例不会移动对象

时间:2019-11-12 22:14:14

标签: three.js gps aframe ar.js location-based

我正在使用AR.js创建一个AR场景。使用Marker一切都可以正常工作,但是当我使用基于位置的AR时,对象会显示在一个位置,并且在旋转设备时不会移动。

<html>
<head>
  <script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
  <script src="https://cdn.rawgit.com/jeromeetienne/AR.js/2.0.6/aframe/build/aframe-ar.js"></script>
</head>
<body style="margin: 0px; overflow: hidden;">
  <a-scene gps-camera-debug embedded arjs="sourceType: webcam; debugUIEnabled: false;" vr-mode-ui="enabled: false">
    <a-camera gps-camera rotation-reader>
      <a-box color="yellow" gps-entity-place="latitude: <lat>; longitude: <long>" scale="2 2 2" />
    </a-camera>
  </a-scene>
</body>
</html>

在我接受对照相机和定位服务的访问后,照相机显示屏上方会出现一个黄色方框。但是,向上,向下,向左或向右移动相机不会移动或旋转对象。黄色正方形似乎在屏幕上停留在一个位置。

我使用的GPS位置与gps-camera-debug报告的位置完全相同。如果我输入其他纬度和经度,则黄色方块根本不会出现。

在Firefox v70和带有IOS 12.3.1的iPhone 6中,结果相同。 Firefox控制台中的消息是...

A-Frame Version: 0.9.2 (Date 2019-05-06, Commit #f57a1fa) index.js:92:8
three Version (https://github.com/supermedium/three.js): ^0.102.2 index.js:93:8
WebVR Polyfill Version: ^0.10.10 index.js:95:8
Successfully compiled asm.js code (total compilation time 81ms) aframe-ar.js
THREE.WebGLRenderer 103dev three.js:22620:10
gps-camera-entity-added aframe-ar.js:9031:17
Use of the orientation sensor is deprecated. aframe-ar.js:8785:15
AR.js 2.0.6 - trackingBackend: artoolkit aframe-ar.js:7121:10
The Components object is deprecated. It will soon be removed. 02
gps-camera-ready aframe-ar.js:8749:25
Allocated videoFrameSize 1228800 aframe-ar.js:2:23009
Pattern detection mode set to 1. aframe-ar.js:2:23009
Pattern ratio size set to 0.500000.

有什么想法我想念的吗?

1 个答案:

答案 0 :(得分:1)

该框不应是相机的子项

<a-camera gps-camera rotation-reader>
</a-camera>
<a-box color="yellow" gps-entity-place="latitude: <lat>; longitude: <long>" scale="2 2 2" />

gps试图定位盒子时可能会发生比赛,同时还要应用相机变换。一个大胆的猜测,但仍然-尝试了一下,它可以与android chrome上的上述代码一起使用。