2017-01-11 11 views
0

あらかじめ助けてくれてありがとう。Three.js - オブジェクトからカメラに光線を送る

Three.js Raycasterクラスを使用すると、カメラからオブジェクトに光線を送信できます。私は逆の操作をしたい。私たちが投影画面を表す飛行機をシーン内に持っているとします。また、投影するオブジェクト(メッシュ)もあります。私は画面上に頂点を投影する場所を見つけようとしています。

実際に頂点の場合、頂点からカメラまでのレイを投影すると、スクリーン平面との交点を見つける必要があります。すべてが3Dでここにあることに注意してください。だから、私のスクリーン(カメラ)平面も3D座標です。

この問題を解決するためのアドバイスはありますか?

答えて

0

あなたが探しているのは、スクリーンの位置にオブジェクト3dを投影したものだと思います。 それは、ここに答えた:

answer

を、あなたはX、Yスクリーン座標でvector2dています。

実際の3D平面上にポイントが必要な場合は、カメラからの光線をスクリーン上のその位置に合わせ、その平面だけを光線の交差点に追加してから、カメラの前に配置します交点:

rayCaster.setFromCamera(vector2d, camera); 
    var aIntersects = rayCaster.intersectObject(planeInFrontOfCamera); 
    if (aIntersects.length > 0) { 
     var positionOnPlane = aIntersects[0].point. 
    } 
関連する問題