1

この例に従って、three.js を使用して .obj モデルをロードしました。ロードするモデルが複数必要だったので、これを試しました

loader.addEventListener( 'load', function ( event ) {

var object = event.content;

object.position.y = - 80;
scene.add( object );

});
loader.load( 'obj/model1.obj' );
loader.load( 'obj/model2.obj' );

最初:検索したので、これが正しいアプローチであるかどうかはわかりませんが、複数の .obj モデルをロードするチュートリアルが見つかりませんでした。

2 番目: 画面上のさまざまなモデルをクリックできるようにしたい。私はこれを試しましたが、私にはうまくいかないようです。これに関する提案はありますか?

4

2 に答える 2

3

この例は、複数のモデルをロードするためのパターンを示しています。

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

クリックされたオブジェクトの検出に関して、モデルによっては、recursiveフラグをtrue次のように設定する必要がある場合があります。

ray.intersectObjects( objects, true );
于 2012-11-14T16:58:35.947 に答える
1

Well, since you haven't provide enough code to fully explain you question I will guess that for the second part you have to make sure you put the objects in an array of objects such as:

var objects = [];

after initializing the objects you do:

objects.push( object );

now you have an array where you can check for objects intersected after implementing the THREE.Ray.

于 2012-11-14T16:24:21.000 に答える