TROIS.CanvasTexture needsUpdate no help

Oct 07 2020
  • J'ai une balise vidéo et il joue une vidéo simple. [travaux]
  • J'ai canvas2d avec la lecture de la même vidéo [fonctionne]
  • traitement vidéo opencvjs (la toile est sortie, la vidéo est entrée) - fonctionne également
  • J'ai trois.js avec un maillage plan
          texture = new THREE.CanvasTexture(this.$refs.testcanvas)
          texture.needsUpdate = true;
          materialLocal = new THREE.MeshBasicMaterial({ map: texture })
          materialLocal.needsUpdate = true;
          materialLocal.map.needsUpdate = true;
          this.mainVideoMesh.material = materialLocal
          this.mainVideoMesh.material.needsUpdate = true;

Pas de hepls. J'ai juste la première texture d'écran d'image et que cesse la mise à jour.

Dans l'exécution, j'ai trouvé ->

  this.scene.children[2].material.map.needsUpdate: undefined

Situation étrange toute suggestion.

Réponses

Mugen87 Oct 08 2020 at 08:52

Lorsque vous utilisez une vidéo comme source de données pour une texture, l'idée est d'utiliser la classe THREE.VideoTexture . Ce type de texture gérera automatiquement son needsUpdatedrapeau afin de s'assurer que les nouveaux cadres sont correctement affichés sur votre maillage plan.

L'utilisation THREE.VideoTexturenécessite que vous utilisiez l'élément vidéo comme argument, pas le canevas.