2
まず、テクスチャは正常に動作し、ビデオは期待どおりに再生されますが、VRがVRDisplay.requestPresent
で入力されると停止します。なぜこれが問題なのですか?VideoTextureがVRで再生されていません
まず、テクスチャは正常に動作し、ビデオは期待どおりに再生されますが、VRがVRDisplay.requestPresent
で入力されると停止します。なぜこれが問題なのですか?VideoTextureがVRで再生されていません
VRディスプレイには独自のレンダーループがあります。通常needsUpdate
は、すべてのアニメーションフレームでtrue
に自動的に設定されます。three.jsですが、これはデフォルトの表示の場合にのみ該当します。
これを修正するには、vrdisplayconnect
イベントからVRディスプレイを取得し、独自のアップデートループを作成します。例えば。
let display = e.display;
let displayUpdateLoop =() =>
{
// May get a warning if getFrameData is not called.
let frameData = new VRFrameData();
display.getFrameData(frameData);
videoTexture.needsUpdate = true;
// Stop loop if no longer presenting.
if (display.isPresenting)
display.requestAnimationFrame(displayUpdateLoop);
}
display.requestAnimationFrame(displayUpdateLoop);