Расширение с помощью SDK 8th Wall с несколькими целевыми изображениями

Я хочу увеличить видео на нескольких изображениях. Поэтому я пытаюсь реализовать аугментацию отслеживания 8-го изображения стены с несколькими изображениями. Но я не могу получить аугментацию. У меня проблема с изображениями. Если я упоминаю имя целевого изображения в html, тогда оно работает.

<a-entity target-video="name: imageTargets; video: #alpha-video;" material="shader: chromakey; src: #alpha-video; color: 0.1 0.9 0.2" geometry="primitive: plane; height: 0.6; width: 1.38;"> </a-entity>

имя: imagetarget1 (одно из имен целевого изображения в 8-й стене консоли)

Но когда я пытаюсь использовать несколько изображений, это не работает. Может ли кто-нибудь помочь мне решить эту проблему. Я загрузил 10 изображений в консоль 8-й стены, и их имена следующие: "imagetarget1", "imagetarget2", "imagetarget3", "imagetarget4", "imagetarget5", "imagetarget6", "imagetarget7", "imagetarget8", "imagetarget9". ', 'imagetarget10' .

AFRAME.registerComponent('target-video', {
  schema: {
    name: {
      type: 'string'
      XR8.XrController.configure({
        imageTargets: ['imagetarget1', 'imagetarget2', 'imagetarget3', 'imagetarget4', 'imagetarget5', 'imagetarget6', 'imagetarget7', 'imagetarget8', 'imagetarget9', 'imagetarget10']
      })
    },
    video: {
      type: 'string'
    },
  },
  init: function() {
    const object3D = this.el.object3D
    const name = this.data.name
    object3D.visible = false
    const v = document.querySelector(this.data.video)
    const el = this.el

    const showImage = ({
      detail
    }) => {
      if (name != detail.name) {
        return
      }
      v.play()
      object3D.position.copy(detail.position)
      object3D.quaternion.copy(detail.rotation)
      object3D.scale.set(detail.scale, detail.scale, detail.scale)
      object3D.visible = true
    }

    const hideImage = ({
      detail
    }) => {
      if (name != detail.name) {
        return
      }
      v.pause()
      object3D.visible = false
    }

    this.el.sceneEl.addEventListener('xrimagefound', showImage)
    this.el.sceneEl.addEventListener('xrimageupdated', showImage)
    this.el.sceneEl.addEventListener('xrimagelost', hideImage)
  }
})
<!doctype html>
<html>

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  <meta name="apple-mobile-web-app-capable" content="yes">

  <title>8th Wall Alpha Video Example</title>

  <script src="//cdn.8thwall.com/web/aframe/8frame-0.9.0.min.js"></script>
  <script src="https://unpkg.com/aframe-chromakey-material/dist/aframe-chromakey-material.min.js"></script>


  <!-- XR Extras - provides utilities like load screen, almost there, and error handling.
                 See github.com/8thwall/web/xrextras -->
  <script src="//cdn.8thwall.com/web/xrextras/xrextras.js"></script>

  <!-- 8thWall Web - Replace the app key here with your own app key -->
  <script src="//apps.8thwall.com/xrweb?appKey=XXXXXXXXXX"></script>

</head>

<body>

  <a-scene xrweb="disableWorldTracking: true" xrextras-gesture-detector xrextras-almost-there xrextras-loading xrextras-runtime-error>

    <a-assets>
      <video id="alpha-video" autoplay playsinline crossorigin="anonymous" loop="true" src="https://cdn.glitch.com/087c366e-1fe1-4d07-8886-bfaf18fbc321%2Fdino.mp4?v=1588058174702">
              </video>
    </a-assets>

    <a-camera position="0 4 10" raycaster="objects: .cantap" cursor="fuse: false; rayOrigin: mouse;">
    </a-camera>

    <a-light type="directional" intensity="0.5" position="1 1 1"></a-light>

    <a-light type="ambient" intensity="1"></a-light>

    <!-- Note: "name:" must be set to the name of the image target uploaded to the 8th Wall Console -->
    <a-entity target-video="name: imageTargets; video: #alpha-video;" material="shader: chromakey; src: #alpha-video; color: 0.1 0.9 0.2" geometry="primitive: plane; height: 0.6; width: 1.38;">
    </a-entity>

  </a-scene>

  <script>
  </script>

</body>

</html>

Может ли кто-нибудь помочь мне разобраться в этой проблеме. Заранее спасибо

2 ответа

Как уже сказал @Rob, это не сервис написания кода. Но этот может быть вам полезен https://www.8thwall.com/8thwall/image-api-aframe

Пожалуйста, попробуйте, это может помочь вам с несколькими маркерами AR

Другие вопросы по тегам