4

three.js を使用して webgl でルービック キューブ ゲームを作成しようとしています (ここで試すことができます)。そして、キューブの回転に応じてキューブを回転させる必要がある魔女の軸を検出するのに問題があります。たとえば、立方体が元の位置/回転にある場合、左のレイヤーを下から上に回転させたい場合は、Y 軸で回転させる必要があります。ただし、立方体を Y 軸で 90 度回転させます。左のレイヤーを下から上に回転させるには、Z 軸で回転させる必要があります。

立方体の向きに応じて正しい回転軸を取得する方法を見つけようとしています。今のところ、フロントレイヤーを下から上に移動したい場合、立方体の回転行列の軸の魔女ベクトルがベクトル(0,1,0)と最も平行であることを確認します。ただし、たとえば次のようなエッジケースでは機能しません。

立方体の向き

それを行う簡単な方法があると思いますが、私は行列や数学的なことには十分ではありません:)

4

2 に答える 2

0

AxisHelper方向を決定できるシーンの座標を表示できます。

var axishelper = new THREE.AxisHelper(40);
axishelper.position.y = 300;
scene.add(axishelper);

また、 Chrome 開発者ツールまたは Firebug をlog使用して、キューブとプロパティを確認するpositionこともできます。rotation

于 2013-11-09T23:52:57.473 に答える