6

three.jsで、カメラから見た現在のシーンをイメージしたテクスチャを作成しようとしています。CubeCameraを使用して同様の効果を作成することは、十分に文書化されています。CubeCameraを使用して、次の目標を説明するシーンの例を作成しました。

http://stemkoski.github.com/Three.js/Camera-Texture-Almost.html

ただし、テクスチャとして(CubeCameraではなく)通常のカメラを使用したいと思います。どうすればこれを行うことができますか?

4

2 に答える 2

6

理想的には、これでうまくいくでしょう。

初期化:

renderTarget = new THREE.WebGLRenderTarget( 512, 512, { format: THREE.RGBFormat } );

var planelikeGeometry = new THREE.CubeGeometry( 400, 200, 200 );
var plane = new THREE.Mesh( planelikeGeometry, new THREE.MeshBasicMaterial( { map: renderTarget } ) );
plane.position.set(0,100,-500);
scene.add(plane);

与える:

renderer.render( scene, topCamera, renderTarget, true );
renderer.render( scene, topCamera );

そして、ほとんどそうですが、ここでのパーティーを台無しにする y 反転テクスチャを使用した未完成のビジネスがあります。

したがって、現時点での最善の解決策は、中間クワッドを使用してテクスチャを反転することです (レンダリングも保存します)。

http://mrdoob.github.com/three.js/examples/webgl_rtt.html

于 2012-07-04T16:13:55.857 に答える
4

mrdoobの例と提案に基づいて、非常に詳細なコメントを含む実用的な例を作成しました。

http://stemkoski.github.com/Three.js/Camera-Texture.html

チュートリアルスタイルのThree.jsシリーズの例の私のシリーズの一部

http://stemkoski.github.com/Three.js/

于 2012-07-05T20:44:47.933 に答える