BA.CanvasTexture needUpdate no help

Oct 07 2020
  • Tôi có thẻ video và anh ấy phát video đơn giản. [làm]
  • Tôi có canvas2d đang phát cùng một video [works]
  • xử lý video opencvjs (canvas là đầu ra, video là đầu vào) - cũng hoạt động
  • Tôi có ba.js với lưới máy bay
          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;

Không có gan. Tôi chỉ có kết cấu màn hình hình ảnh đầu tiên và không ngừng cập nhật.

Trong thời gian chạy tôi đã tìm thấy ->

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

Tình huống lạ bất kỳ đề nghị.

Trả lời

Mugen87 Oct 08 2020 at 08:52

Khi sử dụng video làm nguồn dữ liệu cho kết cấu, ý tưởng là sử dụng lớp THREE.VideoTexture . Loại kết cấu này sẽ tự động quản lý needsUpdatecờ của nó để đảm bảo các khung mới được hiển thị chính xác trên lưới máy bay của bạn.

Việc sử dụng THREE.VideoTextureyêu cầu bạn sử dụng phần tử video làm đối số, không phải canvas.