7

OBJLoader を使用してモデルをロードしました。obj ファイルをロードするためのコードは次のとおりです。

        var loader = new THREE.OBJLoader();
        loader.load('obj/teeth/teeth4_5.obj', function(object) {
            model = object;
            scene.add( model );
            objects.push( model );
        });

そして、レイキャスターを使用して交差点を見つけようとしています。canvas_interactive_cubes の例 ( http://mrdoob.github.io/three.js/examples/canvas_interactive_cubes.html ) のコードを three.js に実装しました。交点を見つけるコードは次のとおりです。

    function onDocumentMouseDown( event ){
        event.preventDefault();
        var mouseX = (event.clientX / window.innerWidth)*2-1;
        var mouseY = -(event.clientY /window.innerHeight)*2+1;
        var vector = new THREE.Vector3( mouseX, mouseY, 0.5 );
        projector.unprojectVector( vector, camera );
        var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
        var intersects = raycaster.intersectObjects( scene.children );
        console.log( intersects[0].point);
    }

残念ながら、交差点の x、y、z 座標を取得できません。どこをクリックしても、常に「TypeError: intersects[0] is undefined」と表示されました。

ここで数日間立ち往生しています。読み込まれた obj ファイルの交差点を取得する方法を教えてもらえますか? 私はあなたの助けに感謝します。

4

1 に答える 1