3

数日前からインターネットを調べていますが、ルービック キューブを回転させるのに十分なほどよく理解できる答えが見つかりません。

ルービック キューブの Blender を使用して独自の 3D モデルを作成し、それを Unity にインポートしました。これを使用して面を回転させます。

しかし、ルービック キューブの回転に関連する数学を理解していないようです。マトリックスを使用する必要がありますか? もしそうなら、それを機能させるにはどうすればいいですか?

レンガを面ごとにグループ化することで片面を回転させることができますが、次の面を回転させると、もう一方の面が完全に混乱してしまいます。

どうもありがとう!

4

1 に答える 1

4

私の考え:26個のブロックのそれぞれを別々GameObjectのオブジェクト(8つのコーナー、12のエッジ、6つの中心)として保持し、各ブロックの原点を立方体の中心にします。これとは別に、たとえば3D配列で、どのブロックが現在キューブのどこにあるかを追跡します。

次に、顔を向ける必要がある場合:

  • どのブロックが顔に属しているかを調べます。
  • Unityの通常の回転機能を使用して、これらの各ブロックを回転軸を中心に(立方体の中央を通って)回転させます。
  • どのブロックがどこにあるかに関する情報を更新します。
于 2013-03-22T14:14:06.367 に答える