2017-11-16 17 views

答えて

1

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); 
関連する問題