2

私はthree.jsにまったく慣れておらず、明らかに座標系の基本的な理解が不足しています。

いくつかの子 (平面) を持つ Object3D "グループ" があります。「グループ」を使用して、平面のグループを回転させます。これは正常に機能します。カメラが移動できるようになり、親オブジェクトが回転できるようになりました。平面をクリックして選択できます。私が今欲しいのは、選択した平面をカメラに飛ばすことです。

飛行機をカメラの位置に移動すると、飛行機はどの方向にも飛行しますが、ほとんどの場合、カメラに向かって飛行しません。確かに、「グループ」は子オブジェクトの「世界」のようです。Z 軸に沿って平面を移動すると、平面は親の Z 軸に沿って移動します。

カメラの前で「グループ」にバインドされた平面を移動するために、どの座標を取得 (または変換) する必要があるかわかりません。

基本的に、私は famo.us が行ったことを three.js でデモしました。2 時間程度を費やしただけです。グループ化されておらず、変換せずにカメラに移動できる追加の平面で、必要な効果を偽装しました。デモはこちらから入手できます:

http://hwg.rattat.net/famo.html

誰かがこれを機能させる方法を教えてくれたらうれしいです。追加の平面を選択した平面の真上に配置できる場合、私はまだ偽物を受け入れることができました.

前もって感謝します、クリスチャン

4

1 に答える 1

4

ローカル座標をワールド座標に変換する問題は、THREE.js: Calculate world space position of a point on an object で対処されています。how to: get the global/world position of a child object にも役立つ情報があるかもしれません。

于 2013-06-20T15:47:54.420 に答える