4

私はこれを理解しようとして、過去3週間苦労しました。誰かが私を助けてくれたら、とても感謝しています。

画面の中央に移動できる三角形がある Geometry Wars に似たゲームを開発しています。

問題は、三角形を回転させてマウス カーソルの方向に向ける必要があることです。カメラは常に固定位置 (z=500) にあり、シーンを「2D シーン」として扱っているため、z 軸ごとに心配する必要はありません。すべてのアクションは z で発生します。 =0 平面。

三角形とマウスの間の角度の計算は初歩的です。

targetAngle = Math.atan2(mouseCoord.y-this.position.y, mouseCoord.x-this.position.x)

これはメッシュです。

問題は、三角形の位置が Three.js 形式であるのに対し、mouseCoords がスタンディング Dom ウィンドウ形式であることです。

Q) マウスの座標を変換して、三角形がある z=0 平面上の座標を表すにはどうすればよいですか?

光線交差を含む非常に多くの方法を試しましたが、何も機能しません;(

ご協力いただきありがとうございます。素晴らしいフレームワークをありがとうございました!!!!

4

2 に答える 2

0

私は実際に問題を見ていません。Z 座標が 0 の THREE.vector3 を使用します。次に、triangle.rotate(THREE.vector3(targetAngle,0,0)) などを使用します。

于 2015-09-14T22:02:26.607 に答える
-5

DOM 内のキャンバスによる CSS オフセットが原因で、交差点が機能していないと思われます。

特定のものを見るために三角形が必要な場合は、単に三角形の「lookAt」メソッドを使用できるはずです。

たとえば、カメラを見るようにするには、次のようにします。

于 2013-12-11T18:29:16.013 に答える