THREE.CanvasTextureneedsUpdateは役に立ちません
Oct 07 2020
- 私はビデオタグを持っていて、彼は簡単なビデオを再生します。【作品】
- 同じ動画を再生してcanvas2dを持っています[作品]
- opencvjsビデオ処理(キャンバスが出力され、ビデオが入力されます)-も機能します
- 平面メッシュのthree.jsがあります
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;
heplsはありません。最初の画像画面のテクスチャを取得した後、更新を停止しました。
実行時に私が見つけた->
this.scene.children[2].material.map.needsUpdate: undefined
奇妙な状況の提案。
回答
Mugen87 Oct 08 2020 at 08:52
テクスチャのデータソースとしてビデオを使用する場合、THREE.VideoTextureクラスを使用することをお勧めします。このタイプのテクスチャはneedsUpdate、新しいフレームが平面メッシュに正しく表示されるように、フラグを自動的に管理します。
を使用THREE.VideoTextureするには、キャンバスではなく、ビデオ要素を引数として使用する必要があります。