Blenderでジグソーパズル風のパズル
Blender3.1で、ジグソーパズル風のパズルを遊べるアドオンをPythonで作成したので紹介します。
やり方
-
Blender Add-on: Jigsawの画面にしたがってインストールしてください。
- アドオンのチェックでは「テスト中」を選んでください。
- サイドバーの編集タブの「Puzzle」を開いてください。
- 横と縦の分割数を
num_x
、num_y
に設定してください。 - パズルを作成するには、「Make Puzzle」を押してください。
- 画像の選択画面が出るので、画像を選んでください。
- 下図のように、選んだ画像を分割したブロックと枠が作成されます。
- パズルを遊ぶには「Start」を押してください。ブロックがバラバラになります。
- ブロックを枠内に収めると、枠が黄色になって終了です。
- 途中でやめるときは、「Finish」を押してください。「Finish」を押すと、完成したかどうかの判定を行いません。
しくみ
ブロックのUVを適切に作成するのは、手間がかかります。
そこで、1つのグリッドに画像のマテリアルを設定し、そのグリッドを辺分離モディファイアーでバラバラにします。
さらに、ブロックにするために、編集モードで押し出しをします。これをオブジェクトとしてバラバラにするために、構造的に分離したパーツで分離します。
このままだと、ブロックの原点で正解位置がばれるので原点をジオメトリに変えます。
「Start」を押すと、開始位置を覚えて、バラバラにし、タイマーで定期的に位置をチェックし、位置が正しければ終了します。
Pythonのコード
以上