0

レンダラーの preserveDrawingBuffer:true を設定した Three.js シーンがあります。これは、renderer.toDataURL を使用してキャンバス上にあるもののスナップショットを取得したいためです。2 つのシーンを使用しているため、renderer.autoClear = false も使用します。それぞれに 1 つのカメラ (もちろん 1 つのレンダラー) を使用します。

問題は、orbitControls を使用してカメラを移動すると、オブジェクトが本来のようにアニメーション化されず、以前の状態がキャンバスに残り、preserveDrawingBuffer:true 設定のために醜い絵を作成していることです (それらは消去されません)。

スナップショット機能、2 つのシーン/カメラ、および軌道制御の両方を使用するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

8

WebGLRenderer次のように描画バッファをインスタンス化して保持している場合:

var renderer = new THREE.WebGLRenderer( { preserveDrawingBuffer: true } );

そして、あなたが設定している場合

renderer.autoClear = false;

renderer.clear()次のようにレンダリングする前に呼び出す必要があります。

renderer.clear();
renderer.render( scene, camera );

three.js r.69

于 2014-12-04T00:27:32.793 に答える