見出し画像

VR開発の棚卸し(麻雀牌を使ったゲーム編1)

麻雀牌を使ったゲームの開発を進めています。いくつかのパートに分けて説明します。


1. 位置決め

まずは位置決めです。東南西北の牌を並べ替えた後、1つだけを掴ませるというシーンです。これは比較的シンプルで、問題なく実装できました。

2. 洗牌(シーパイ)

次に取り組んだのは洗牌です。牌をランダムにかき混ぜるために、各牌に少しずつAddForceを適用することで実現しました。

牌山を作成する際には多数の配列操作と位置・方向調整が必要でした。一度にすべてを作成するのは難しいため、以下のようなステップに分けて実装しました。

  • 全ての牌をランダムに選んで一列に並べる

  • 列ごとに二段に積んで牌を配置する

  • 17列ごとに東南西北の位置に配置する

  • 各牌の方向を東南西北に向ける

段階的に進めることで、無事に牌山を作成できました。

3. サイコロ振り


次はサイコロ振りです。通常はサイコロを一度に2つ振りますが、標準のツールキットでは一度に掴めるオブジェクトは1つだけです。

ツールキットを改造して複数のオブジェクトを同時に掴めるようにする方法も検討しましたが、複雑になる上、ツールキットのバージョンアップに対応する手間を考慮して、他の方法を模索しました。

最終的には、次のような方法で解決しました。テーブル上にサイコロ2つを載せるように見せかけ、実際にはサイコロ2つを結合した1つのオブジェクトを作成しました。プレイヤーがサイコロを握る際は1つのオブジェクトとして扱い、サイコロを振る(手放す)際に、このオブジェクトを消去して2つのサイコロを生成する仕組みです。

最後に

このプロジェクトは継続中です。進展があれば追加していきます。

いいなと思ったら応援しよう!